Graph Database Systems Two Categories o u r c e : h t t p - - PowerPoint PPT Presentation

graph database systems two categories
SMART_READER_LITE
LIVE PREVIEW

Graph Database Systems Two Categories o u r c e : h t t p - - PowerPoint PPT Presentation

I m a g e s Graph Database Systems Two Categories o u r c e : h t t p s : / / c o m m o n s . w i k i m e d i a . o r g / w i k i / F i l e : C O V E R E D _ B R I D G E _ A T


slide-1
SLIDE 1

1 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg I m a g e s

  • u

r c e : h t t p s : / / c

  • m

m

  • n

s . w i k i m e d i a .

  • r

g / w i k i / F i l e : C O V E R E D _ B R I D G E _ A T _ P E R N S T E J N _ C A S T L E , _ C Z E C H _ R E P U B L I C . j p g

Graph Database Systems – Two Categories

slide-2
SLIDE 2

2 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg I m a g e s

  • u

r c e : h t t p s : / / c

  • m

m

  • n

s . w i k i m e d i a .

  • r

g / w i k i / F i l e : C O V E R E D _ B R I D G E _ A T _ P E R N S T E J N _ C A S T L E , _ C Z E C H _ R E P U B L I C . j p g

  • Triplestores support RDF and SPARQL
slide-3
SLIDE 3

3 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg I m a g e s

  • u

r c e : h t t p s : / / c

  • m

m

  • n

s . w i k i m e d i a .

  • r

g / w i k i / F i l e : C O V E R E D _ B R I D G E _ A T _ P E R N S T E J N _ C A S T L E , _ C Z E C H _ R E P U B L I C . j p g

  • Support of so-called

Property Graphs (PGs)

  • r Labeled PGs (LPGs)
slide-4
SLIDE 4

4 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg I m a g e s

  • u

r c e : h t t p s : / / c

  • m

m

  • n

s . w i k i m e d i a .

  • r

g / w i k i / F i l e : C O V E R E D _ B R I D G E _ A T _ P E R N S T E J N _ C A S T L E , _ C Z E C H _ R E P U B L I C . j p g

  • Too much has been invested for any
  • ne of them to get abandoned now
  • Both have merits and a user base

Coexistence!

slide-5
SLIDE 5

5 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg I m a g e s

  • u

r c e : h t t p s : / / c

  • m

m

  • n

s . w i k i m e d i a .

  • r

g / w i k i / F i l e : C O V E R E D _ B R I D G E _ A T _ P E R N S T E J N _ C A S T L E , _ C Z E C H _ R E P U B L I C . j p g

Interoperability

slide-6
SLIDE 6

6 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

We need well-defjned approaches!

Image sources: https://www.publicdomainpictures.net/en/view-image.php?image=253435 and https://www.flickr.com/photos/ntsb/40210711664

slide-7
SLIDE 7

Foundatjons to Query Labeled Property Graphs using SPARQL*

Olaf Hartjg

@olafiartjg

slide-8
SLIDE 8

8 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

Difgerences between LPGs and RDF Graphs

  • Node and edge identifiers in an LPG are local to that LPG,

whereas URIs are globally unique identifiers

important for data integration

  • Edge labels cannot appear as nodes in an LPG, whereas

in RDF we may have (s, p, o) and (p, p2, o2)

important for making the semantics

  • f data explicit within the data itself
  • No multivalued properties in an LPG, whereas

in RDF we may have (s, p, literal1) and (s, p, literal2)

unless we use collection objects as values of properties in LPGs

  • RDF graphs are not truly multigraphs, LPGs are (i.e., two

edges between the same nodes may have the same label)

  • No edge properties in RDF graphs!
slide-9
SLIDE 9

9 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

Difgerences between LPGs and RDF Graphs

  • Node and edge identifiers in an LPG are local to that LPG,

whereas URIs are globally unique identifiers

important for data integration

  • Edge labels cannot appear as nodes in an LPG, whereas

in RDF we may have (s, p, o) and (p, p2, o2)

important for making the semantics

  • f data explicit within the data itself
  • No multivalued properties in an LPG, whereas

in RDF we may have (s, p, literal1) and (s, p, literal2)

unless we use collection objects as values of properties in LPGs

  • RDF graphs are not truly multigraphs, LPGs are (i.e., two

edges between the same nodes may have the same label)

  • No edge properties in RDF graphs!
slide-10
SLIDE 10

10 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

Difgerences between LPGs and RDF Graphs

  • Node and edge identifiers in an LPG are local to that LPG,

whereas URIs are globally unique identifiers

important for data integration

  • Edge labels cannot appear as nodes in an LPG, whereas

in RDF we may have (s, p, o) and (p, p2, o2)

important for making the semantics

  • f data explicit within the data itself
  • No multivalued properties in an LPG, whereas

in RDF we may have (s, p, literal1) and (s, p, literal2)

unless we use collection objects as values of properties in LPGs

  • RDF graphs are not truly multigraphs, LPGs are (i.e., two

edges between the same nodes may have the same label)

  • No edge properties in RDF graphs!
slide-11
SLIDE 11

11 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

Difgerences between LPGs and RDF Graphs

  • Node and edge identifiers in an LPG are local to that LPG,

whereas URIs are globally unique identifiers

important for data integration

  • Edge labels cannot appear as nodes in an LPG, whereas

in RDF we may have (s, p, o) and (p, p2, o2)

important for making the semantics

  • f data explicit within the data itself
  • No multivalued properties in an LPG, whereas

in RDF we may have (s, p, literal1) and (s, p, literal2)

unless we use collection objects as values of properties in LPGs

  • RDF graphs are not truly multigraphs, LPGs are (i.e., two

edges between the same nodes may have the same label)

  • No edge properties in RDF graphs!
slide-12
SLIDE 12

12 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

Difgerences between LPGs and RDF Graphs

  • Node and edge identifiers in an LPG are local to that LPG,

whereas URIs are globally unique identifiers

important for data integration

  • Edge labels cannot appear as nodes in an LPG, whereas

in RDF we may have (s, p, o) and (p, p2, o2)

important for making the semantics

  • f data explicit within the data itself
  • No multivalued properties in an LPG, whereas

in RDF we may have (s, p, literal1) and (s, p, literal2)

unless we use collection objects as values of properties in LPGs

  • RDF graphs are not truly multigraphs, LPGs are (i.e., two

edges between the same nodes may have the same label)

  • No edge properties in RDF graphs!
slide-13
SLIDE 13

13 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

RDF*/SPARQL* Approach [1,2]

  • Annotations of individual triples (i.e., like edge properties in LPGs)
  • Idea: nest triples into one another; similarly for query patterns
  • Already supported by two commercial triplestores
  • Other vendors are working on it (incl. Amazon Web Services)
  • Collaboration to bring this approach to standardization by W3C

SELECT ?i ?c WHERE { << ex:kubrick ex:influencedBy ?i >> ex:certainty ?c }

[1] Olaf Hartig and Bryan Thompson: “Foundations of an Alternative Approach to Reification in RDF.” CoRR abs/1406.3399, 2014. [2] Olaf Hartig: “Foundations of RDF* and SPARQL* - An Alternative Approach to Statement-Level Metadata in RDF.” In Proc. of AMW 2017.

slide-14
SLIDE 14

14 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

RDF*/SPARQL* Approach [1,2]

  • Annotations of individual triples (i.e., like edge properties in LPGs)
  • Idea: nest triples into one another; similarly for query patterns
  • Already supported by two commercial triplestores
  • Other vendors are working on it (incl. Amazon Web Services)
  • Collaboration to bring this approach to standardization by W3C

SELECT ?i ?c WHERE { << ex:kubrick ex:influencedBy ?i >> ex:certainty ?c }

[1] Olaf Hartig and Bryan Thompson: “Foundations of an Alternative Approach to Reification in RDF.” CoRR abs/1406.3399, 2014. [2] Olaf Hartig: “Foundations of RDF* and SPARQL* - An Alternative Approach to Statement-Level Metadata in RDF.” In Proc. of AMW 2017. [3] Robin Keskisärkkä, Eva Blomqvist, Leili Lind, and Olaf Hartig: “RSP-QL*: Enabling Statement-Level Annotations in RDF Streams.” In Proc. of SEMANTiCS 2019.

Tomorrow! 12:15, Session 2.4 in Hall 4 Paper that adopts this idea for RDF Stream Processing [2]

slide-15
SLIDE 15

15 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

An Approach to Interoperability

(Labeled) Property Graph RDF Graph RDF* Graph SPARQL* RDF* View RDF* View SPARQL

[1] Olaf Hartig and Bryan Thompson: “Foundations of an Alternative Approach to Reification in RDF.” CoRR abs/1406.3399, 2014. [2] Olaf Hartig: “Foundations of RDF* and SPARQL* - An Alternative Approach to Statement-Level Metadata in RDF.” In Proc. of AMW 2017. [4] Olaf Hartig: “Reconciliation of RDF* and Property Graphs.” In abs/1409.3288, 2014

slide-16
SLIDE 16

16 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

This Paper

(Labeled) Property Graph RDF Graph RDF* Graph SPARQL* RDF* View RDF* View SPARQL

[1] Olaf Hartig and Bryan Thompson: “Foundations of an Alternative Approach to Reification in RDF.” CoRR abs/1406.3399, 2014. [2] Olaf Hartig: “Foundations of RDF* and SPARQL* - An Alternative Approach to Statement-Level Metadata in RDF.” In Proc. of AMW 2017. [4] Olaf Hartig: “Reconciliation of RDF* and Property Graphs.” In abs/1409.3288, 2014

slide-17
SLIDE 17

17 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

Direct LPG-to-RDF* Mapping

Labeled Property Graph RDF* Graph

slide-18
SLIDE 18

18 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix p: <http://example.org/property/> . @prefix r: <http://example.org/relationship/> .

_:b1 rdfs:label "Kubrick" . _:b1 p:name "Stanley Kubrick" . _:b1 p:birthyear 1928 . _:b2 rdfs:label "Welles" . _:b2 p:name "Orson Welles" . _:b2 r:mentioned _:b1 . << _:b1 r:influencedBy _:b2 >> p:certainty 0.8 .

Direct LPG-to-RDF* Mapping

Labeled Property Graph RDF* Graph

  • every node with its label → ordinary triple
  • every node property → ordinary triple
  • every edge (incl. its label) → ordinary triple
  • every node property → nested triple

Kubrick Welles name: "Stanley Kubrick" birthyear: 1928 name: "Orson Welles" mentioned influencedBy certainty: 0.8

slide-19
SLIDE 19

19 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix p: <http://example.org/property/> . @prefix r: <http://example.org/relationship/> .

_:b1 rdfs:label "Kubrick" . _:b1 p:name "Stanley Kubrick" . _:b1 p:birthyear 1928 . _:b2 rdfs:label "Welles" . _:b2 p:name "Orson Welles" . _:b2 r:mentioned _:b1 . << _:b1 r:influencedBy _:b2 >> p:certainty 0.8 .

Direct LPG-to-RDF* Mapping

Labeled Property Graph RDF* Graph

  • every node with its label → ordinary triple
  • every node property → ordinary triple
  • every edge (incl. its label) → ordinary triple
  • every node property → nested triple

Kubrick Welles name: "Stanley Kubrick" birthyear: 1928 name: "Orson Welles" mentioned influencedBy certainty: 0.8

slide-20
SLIDE 20

20 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix p: <http://example.org/property/> . @prefix r: <http://example.org/relationship/> .

_:b1 rdfs:label "Kubrick" . _:b1 p:name "Stanley Kubrick" . _:b1 p:birthyear 1928 . _:b2 rdfs:label "Welles" . _:b2 p:name "Orson Welles" . _:b2 r:mentioned _:b1 . << _:b1 r:influencedBy _:b2 >> p:certainty 0.8 .

Direct LPG-to-RDF* Mapping

Labeled Property Graph RDF* Graph

  • every node with its label → ordinary triple
  • every node property → ordinary triple
  • every edge (incl. its label) → ordinary triple
  • every node property → nested triple

Kubrick Welles name: "Stanley Kubrick" birthyear: 1928 name: "Orson Welles" mentioned influencedBy certainty: 0.8

slide-21
SLIDE 21

21 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix p: <http://example.org/property/> . @prefix r: <http://example.org/relationship/> .

_:b1 rdfs:label "Kubrick" . _:b1 p:name "Stanley Kubrick" . _:b1 p:birthyear 1928 . _:b2 rdfs:label "Welles" . _:b2 p:name "Orson Welles" . _:b2 r:mentioned _:b1 . << _:b1 r:influencedBy _:b2 >> p:certainty 0.8 .

Direct LPG-to-RDF* Mapping

Labeled Property Graph RDF* Graph

  • every node with its label → ordinary triple
  • every node property → ordinary triple
  • every edge (incl. its label) → ordinary triple
  • every node property → nested triple

Kubrick Welles name: "Stanley Kubrick" birthyear: 1928 name: "Orson Welles" mentioned influencedBy certainty: 0.8

slide-22
SLIDE 22

22 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix p: <http://example.org/property/> . @prefix r: <http://example.org/relationship/> .

_:b1 rdfs:label "Kubrick" . _:b1 p:name "Stanley Kubrick" . _:b1 p:birthyear 1928 . _:b2 rdfs:label "Welles" . _:b2 p:name "Orson Welles" . _:b2 r:mentioned _:b1 . << _:b1 r:influencedBy _:b2 >> p:certainty 0.8 .

Direct LPG-to-RDF* Mapping

Labeled Property Graph RDF* Graph

  • every node with its label → ordinary triple
  • every node property → ordinary triple
  • every edge (incl. its label) → ordinary triple
  • every node property → nested triple

Kubrick Welles name: "Stanley Kubrick" birthyear: 1928 name: "Orson Welles" mentioned influencedBy certainty: 0.8

slide-23
SLIDE 23

23 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix p: <http://example.org/property/> . @prefix r: <http://example.org/relationship/> .

_:b1 rdfs:label "Kubrick" . _:b1 p:name "Stanley Kubrick" . _:b1 p:birthyear 1928 . _:b2 rdfs:label "Welles" . _:b2 p:name "Orson Welles" . _:b2 r:mentioned _:b1 . << _:b1 r:influencedBy _:b2 >> p:certainty 0.8 .

Mapping is User-Confjgurable

Labeled Property Graph RDF* Graph

  • node mapping (injective, to bnodes/IRIs)
  • node label predicate (IRI)
  • node label mapping (injective, to IRIs/literals)
  • edge label mapping (injective, to IRIs)
  • property name mapping (injective, to IRIs)

Kubrick Welles name: "Stanley Kubrick" birthyear: 1928 name: "Orson Welles" mentioned influencedBy certainty: 0.8

slide-24
SLIDE 24

24 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix p: <http://example.org/property/> . @prefix r: <http://example.org/relationship/> .

_:b1 rdfs:label "Kubrick" . _:b1 p:name "Stanley Kubrick" . _:b1 p:birthyear 1928 . _:b2 rdfs:label "Welles" . _:b2 p:name "Orson Welles" . _:b2 r:mentioned _:b1 . << _:b1 r:influencedBy _:b2 >> p:certainty 0.8 .

Mapping is User-Confjgurable

Labeled Property Graph RDF* Graph

  • node mapping (injective, to bnodes/IRIs)
  • node label predicate (IRI)
  • node label mapping (injective, to IRIs/literals)
  • edge label mapping (injective, to IRIs)
  • property name mapping (injective, to IRIs)

Kubrick Welles name: "Stanley Kubrick" birthyear: 1928 name: "Orson Welles" mentioned influencedBy certainty: 0.8

slide-25
SLIDE 25

25 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix p: <http://example.org/property/> . @prefix r: <http://example.org/relationship/> .

_:b1 rdfs:label "Kubrick" . _:b1 p:name "Stanley Kubrick" . _:b1 p:birthyear 1928 . _:b2 rdfs:label "Welles" . _:b2 p:name "Orson Welles" . _:b2 r:mentioned _:b1 . << _:b1 r:influencedBy _:b2 >> p:certainty 0.8 .

Mapping is User-Confjgurable

Labeled Property Graph RDF* Graph

  • node mapping (injective, to bnodes/IRIs)
  • node label predicate (IRI)
  • node label mapping (injective, to IRIs/literals)
  • edge label mapping (injective, to IRIs)
  • property name mapping (injective, to IRIs)

Kubrick Welles name: "Stanley Kubrick" birthyear: 1928 name: "Orson Welles" mentioned influencedBy certainty: 0.8

slide-26
SLIDE 26

26 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix p: <http://example.org/property/> . @prefix r: <http://example.org/relationship/> .

_:b1 rdfs:label "Kubrick" . _:b1 p:name "Stanley Kubrick" . _:b1 p:birthyear 1928 . _:b2 rdfs:label "Welles" . _:b2 p:name "Orson Welles" . _:b2 r:mentioned _:b1 . << _:b1 r:influencedBy _:b2 >> p:certainty 0.8 .

Mapping is User-Confjgurable

Labeled Property Graph RDF* Graph

  • node mapping (injective, to bnodes/IRIs)
  • node label predicate (IRI)
  • node label mapping (injective, to IRIs/literals)
  • edge label mapping (injective, to IRIs)
  • property name mapping (injective, to IRIs)

Kubrick Welles name: "Stanley Kubrick" birthyear: 1928 name: "Orson Welles" mentioned influencedBy certainty: 0.8

slide-27
SLIDE 27

27 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix p: <http://example.org/property/> . @prefix r: <http://example.org/relationship/> .

_:b1 rdfs:label "Kubrick" . _:b1 p:name "Stanley Kubrick" . _:b1 p:birthyear 1928 . _:b2 rdfs:label "Welles" . _:b2 p:name "Orson Welles" . _:b2 r:mentioned _:b1 . << _:b1 r:influencedBy _:b2 >> p:certainty 0.8 .

Mapping is User-Confjgurable

Labeled Property Graph RDF* Graph

  • node mapping (injective, to bnodes/IRIs)
  • node label predicate (IRI)
  • node label mapping (injective, to IRIs/literals)
  • edge label mapping (injective, to IRIs)
  • property name mapping (injective, to IRIs)

Kubrick Welles name: "Stanley Kubrick" birthyear: 1928 name: "Orson Welles" mentioned influencedBy certainty: 0.8

slide-28
SLIDE 28

28 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix p: <http://example.org/property/> . @prefix r: <http://example.org/relationship/> .

_:b1 rdfs:label "Kubrick" . _:b1 p:name "Stanley Kubrick" . _:b1 p:birthyear 1928 . _:b2 rdfs:label "Welles" . _:b2 p:name "Orson Welles" . _:b2 r:mentioned _:b1 . << _:b1 r:influencedBy _:b2 >> p:certainty 0.8 .

Mapping is User-Confjgurable

Labeled Property Graph RDF* Graph

  • node mapping (injective, to bnodes/IRIs)
  • node label predicate (IRI)
  • node label mapping (injective, to IRIs/literals)
  • edge label mapping (injective, to IRIs)
  • property name mapping (injective, to IRIs)

Kubrick Welles name: "Stanley Kubrick" birthyear: 1928 name: "Orson Welles" mentioned influencedBy certainty: 0.8

slide-29
SLIDE 29

29 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

Propertjes of the Mapping

Labeled Property Graph RDF* Graph Note 1: the mapping is linear (for all possible configurations) i.e., for every LPG g, the size of the resulting RDF* graph is linear in the size of g

slide-30
SLIDE 30

30 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

Propertjes of the Mapping (cont’d)

Labeled Property Graph RDF* Graph Proposition 1:† for all edge-unique LPGs, the mapping is information preserving (for all possible configurations)

for formal statement and proof sketch, see paper
slide-31
SLIDE 31

31 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

Propertjes of the Mapping (cont’d)

Labeled Property Graph RDF* Graph Proposition 1:† for all edge-unique LPGs, the mapping is information preserving (for all possible configurations) i.e., there exists an inverse mapping that is computable and that, in all cases, returns an LPG that is equivalent to the input LPG Labeled Property Graph

for formal statement and proof sketch, see paper
slide-32
SLIDE 32

32 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

Query the RDF* Representatjon of an LPG

SPARQL* RDF* Graph Labeled Property Graph SELECT ?n ?s WHERE { ?k p:name "Stanley Kubrick" . <<?k r:influencedBy ?x>> p:certainty ?s . ?x p:name ?n . }

slide-33
SLIDE 33

33 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

Query an RDF Representatjon of an LPG

RDF Graph SPARQL SPARQL* RDF* Graph Labeled Property Graph

slide-34
SLIDE 34

34 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

SELECT ?n ?s WHERE { ?k p:name "Stanley Kubrick" . <<?k r:influencedBy ?x>> p:certainty ?s . ?x p:name ?n . }

LPG-based Query Semantjcs for SPARQL*

SPARQL* Labeled Property Graph

slide-35
SLIDE 35

35 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

Property of this Query Semantjcs

SPARQL* RDF* Graph Labeled Property Graph Proposition 2:† by using the same configuration, the query results are equivalent (including for LPGs that are not edge-unique)

for formal statement and proof sketch, see paper

R ≡ R’

slide-36
SLIDE 36

36 Foundatjons to Query Labeled Property Graphs using SPARQL* – Olaf Hartjg @olafiartjg

Take Away

  • User-configurable direct LPG-to-RDF* mapping

– information preserving (for edge-unique LPGs)

  • User-configurable semantics for SPARQL* directly over LPGs

– coincides with the RDF*-based semantics

slide-37
SLIDE 37

www.liu.se