Figure 3 - UK Location Registry
UK Location Registry: http://location.data.gov.uk/registry/ (pilot)
UK Environment Registry: http://environment.data.gov.uk/registry/ (pilot)
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.
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.
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.
- 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
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 (
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.
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
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
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.
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.
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.
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:
returns an RDF graph formatted as a LDP page of results with one entry for each matching entity
As above but the graph includes the reg:RegisterItem for each matched entity, to determine which sub-register each result appears in.
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
The registry supports several possibilities for connections:
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.
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.
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.