5 UK - Linked Data Registries

Figure 3 - UK Location Registry

 

5.1 URL (Access)

UK Location Registry:          http://location.data.gov.uk/registry/         (pilot)

UK Environment Registry:    http://environment.data.gov.uk/registry/   (pilot)

 

5.2 Short description

The UK Environment Registry and UK Location Registry are a pilot service providing management and public access to codes and code lists used for UK INSPIRE implementation.

The services are based on the UKGovLD (UK Government Linked Data Working Group) proof-of-concept design for a Linked Data registry.

 

5.3 Registry content

The UK Location Registry provides management and public access to codes and code lists used for UK INSPIRE implementation.

The INSPIRE infrastructure involves a number of items, which require clear descriptions referenced through unique identifiers (http URIs). There are centrally provided INSPIRE registry access point but there may also be UK specific code lists, items and descriptions that are extensions of or sub-sets of the INSPIRE registers.

The UK Environment Registry provides management and public access to codes and code lists used by the Defra family of organizations.

 

5.4 Information model

Figure 4 - Information model - UK Government Linked Data Registry - Source: GovLD Wiki - Dokumentation

 

The register is a single controlled collection (list) of entries. It is represented by the class reg:Register in the information model and consists mainly of management metadata such as owner, manager and the list of register items. A register can itself be registered as a subregister of another register (e.g. a principal register) to allow the creation of a hierarchy of registers.

The thing that gets registered is described by the term entity. To be completely open to enter any type of thing in a register there is no explicit reg:Entity class. Instead an entity can be anything which can be given a URI such as codes, ontology concepts, complete ontologies, coordinate reference systems, units of measure, spatial objects, organizations, licenses etc.

The register item (represented by reg:RegisterItem) describes the entry in the context of the specific register where it is contained. The context is how the entity is regarded by the register’s authority. The register item refers to the entity and contains all relevant metadata to describe the entry, e.g. status of the entry, the category of the entity in a classification scheme etc.

The same entity might be entered in several registers and have a different status and classification in each depending on the individual context of its containing register.

 

5.5 Applied standards, format – presentations

  • Linked Data Platform 1.0, version ‘W3C Working Draft 25 October 2012’
  • RDF ttl          (plain  & with metadata)
  • RDF/XML       (plain  & with metadata)
  • JSON-LD        (plain  & with metadata)
  • CSV              TBD

 

5.6 Referenced and managed entities

Entities are further distinguished between

  • managed entity whose authoritative definitions are maintained by a repository functionality of the registry and
  • referenced entity whose master definitions are held elsewhere. When registering such an entity the submitter needs to provide the minimal description of a label (rdfs:label) and a type (rdf:type).

Where a referenced entity is managed externally to the registry, the local storage of statements about the registered entity facilitates the indexing of locally stored information to improve search performance and ensures that information about the registered entity is available even if the remote system is (temporarily) unavailable.

 

5.7 Status codes

A registered item has an associated status within the register. This status is not an intrinsic attribute of the entity itself but rather a statement of how the entity is regarded by the register’s authority (its owner).

The status codes are arranged in a hierarchy as shown in Figure 5 and are represented as SKOS concepts in a reg:StatusScheme using skos:broader relations to represent the hierarchy.

Figure 5 - UKGovLD status hierarchy - Source: GovLD Wiki - Dokumentation

 

The item status transitions are shown in the state diagram at Figure 6.

Figure 6 - UKGovLD state diagram - Source: GovLD Wiki - Dokumentation

 

5.8 Life cycle, history and versioning

Figure 7 - UK GovLD Registry Versioning - Source: GovLD Wiki - Dokumentation

 

Register and Item do inherit version:VersionedThing and are so subject of versioning. The concept is shown in Figure 7.  It adopts a “hub/spoke” model, where the version:VersionedThing represents the “hub” and each specific version:Version represents a “spoke”. It is possible to trace the history of any entity, even an external one, by walking the trail of dct:replaces links to find the desired version of the register item.

 

5.9 URI (identifier) patterns

Registers and managed entities are assigned URIs within the DNS domain of the registry service. Figure 8 shows the URI patterns where registry represents the base URI (e.g. http://location.data.gov.uk ).

Figure 8 - UKGovLD Registry URI Pattern - Source: GovLD Wiki - Dokumentation

 

These resources are all linked data resources, they respond to a GET request with an appropriate RDF description.

 

5.10 API and connection points

 

5.10.1 API - Access

All register resources also fulfil the contract for Linked Data Platform (LDP) Collections (as defined by the first pass working draft http://www.w3.org/TR/2012/WD-ldp-20121025/) to support listing, paging and adding of register entries.

 

5.10.2 API - Search and discovery

Registers support free text search over the labels for entities in the register or in any nested sub-registers. The API supports filtering on other properties of the metadata:

GET    http://registry/{register}?query={text}[&{key}={value}]

returns an RDF graph formatted as a LDP page of results with one entry for each matching entity

GET    http://registry/{register}?query={text}&_view=with_metadata[&{key}

As above but the graph includes the reg:RegisterItem for each matched entity, to determine which sub-register each result appears in.

 

5.10.3 API - SPARQL endpoints

SPARQL endpoints are supported to query registries via the SPARQL language.

A user interface is provided to submit SPARQL requests:

UK Environment Registry:    http://environment.data.gov.uk/registry/ui/sparql-form

UK Location Registry: http://location.data.gov.uk/registry/ui/sparql-form

 

5.10.4 Connection points

The registry supports several possibilities for connections:

Namespace forwarding:

If an entity of type reg:NamespaceForward is registered it does indicate a delegation URI to forward to. Requests within this namespace will be forwarded to the target. As there is no restriction on the behaviour of the delegation target, it does no necessary support the registry API.

Registry federation:

If an entity of type reg:FederatedRegister is registered it does indicate a delegation URI to forward to. Requests within this namespace will be forwarded to the target. This acts precisely the same as namespace forwarding, but in addition it is required that the delegation target is required to support the full registry API.

Register delegation:

External registers can be connected by registering an entity of type reg:DelegatedRegister with a SPARQL endpoint of the service which will supply the item and membership information. Requests to this register will be served by retrieving the information from that SPARQL endpoint and returning the resulting RDF to the requestor. As this acts merely as a container of registered entities, it does not support the full register API.