Your SlideShare is downloading. ×
0
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Ukgovld registry-webinar-v3
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Ukgovld registry-webinar-v3

350

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
350
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. UKGovLD RegistryA register. Image by http://www.flickr.com/photos/tekniskamuseet/
  • 2. UKGovLD RegistryOutline• Background and motivation• Details– information model– core functionality– advanced topics– status• Applying it• Discussion and next steps
  • 3. UKGovLD RegistryMotivationSupport coordinated publication of referenceinformation as Linked DataWe want people to use URIs to identify things– codes and code lists– ontologies, thesauri and concepts– units of measure– organizations– spatial objects– licenses– coordinate reference systems– ...
  • 4. UKGovLD Registrybut 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 anddeprecating terms?
  • 5. UKGovLD RegistryLinked Data RegistryInfrastructure to enable organizations to createand manage identifiers and authoritative lists– allocation and registration of approved codes,vocabularies and reference URIs– management of shared namespaces, includingclash-free allocation and delegation– registration of published datasets supportingdiscovery and cross-reference
  • 6. UKGovLD RegistryThree functions• identifier & list management– create, update, reserve, lifecycle, versioning ...• repository– managed identifiers (information served from registry) as wellas referenced identifiers• namespace management– delegate a list or part of namespace to others– federate to other repositories=> very general platform– can register anything you can give a URI and RDF description– use only the aspects you need for a given situation– “registry does X” does not mean it answers every X-shaped needyou might have
  • 7. UKGovLD RegistryConceptual architecturerouterrendererrequestprocessorusercredentialsroles andbindingsauthregistrycorelogicRegistryRDF storetext indexstyle andtemplatesexternalUIadminUIlogaudittrailstoreAPInginxproxyconfAPI
  • 8. UKGovLD RegistryRunning examples• Code list of colours– simple, neutral• UK Local authorities– centrally created identifiers v. local creation?– local control and maintenance?– offloading management
  • 9. UKGovLD RegistryOutline• Background and motivation• Details– information model– core functionality– advanced topics– status• Applying it• Discussion and next steps
  • 10. UKGovLD RegistryInformation model• hierarchy of Registers• things in registers are Register Items – metadata• thing described by a RegisterItem called an entity//reg1 /def /system/def/colours /def/weather-types/def/colours/_red /def/colours/_green(describes /def/colours/red) (describes /def/colours/green)Naming convention:metadata item has “_”
  • 11. UKGovLD RegistryInformation modelcomplicated by:– item v. entity– versioningreg:Register entityreg:registerreg:definitionreg:entityreg:RegisterItem reg:EntityReferencereg:RegisterItem reg:EntityReference
  • 12. UKGovLD RegistryInformation model• default linked data view of Register is simplified• configurable– alternative membership property or inverse property– so can make a register look like a skos:Collection,skos:ConceptScheme, owl:Ontology ...– also acts as a LDP container• but can request full view (?_view=withMetadata)reg:Register entityreg:registerreg:definitionreg:entityreg:RegisterItem reg:EntityReferencereg:RegisterItem reg:EntityReferenceinduced membershiprelation default isrdfs:membercontainer viewfull view
  • 13. UKGovLD RegistryFull information model• Derives from ISO 19135Geographic information - procedures for item registration• Also considered OASIS ebRIM– not so suited to flexible RDF model– RegRep API did provide API checklist• Container model compatible with Linked DataPlatform (1st draft!)• Versioning model based on approached usedin Environment Agency linked data
  • 14. UKGovLD Registryreg:Registerrdfs:label [1..*]dct:description [1..*]reg:owner [1] (foaf:Agent)reg:manager [1] (foaf:Agent)dct:license [0..*]reg:containedItemClass [0..*]reg:operatingLanguage [0..*]reg:governancePolicy [0..*] (rdfs:Resource)reg:validationQuery [0..*]dct:modified [0..1] (inferred)void:uriLookupEndpoint [0..*]void:uriSpace [0..1]void:exampleResource [0..*]void:openSearchDescription [0..*]reg:subregisterreg:RegisterItemrdfs:label [1..*]dct:description [0..*]dct:dateSubmitted [1] (automatic)dct:dateAccepted [0..1]dct:modified [0..1] (inferred)reg:itemClass [1..*]reg:submitter [1] (foaf:Agent)dct:license [0..*]reg:status [1..*]reg:category [0..*] (skos:Concept)reg:notation [0..1]reg:alias [0..*]reg:hasView [0..*]reg:representationOf [0..*]reg:registerreg:predecessorversion:Versionowl:versionInfo [1]time:Intevalversion:intervaldct:replacesdct:replacedByversion:VersionedThingversion:currentVersionreg:Statusreg:statusNotAcceptedreg:statusSubmittedreg:statusInvalidreg:statusAcceptedreg:statusValidreg:statusExperimentalreg:statusStablereg:statusDeprecatedreg:statusSupersededreg:statusRetireddct:isVersionOfreg:statusreg:EntityReferencereg:entity [1]reg:sourceGraph [0..1]reg:definitionVoid:Datasetldp:Containerldp:membershipPredicatereg:inverseMembershipPredicateFull information model
  • 15. UKGovLD RegistryStatus lifecycle
  • 16. UKGovLD RegistryStatus lifecycle• controls visibility– not accepted => doesn’t appear (register view, validation)• guidance to consumers– experimental/stable => no effect on behaviour• workflow is external– registry provides machinery to• store status• control who is authorized to change the status• some validation of submissions• list submissions in a given state– how/whether submissions are scrutinized, how decision ismade up to the register manager
  • 17. UKGovLD RegistryOutline• Background and motivation• Details– information model– core functionality– advanced topics– status• Applying it• Discussion and next steps
  • 18. UKGovLD RegistryFunctions: basic access• read (GET)– entity, item (its metadata), specific versions– register (metadata, list of contents, page-able, prior states)– content negotiation – Turtle, RDF/XML, JSON/LD, HTML• entity lookup– return what registry knows about any URI• validate– test a set of URIs to see they are known and Accepted(within a register sub-tree)• search– free text search (within a register sub-tree)
  • 19. UKGovLD RegistryDemo• Browse of colours register• RDF of colours register and a colour
  • 20. UKGovLD RegistryFunctions: Registration• single entity– POST simple entry to register– basic metadata created automatically– UI allows for extensible forms to create entries• entity with metadata– include explicit RegisterItem to annotate– allows you to register an external URI– can register multiple entries at once this way• batch registration– register a complete collection – register + contents– e.g. upload a complete skos:ConceptScheme or skos:Collection– can configure bulk types
  • 21. UKGovLD RegistryStatus and validation• some automated checks at registration– minimal properties of entity (label, type)– type matches one of (optional) allowed types for this register– register can specify SPARQL ASK queries for validation• item status– default is “Submitted”– can set initial status in API or explicit metadata, if you have theauthority– can change status through API or UI following the lifecycle– administrators can force a status change outside lifecycle• approval process– is outside the registry itself– just have property to state the policy and API/UI to do the updates– some operations may have their own complex workflow
  • 22. UKGovLD RegistryVersioning 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
  • 23. UKGovLD RegistryDemo• Add a new colour via form• Change its status• Update it• View history• Upload a complete concept scheme• Show registration of referenced entities
  • 24. UKGovLD RegistryOutline• Background and motivation• Details– information model– core functionality– advanced topics– status• Applying it• Discussion and next steps
  • 25. UKGovLD Registry Federation, delegation and namespacesreg:Delegatedreg:delegationTargetreg:NamespaceForwardreg:forwardingCode [0..1]reg:DelegatedRegisterreg:enumerationSubject [0..1]reg:enumerationPredicate [0..1]reg:enumerationObject [0..1]reg:Registerreg:FederatedRegisterreg:forwardingCode [0..1]
  • 26. UKGovLD Registry Federation, delegation and namespacesCase 1: External entities– identifier published in different namespace– want to include it in authoritative listSolution:– just register as a referenced entity– already seen this– authoritative because it’s on the list– can record properties of the entity, and maintainhistory– no namespace management involved
  • 27. UKGovLD RegistryReferenced entities/local/id/local-authorityRegistry External servicee.g. opencommunities.orgHosted by LA directly
  • 28. UKGovLD RegistryCase 2: Namespace allocation– want someone else to serve part of the registrynamespace– might be a single item or a complete register sub tree– e.g. allocating namespace in location.data.gov.uk forserving INSPIRE spatial object identifiersSolution:– 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 rightnamespace, but not requiredFederation, delegation and namespaces
  • 29. UKGovLD RegistryNamespace forward/local/id/local-authorityRegistry External web sitecould be anything
  • 30. UKGovLD Registry Federation, delegation and namespacesCase 3: Federated register– want someone else to run part of the registryinfrastructure but act like one big registry– integrated search, validation etcSolution:– reg:FederatedRegister– can be a redirect (30X) or proxy (200)– target endpoint must comply with Registry API atleast for search, validation and entity lookup
  • 31. UKGovLD RegistryFederated register/local/id/local-authorityRegistryFederated registry/local-authority/id
  • 32. UKGovLD Registry Federation, delegation and namespacesCase 4: Delegating a register– some one else to serve the list of contents of theregister– but they only have triple store, not full registryimplementationSolution:– solution eg:DelegatedRegister– specify SPARQL endpoint and triplepattern to enumerate membersreg:DelegatedRegisterreg:delegationTarget [1]reg:enumerationSubject [0..1]reg:enumerationPredicate [0..1]reg:enumerationObject [0..1]
  • 33. UKGovLD RegistryDelegated register/local/id/local-authorityRegistryExternal SPARQL service
  • 34. UKGovLD RegistryDemo• Proxy namespace• Delegated register (if time)
  • 35. UKGovLD RegistrySecurity model• authentication– OpenID (e.g. Google, Google profile)• authorization– permissions• Register, Update, StatusUpdate, Force, Grant, GrantAdmin• inherit down the tree• e.g.: Register,Update:/example/local– can grant to known user or anyone authenticated– bundled into roles• Maintainer – Update, Grant• Manager – Register, StatusUpdate, Update, Grant• Authorized – Register, Update, StatusUpdate - for experimental areas• Administrator - anything
  • 36. UKGovLD Registry message queue infrastructure (tbd)• publish/subscribe on notification of changes– plug in audit trail recording– replicate to duplicate stores for read-only loadbalance– hook for workflow• scheduling analysis of registrations– e.g. analyse registered datasets to map andvisualize identifier usage
  • 37. UKGovLD RegistryStatus• Proof of concept– API implementation build on top of Jena and Lucene– everything except federated search– UI based on simple templating– proxy mode handled by dynamic reconfig of external nginx– open source (license details to be agreed)• Remaining planned work– notification– registration of datasets– packaging and deployment instructions– optional: some GML rendering support?• Next steps– pilot applying it
  • 38. UKGovLD RegistryConceptual architecturerouterrendererrequestprocessorusercredentialsroles andbindingsauthregistrycorelogicRegistryRDF storetext indexstyle andtemplatesexternalUIadminUIlogaudittrailstoreAPInginxproxyconfAPI
  • 39. UKGovLD RegistryOutline• Background and motivation• Details– information model– core functionality– advanced topics– status• Applying it• Discussion and next steps
  • 40. UKGovLD RegistryLocal authorities example• illustrated various options– maintain list in register• some might be managed in registry, LA can edit• some might be served by LA• some might be served by DCLG• single list supporting search, validation– DCLG run a registry service and federated (or justforward) part of namespace– DCLG maintain master list in triple store, usedelegated register
  • 41. UKGovLD RegistryDataset registration• would like to know how identifiers are being usedand how they connect data sets• support registration of RDF data sets– queue separate analysis suite to extract usageinformation– create metadata– add these back into the registry record– support visual browse• POC does not include analysis and visualizationbut provides hooks to third party modules• e.g. Epimorphics InfoMap visualizer
  • 42. UKGovLD RegistryDataset analysis
  • 43. UKGovLD RegistryWMO application of Registrypublishing existing authoritativecode-tables as web-accessibleresources43
  • 44. UKGovLD Registry WMO data exchange governanceWMO No. 306 Manual on Codes: the ‘crown-jewels’ of WMO … decadesof expert effort in developing and maintaining a ‘shared language’ fordescribing meteorological phenomena.44
  • 45. UKGovLD Registry Model-driven data exchange standardsWMO data product specifications are being updated in line withcommunity best practice ; a model driven approach based on the ISO19100-series of International Standards enables a semantic model to beencoded in a variety of formats – including GML.This is very similar to the approach taken within INSPIRE.45GML/XMLdata products«conformsto»XML Schema 1.0Schematron .Validation schemaand rulesValidatabledata products******************************************************************«derivedfrom»Application Schema(aka ‘conceptual model’)Technology independent description ofcontent and structure of information tobe exchanged for a given applicationFullMoon
  • 46. UKGovLD Registry Binding data model to WMO code-tables46Excerpt from BUFR edition 4 Code- and Flag-tablesIWXXM METAR/SPECI«CodeList»RunwayDepositsURI: http://codes.wmo.int/bufr4/codeflag/0-20-086tagged values:vocabulary = “http://codes.wmo.int/bufr4/codeflag/0-20-086”extensibility = “none”«DataType»AerodromeRunwayState+ runway : Runway [0..1]+ cleared : Boolean [0..1]+ contamination : RunwayContamination [0..1]+ snowClosure : Boolean [0..1]+ depositType : RunwayDeposits [0..1]+ depthOfDeposit : DepthOfDeposit [0..1]+ brakingAction : BrakingAction [0..1]+ frictionCoefficient : FrictionCoefficient [0..1]
  • 47. UKGovLD Registry Code-table as web-accessible register47
  • 48. UKGovLD Registry Referencing terms from data products48
  • 49. UKGovLD RegistryNAMESPACE FORWARD:publishing a simple ontology withinthe namespace of the registry49
  • 50. UKGovLD Registry Pre-determined propertiesWMO code-tables (e.g. Common code-tableC-6: List of units) have a number of specificproperties defined …50
  • 51. UKGovLD Registry Published definitions requiredTo represent the information from the code-tables in RDF we need toreference definitions of those properties …51
  • 52. UKGovLD Registry A simple ontologyAs the properties support the definition of the code-tables themselves,the definitions are published within the namespace of the registry …52
  • 53. UKGovLD Registry A simple ontology (with #frag IDs)Following de facto practice, the definitions are published using the#fragment identifier pattern …53
  • 54. UKGovLD Registry Namespace forward (proxy)The #fragment identifier pattern means that the registry’s “/ID”‘containment’ pattern is not applicable – therefore we register theentire ontology as a single DELEGATED resource using a PROXY pattern54
  • 55. UKGovLD Registry Namespace forward: configurationThe NAMESPACE FORWARD is configured using the web UI by anauthenticated user with appropriate permissions …(but can also be done programmatically via the RESTful API)55
  • 56. UKGovLD Registry Externally managed HTTP server54.246.66.105 is an anonymous HTTP server (hosted on Amazon EC2)with content negotiation configured for HTML, RDF/XML and TTL – all ofwhich are provided as static resources …56UKGovLD Registryukgovld-registry.dnsalias.netApache2 +mod_negotiation54.246.66.105NGINX
  • 57. UKGovLD Registry Tracking changes; version & historyThis approach enables one to track changes as new versions of theontology are published; with each new version published to a newdirectory one can amend the delegation target to update the registry.57
  • 58. UKGovLD RegistryDiscussion• use cases for where to apply this?• missing features needed for these?• what would it take to pilot one?
  • 59. UKGovLD RegistryLinks• Design notes and API detailshttps://github.com/der/ukl-registry-poc/wiki• Proof of concept deploymenthttp://ukgovld-registry.dnsalias.net/No service guarantees
  • 60. UKGovLD Registry
  • 61. UKGovLD RegistryConvenient views• full RegisterItem/Register structure complex• versioning makes that a lot worse//registryRegisterVersionedThing//registry:1RegisterVersion//registry/_regRegisterItemVersionedThing//registry/_reg:1RegisterItemVersion//registry/regRegisterVersionedThing//registry/reg/_fooRegisterItemVersionedThing//registry/reg/foo(entity)//registry/reg:1RegisterVersion//registry/reg/_foo:1RegisterItemVersiondct:versionOfdct:versionOf dct:versionOfdct:versionOfreg:registerreg:registerreg:definitionreg:definition//registry/_reg:2RegisterItemVersion//registry:2RegisterVersion//registry/reg:2RegisterVersion//registry/reg/_foo:2RegisterItemVersion

×