rdf and sparql
play

RDF* and SPARQL* An Alternatjve Approach to Statement-Level - PowerPoint PPT Presentation

RDF* and SPARQL* An Alternatjve Approach to Statement-Level Metadata in RDF Olaf Hartjg @olafiartjg Olaf Hartjg The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 2 Picture


  1. RDF* and SPARQL* An Alternatjve Approach to Statement-Level Metadata in RDF Olaf Hartjg @olafiartjg

  2. Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 2 Picture source:htp://akae.blogspot.se/2008/08/dios-mo-doc-has-construido-una-mquina.html

  3. Property Graphs Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 4 htp://tjnkerpop.apache.org/docs/current/reference/#intro Picture source:htp://akae.blogspot.se/2008/08/dios-mo-doc-has-construido-una-mquina.html

  4. Technically, RDF is beter in many aspects ... ● Formally defined data model ● Various well-defined serialization formats ● Well-defined query language with a formal semantics ● Natural support for globally unique identifiers ● Semantics of data can be made explicit in the data itself ● W3C recommendations (i.e., standards !) Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 5

  5. Technically, RDF is beter in many aspects ... ● Formally defined data model ● Various well-defined serialization formats ● Well-defined query language with a formal semantics Picture source:htp://akae.blogspot.se/2008/08/dios-mo-doc-has-construido-una-mquina.html ● Natural support for globally unique identifiers ● Semantics of data can be made explicit in the data itself ● W3C recommendations (i.e., standards !) But ... ? ? ? ? ? Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 6

  6. Not supported natjvely in the RDF data model mentioned Kubrick Welles influencedBy name = "Stanley Kubrick" name = "Orson Welles" significance = 0.8 ● RDF triples: Welles name "Orson Welles" . Welles mentioned Kubrick . Kubrick name "Stanley Kubrick" . Kubrick influencedBy Welles . ??? significance 0.8 . Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 7

  7. Main Use Case: Statement-Level Metadata mentioned Kubrick Welles influencedBy name = "Stanley Kubrick" name = "Orson Welles" significance = 0.8 ● RDF triples: Welles name "Orson Welles" . Welles mentioned Kubrick . Kubrick name "Stanley Kubrick" . Kubrick influencedBy Welles . ??? significance 0.8 . ● Certainty scores ● Weights ● Temporal restrictions ● Provenance information ● etc. Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 8

  8. Standard RDF Reifjcatjon mentioned Kubrick Welles influencedBy name = "Stanley Kubrick" name = "Orson Welles" significance = 0.8 Welles name "Orson Welles" . Welles mentioned Kubrick . Kubrick name "Stanley Kubrick" . Kubrick influencedBy Welles . s significance 0.8 . s rdf:type rdf:Statement . s rdf:subject Kubrick . s rdf:predicate influencedBy . s rdf:object Welles . Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 9

  9. Queries? Example 1: List all people that Welles had a significant influence on. SELECT ?x WHERE { ?x influencedBy Welles . ?t significance ?sig . ?t rdf:type rdf:Statement . ?t rdf:subject ?x . ?t rdf:predicate influencedBy . ?t rdf:object Welles . FILTER ( ?sig > 0.7 ) } Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 10

  10. Queries? SELECT ?x WHERE { ?x influencedBy Welles . Example 2: Welles influencedBy ?x . ?t1 rdf:type rdf:Statement . ?t1 rdf:subject ?x . ?t1 rdf:predicate influencedBy . ?t1 rdf:object Welles . ?t1 significance ?sig1 . ?t2 rdf:type rdf:Statement . ?t2 rdf:subject Welles . ?t2 rdf:predicate influencedBy . ?t2 rdf:object ?x . ?t2 significance ?sig2 . FILTER ( ?sig1 > 0.7 && ?sig2 > 0.7) } Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 11

  11. Other Proposals: Single-Triple Named Graphs ● Example: g1 { Kubrick influencedBy Welles } g1 significance 0.8 . – Query: SELECT ?x WHERE { GRAPH ?g { ?x influencedBy Welles } ?g significance ?sig . FILTER ( ?sig > 0.7 ) } Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 12

  12. Other Proposals: Singleton Propertjes ● Example: Kubrick influencedBy Welles . Kubrick p1 Welles . p1 singletonPropertyOf influencedBy . p1 significance 0.8 . – Query: SELECT ?x WHERE { ?x influencedBy Welles . ?x ?p Welles . ?p singletonPropertyOf influencedBy . ?p significance ?sig . FILTER ( ?sig > 0.7 ) } Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 13

  13. Our Proposal: Nested Triples Kubrick influencedBy Welles . s rdf:type rdf:Statement . s rdf:subject Kubrick . s rdf:predicate influencedBy . s rdf:object Welles . s significance 0.8 . <<Kubrik influencedBy Welles>> significance 0.8 subject predicate object Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 15

  14. … and Nested Triple Paterns SELECT ?x WHERE { ?x influencedBy Welles . ?t significance ?sig . ?t rdf:type rdf:Statement . ?t rdf:subject ?x . ?t rdf:predicate influencedBy . ?t rdf:object Welles . FILTER ( ?sig > 0.7 ) } SELECT ?x WHERE { << ?x influencedBy Welles>> significance ?sig FILTER ( ?sig > 0.7) } Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 16

  15. Grouping of Paterns with the Same Subject ● By the standard SPARQL syntax, we may write: SELECT ?x WHERE { ?x influencedBy Welles . ?t significance ?sig ; rdf:type rdf:Statement ; rdf:subject ?x ; rdf:predicate influencedBy ; rdf:object Welles . FILTER ( ?sig > 0.7 ) } ● Hence, we may easily query for multiple metadata triples: SELECT ?x ?sig ?src WHERE { << ?x influencedBy Welles>> significance ? sig ; source ?src . } Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 17

  16. Extension of the BIND Clause ● Assign matching triples to variables: SELECT ?x ?sig ?src WHERE { BIND( << ?x influencedBy Welles>> AS ?t ) ?t significance ?sig ; source ?src . } SELECT ?x ?sig ?src WHERE { << ?x influencedBy Welles>> significance ? sig ; source ?src . } Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 18

  17. Extension of the BIND Clause ● Assign matching triples to variables: SELECT ?x ?sig ?src WHERE { BIND( << ?x influencedBy Welles>> AS ?t ) ?t significance ?sig ; source ?src . } ● Now, we may even output triples in query results: SELECT ?t ?c WHERE { BIND( << ?x influencedBy Welles>> AS ?t ) ?t certainty ?c . } Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 19

  18. Example Query 2 Revisited SELECT ?x WHERE { ?x influencedBy Welles . Welles influencedBy ?x . ?t1 rdf:type rdf:Statement . ?t1 rdf:subject ?x . ?t1 rdf:predicate influencedBy . ?t1 rdf:object Welles . ?t1 significance ?sig1 . ?t2 rdf:type rdf:Statement . ?t2 rdf:subject Welles . ?t2 rdf:predicate influencedBy . ?t2 rdf:object ?x . ?t2 significance ?sig2 . FILTER ( ?sig1 > 0.7 && ?sig2 > 0.7) } Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 20

  19. Example Query 2 Revisited SELECT ?x WHERE { ?x influencedBy Welles . Welles influencedBy ?x . ?t1 rdf:type rdf:Statement . ?t1 rdf:subject ?x . SELECT ?x WHERE { ?t1 rdf:predicate influencedBy . << ?x influencedBy Welles>> significance ?sig1 . ?t1 rdf:object Welles . <<Welles influencedBy ?x >> significance ?sig2 . ?t1 significance ?sig1 . FILTER ( ?sig1 > 0.7 && ?sig2 > 0.7) ?t2 rdf:type rdf:Statement . } ?t2 rdf:subject Welles . ?t2 rdf:predicate influencedBy . ?t2 rdf:object ?x . ?t2 significance ?sig2 . FILTER ( ?sig1 > 0.7 && ?sig2 > 0.7) } Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 21

  20. Two Perspectjves on RDF* and SPARQL* 1. Purely syntactic sugar on 2. A logical model in its own top of standard RDF and right, with the possibility of a SPARQL dedicated physical schema – Can be parsed directly – Extension of the into standard RDF and RDF data model SPARQL and of SPARQL to capture the notion – Can be implemented of nested triples easily by a small – Supported by wrapper on top of any existing RDF DBMS Blazegraph Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 22

  21. Further Possible Applicatjons of SPARQL* 1. Purely syntactic sugar on 2. A logical model in its own top of standard RDF and right, with the possibility of a SPARQL dedicated physical schema ● Query datasets that use RDF reification (or singleton properties, or single-triple named graphs) – By straightforward translation into ordinary SPARQL queries ● Query Property Graphs including their edge properties – By translation into Gremlin, Cypher, etc. Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 23

  22. Contributjons (Perspectjve 1) 1. Purely syntactic sugar on 2. A logical model in its own top of standard RDF and right, with the possibility of a SPARQL dedicated physical schema ● Definition of desirable properties of RDF*-to-RDF mappings – Information preservation and query result preservation ● Definition of RDF reification related mappings and proof that they possess the desirable properties Olaf Hartjg – The RDF*/SPARQL* Approach to Statement-Level Metadata in RDF 24

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend