2. UKGovLD Registry
Motivation
Coordinated publication
of reference information
as Linked Data
We want people to use URIs to identify things
– organizations
– spatial objects
– codes and code lists
– ontologies, thesauri and concepts
– licenses
– ...
3. UKGovLD Registry
but it’s not trivial ...
Each organization use its own namespace?
– need infrastructure and expertise to serve the data
– fragmented namespace
– where do consumers get the complete authoritative list?
Shared namespace?
– how to allocate new identifiers in that shared space?
– how to collaboratively maintain identifiers and lists?
– how to scale?
Either way:
– how to manage the life-cycle of introducing and
deprecating terms?
4. UKGovLD Registry
Linked Data Registry
Tooling to enable organizations to create and
manage authoritative lists of identifiers
as resolvable URIs
• open specification
• open source implementation
• not necessarily a single central instance
5. UKGovLD Registry
What’s it do?
1. Manage lists of identifiers
– lists of things (entities) identified by URIs
described using RDF
2. Repository
– optionally store entity descriptions
– easy to create a new, resolvable URI
3. Namespace management
– delegate parts of namespace for others to run
8. UKGovLD Registry
Information model
http://register.base/def/colours
submitter,
status,
modified, ...
http://register.base/def/colours/_red
http://register.base/def
• RegisterItem points to the entity URI
• can be local (managed) or external
• registry stores an RDF description in both cases
label “red”
notation “#FF0000”
http://register.base/def/colours/red
or maybe
http://colours.r.us/scheme/red
9. UKGovLD Registry
Information model
• metadata important
• but complicates things
• then there’s versioning
reg:Register entity
reg:register
reg:definition
reg:entity
reg:RegisterItem reg:EntityReferencereg:RegisterItem reg:EntityReference
10. UKGovLD Registry
Information model
• default linked data view of Register is simplified
• configurable
– alternative membership property or inverse property
– make a register look like a skos:Collection, skos:ConceptScheme etc
– also acts as a LDP container
• but can request full view (?_view=withMetadata)
reg:Register entity
reg:register
reg:definition
reg:entity
reg:RegisterItem reg:EntityReferencereg:RegisterItem reg:EntityReference
induced membership
relation default is
rdfs:member
container view
full view
11. UKGovLD Registry
Item status
• controls visibility
– not accepted => doesn’t appear (register view, validation)
• guidance to consumers
– experimental/stable => no effect on behaviour
• workflow is external
– how/whether to approve submissions up to the register
manager
12. UKGovLD Registry
Versioning and history
• changes to an item generates new version
– metadata record is versioned _red:1 _red:2 ....
– separate copy of entity (separate named graph)
• Register is versioned if items added
– or their status is changed
• API supports
– list versions
– version at point in time (including for Register)
– get version
13. UKGovLD Registry
Other features
• API
– REST(ish) API for all operations
• User interface
– template-driven example UI
• Security
– allows for delegation
• Search
– built in text search over registered entities
• Delegation
– supports proxy/forwarding of parts of namespace
• Dataset registration
– ....
14. UKGovLD Registry Dataset registration - experimental
• would like to know how identifiers are being
used and how they connect data sets
• support registration of RDF data sets
– currently register VoID descriptions with link sets
– URIset (e.g. a register) one type of VoID data set
– analysis tools for generating VoID descriptions
possible future direction
• Example visual browsing
16. UKGovLD Registry
Summary
• Tooling for collaborative management of sets
of Linked Data identifiers
• Very general
– register anything
– get collections, search, history, security
• Proof of concept implementation
• Next steps pilot on concrete use cases
17. UKGovLD Registry
Links
• Design notes and API details
https://github.com/der/ukl-registry-poc/wiki
• Proof of concept deployment
http://ukgovld-registry.dnsalias.net/
No service guarantees
22. UKGovLD Registry Federation, delegation and namespaces
Case 1: External entities
– identifier published in different namespace
– want to include it in authoritative list
Solution:
– just register as a referenced entity
– already seen this
– authoritative because it’s on the list
– can record properties of the entity, and maintain
history
– no namespace management involved
24. UKGovLD Registry
Case 2: Namespace allocation
– want someone else to serve part of the registry
namespace
– might be a single item or a complete register sub tree
– e.g. allocating namespace in location.data.gov.uk for
serving INSPIRE spatial object identifiers
Solution:
– reg:NamespaceForward
– can be a redirect (30X) or proxy (200)
– no constraints on whether target acts like a Registry
– target ought to serve linked data with URIs in the right
namespace, but not required
Federation, delegation and namespaces
26. UKGovLD Registry Federation, delegation and namespaces
Case 3: Federated register
– want someone else to run part of the registry
infrastructure but act like one big registry
– integrated search, validation etc
Solution:
– reg:FederatedRegister
– can be a redirect (30X) or proxy (200)
– target endpoint must comply with Registry API at
least for search, validation and entity lookup
28. UKGovLD Registry Federation, delegation and namespaces
Case 4: Delegating a register
– some one else to serve the list of contents of the
register
– but they only have triple store, not full registry
implementation
Solution:
– solution eg:DelegatedRegister
– specify SPARQL endpoint and triple
pattern to enumerate members
reg:DelegatedRegister
reg:delegationTarget [1]
reg:enumerationSubject [0..1]
reg:enumerationPredicate [0..1]
reg:enumerationObject [0..1]