Glossary

Term Definition
Asking a question Asking a question is sending data (input values and/or an input manifest) to a service for processing/analysis.
Child A child is a service that can be asked a question. This name reflects the tree structure of services (specifically, a directed acyclic graph, or DAG) formed by the service asking the question (the parent), the child it asks the question to, any children that the child asks questions to as part of forming its answer, and so on.
Datafile A datafile is a single local or cloud file and its metadata.
Dataset A dataset is a set of related datafiles that exist in the same location and some metadata.
Locality Locality is the type of location of a datafile or dataset. Possible types are: cloud-based (it exists only in the cloud); local (it exists only on your local filesystem); and hybrid (it's cloud-based but has been downloaded for low-latency reading/writing)
Manifest A manifest is a set of related cloud and/or local datasets and some metadata. Typically produced by or needed for processing by a Twined service.
Parent A parent is a service that asks a question to another service (a child).
Receiving an answer Receiving data (output values and/or an output manifest) from a service you asked a question to.
Service A service (also known as a Twined service) is a data service or digital twin built with the Twined framework that can be asked questions (input data), process them, and return answers (output data). Twined services can communicate with each other with minimal extra setup.
Service ID A service ID can be an SRUID or just the service namespace and name. It can be used to ask a question to a service without specifying a specific revision of it. This enables asking questions to, for example, the service octue/my-service and automatically having them routed to its default (usually latest) revision. An SRUID is a special case of a service ID.
Service name A name to uniquely identify the service within its namespace. This usually corresponds to the name of the GitHub repository for the service. Names must be lower kebab case (i.e. they may contain the letters [a-z], numbers [0-9] and hyphens [-]). They may not begin or end with hyphens.
Service namespace A service namespace is the group to which the service belongs e.g. your name or your organisation's name. If in doubt, use the GitHub handle of the user or organisation publishing the services. Namespaces must be lower kebab case (i.e. they may contain the letters [a-z], numbers [0-9], and hyphens [-]). They may not begin or end with hyphens.
Service revision A service revision is a specific instance of a service that can be individually addressed. The revision could correspond to a version of the service, a dynamic development branch for it, or a deliberate duplication or variation of it.
Service revision tag A service revision tag is a short string of text that uniquely identifies a particular revision of a service. The revision tag could be a commit hash (e.g. a3eb45), a semantic version (e.g. 0.12.4), a branch name (e.g. development), a particular environment the service is deployed in (e.g. production), or a combination of these (e.g. 0.12.4-production). Tags may contain lowercase and uppercase letters, numbers, underscores, periods, and hyphens, but can't start with a period or a dash. They can contain a maximum of 128 characters. These requirements are the same as the Docker tag format.
Service revision unique identifier (SRUID) An SRUID is the combination of a service revision's namespace, name, and revision tag that uniquely identifies it. For example, octue/my-service:1.3.0 where the namespace is octue, the name is my-service, and the revision tag is 1.3.0.
Twined ecosystem The Twined ecosystem is the set of services running Twined as their backend. These services guarantee: defined input/output JSON schemas and validation; an easy and consistent interface for asking them questions and receiving their answers; logs, exceptions, and monitor messages forwarded to you; and high availability (if deployed in the cloud)