Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

2014.10 - Towards Description Set Profiles for RDF Using SPARQL as Intermediate Language (DC 2014)

547 Aufrufe

Veröffentlicht am

Bosch, Eckert. Towards Description Set Profiles for RDF Using SPARQL as Intermediate Language (DC 2014)

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

2014.10 - Towards Description Set Profiles for RDF Using SPARQL as Intermediate Language (DC 2014)

  1. 1. build your own constraint language in 20 min DC 2014 Thomas Bosch, Kai Eckert thomas.bosch@gesis.org kai@informatik.uni-mannheim.de
  2. 2. DSP validation DSP specification http://dublincore.org/documents/200 8/03/31/dc-dsp/ SPIN mapping https://github.com/dcmi/DSP-SPIN-Mapping RDF Validator purl.org/net/rdfval-demo
  3. 3. OWL 2 validation OWL 2 specification http://www.w3.org/TR/owl2-syntax SPIN mapping https://github.com/boschthomas/OWL2 -SPIN-Mapping RDF Validator purl.org/net/rdfval-demo
  4. 4. R-28-OBJECT-PROPERTY- RANGE DSP, OWL 2, SPIN, SPARQL
  5. 5. constraint (DSP) :postalAddress a dsp:DescriptionTemplate ; dsp:minOccur 1 ; dsp:maxOccur "infinity” ; dsp:resourceClass :PostalAddress ; dsp:statementTemplate [ a dsp:NonLiteralStatementTemplate ; dsp:minOccur 1 ; dsp:maxOccur "infinity" ; dsp:property :addressCountry ; dsp:nonLiteralConstraint [ a dsp:NonLiteralConstraint ; dsp:valueClass :Country ] ] .
  6. 6. valid data :myAddress a :PostalAddress ; :addressCountry :netherlands . :netherlands a :Country .
  7. 7. invalid data :myAddress a :PostalAddress ; :addressCountry :amsterdam . :amsterdam a :Locality . :myAddress a :PostalAddress ; :addressCountry :amsterdam .
  8. 8. constraint (OWL2) :addressCountry a owl:ObjectProperty ; rdfs:range :Country .
  9. 9. validation validator purl.org/net/rdfval-demo executable examples R-28-OBJECT-PROPERTY-RANGE
  10. 10. SPIN template :ObjectPropertyRange a spin:ConstructTemplate ; rdfs:subClassOf spin:ConstructTemplates ; spin:labelTemplate "violation source" ; spin:body [ a sp:Construct ; sp:text """ CONSTRUCT {...} WHERE {...} """ ; ] .
  11. 11. WHERE clause WHERE { ?OPE rdfs:range ?CE . ?x ?OPE ?this . ?this a owl:Thing . FILTER NOT EXISTS { ?this a ?CE } . BIND ( CONCAT(...) AS ?violationMessage ) . }
  12. 12. CONSTRUCT query CONSTRUCT { _:cv a spin:ConstraintViolation ; spin:violationRoot ?this ; rdfs:label ?violationMessage ; spin:violationPath ?OPE . }
  13. 13. how to connect your data to SPIN ? owl:Thing spin:constraint [ a :ObjectPropertyRange ] .
  14. 14. limitations RDF representation (constraints, data)
  15. 15. future work validate further constraint languages (e.g ShEx) extend existing constraint languages (DSP)

×