Introduction¶
The Cantabular metadata service, cantabular-metadata
allows
metadata for one or more datasets in a companion cantabular-server
service to be loaded and made available to query by cantabular-ui
and other software accessing its API directly.
cantabular-metadata
uses GraphQL for its API, which allows
cantabular-ui
and any other API consumers to request only the
fields of metadata that are needed for their purpose.
The schema of the metadata loaded into the service can be customised at runtime by supplying a GraphQL schema file along with the metadata content, allowing for a wide variety of metadata to be loaded. In this release, we have limited metadata scalar values to be strings only.
The software allows metadata to be attached to a service (which serves a collection of datasets), to the datasets within it (from which tables can be built using queries) and to the variables which exist in each dataset.
Metadata can be loaded in multiple languages by specifying a language parameter on input metadata JSON. This allows other software that makes use of the metadata service to be supplied with localised reference metadata, where relevant, for all metadata types.
The API uses the HTTP(S) protocol. Requests can use either the GET or POST methods. Responses to valid queries are provided as JSON (RFC 7159). Responses to queries containing invalid parameter values are provided as JSON-encoded error objects.