RDF AND SPARQL. Part V: Semantics of SPARQL. Dresden, August Sebastian Rudolph ICCL Summer School

Size: px
Start display at page:

Download "RDF AND SPARQL. Part V: Semantics of SPARQL. Dresden, August Sebastian Rudolph ICCL Summer School"

Transcription

1 RDF AND SPARQL Part V: Semantics of SPARQL Sebastian Rudolph ICCL Summer School Dresden, August 2013

2 Agenda 1 Recap 2 SPARQL Semantics 3 Transformation of Queries into Algebra Objects 4 Evaluation of the SPARQL Algebra 5 Operators for the Modifiers 6 Summary TU Dresden, August 2013 RDF and SPARQL slide 2 of 73

3 Agenda 1 Recap 2 SPARQL Semantics 3 Transformation of Queries into Algebra Objects 4 Evaluation of the SPARQL Algebra 5 Operators for the Modifiers 6 Summary TU Dresden, August 2013 RDF and SPARQL slide 3 of 73

4 Recap: Introduced SPARQL Features Basic Structure PREFIX WHERE Graph Patterns Basic Graph Patterns {... } OPTIONAL UNION Filter BOUND isuri isblank isliteral STR LANG DATATYPE sameterm langmatches REGEX Modifiers ORDER BY LIMIT OFFSET DISTINCT Output Formats SELECT CONSTRUCT ASK DESCRIBE TU Dresden, August 2013 RDF and SPARQL slide 4 of 73

5 Agenda 1 Recap 2 SPARQL Semantics 3 Transformation of Queries into Algebra Objects 4 Evaluation of the SPARQL Algebra 5 Operators for the Modifiers 6 Summary TU Dresden, August 2013 RDF and SPARQL slide 5 of 73

6 Semantics of Query Languages So far only informal presentation of SPARQL features User: Which answers can I expect for my query? Developer: Which behaviour is expected from my SPARQL implementation? Marketing: Is our product already conformant with the SPARQL standard? Formal semantics should clarify these questions... TU Dresden, August 2013 RDF and SPARQL slide 6 of 73

7 Semantics of Query Languages (1) Query Entailment Query as description of allowed results Data as set of logical assumptions (axiom set/theory) Results as logical entailment OWL DL and RDF(S) as query languages conjunctive queries TU Dresden, August 2013 RDF and SPARQL slide 7 of 73

8 Semantics of Query Languages (2) Query Algebra Query as instruction for computing the results Queried data as input Results as output Relational algebra for SQL SPARQL Algebra TU Dresden, August 2013 RDF and SPARQL slide 8 of 73

9 Agenda 1 Recap 2 SPARQL Semantics 3 Transformation of Queries into Algebra Objects 4 Evaluation of the SPARQL Algebra 5 Operators for the Modifiers 6 Summary TU Dresden, August 2013 RDF and SPARQL slide 9 of 73

10 Translation into SPARQL Algebra {?book ex:price?price. FILTER (?price < 15) OPTIONAL {?book ex:title?title } {?book ex:author ex:shakespeare } UNION {?book ex:author ex:marlowe } } Semantics of a SPARQL query: 1 Transformation of the query into an algebra expression 2 Evaluation of the algebra expression TU Dresden, August 2013 RDF and SPARQL slide 10 of 73

11 Translation into SPARQL Algebra {?book ex:price?price FILTER (?price < 15) OPTIONAL {?book ex:title?title } {?book ex:author ex:shakespeare } UNION {?book ex:author ex:marlowe } } Attention: Filters apply to the whole group in which they occur TU Dresden, August 2013 RDF and SPARQL slide 11 of 73

12 Translation into SPARQL Algebra {?book ex:price?price OPTIONAL {?book ex:title?title } {?book ex:author ex:shakespeare } UNION {?book ex:author ex:marlowe } FILTER (?price < 15) } 1 Expand abbreviated IRIs TU Dresden, August 2013 RDF and SPARQL slide 12 of 73

13 Translation into SPARQL Algebra {?book < OPTIONAL {?book < } {?book < < } UNION {?book < < } FILTER (?price < 15) } TU Dresden, August 2013 RDF and SPARQL slide 13 of 73

14 Translation into SPARQL Algebra {?book < OPTIONAL {?book < } {?book < < } UNION {?book < < } FILTER (?price < 15) } 2. Replace triple patterns with operator Bgp( ) TU Dresden, August 2013 RDF and SPARQL slide 14 of 73

15 Translation into SPARQL Algebra { Bgp(?book < OPTIONAL {Bgp(?book < {Bgp(?book < < UNION {Bgp(?book < < FILTER (?price < 15) } TU Dresden, August 2013 RDF and SPARQL slide 15 of 73

16 Translation into SPARQL Algebra { Bgp(?book < OPTIONAL {Bgp(?book < {Bgp(?book < < UNION {Bgp(?book < < FILTER (?price < 15) } 3. Introduce the LeftJoin( ) operator for optional parts TU Dresden, August 2013 RDF and SPARQL slide 16 of 73

17 Translation into SPARQL Algebra { LeftJoin(Bgp(?book < Bgp(?book < true) {Bgp(?book < < UNION {Bgp(?book < < FILTER (?price < 15) } TU Dresden, August 2013 RDF and SPARQL slide 17 of 73

18 Translation into SPARQL Algebra { LeftJoin(Bgp(?book < Bgp(?book < true) {Bgp(?book < < UNION {Bgp(?book < < FILTER (?price < 15) } 4. Combine alternative graph patterns with Union( ) operator Refers to neighbouring patterns and has higher precedence than conjunction (left associative) TU Dresden, August 2013 RDF and SPARQL slide 18 of 73

19 Translation into SPARQL Algebra { LeftJoin(Bgp(?book < Bgp(?book < true) Union(Bgp(?book < < Bgp(?book < < FILTER (?price < 15) } TU Dresden, August 2013 RDF and SPARQL slide 19 of 73

20 Translation into SPARQL Algebra { LeftJoin(Bgp(?book < Bgp(?book < true) Union(Bgp(?book < < Bgp(?book < < FILTER (?price < 15) } 5. Apply Join( ) operator to join non-filter elements TU Dresden, August 2013 RDF and SPARQL slide 20 of 73

21 Translation into SPARQL Algebra { Join( LeftJoin(Bgp(?book < Bgp(?book < true), Union(Bgp(?book < < Bgp(?book < < FILTER (?price < 15) } TU Dresden, August 2013 RDF and SPARQL slide 21 of 73

22 Translation into SPARQL Algebra { Join( LeftJoin(Bgp(?book < Bgp(?book < true), Union(Bgp(?book < < Bgp(?book < < FILTER (?price < 15) } 6. Translate a group with filters with the Filter( ) operator TU Dresden, August 2013 RDF and SPARQL slide 22 of 73

23 Translation into SPARQL Algebra Filter(?price < 15, Join( LeftJoin(Bgp(?book < Bgp(?book < true), Union(Bgp(?book < < Bgp(?book < < TU Dresden, August 2013 RDF and SPARQL slide 23 of 73

24 Translation into SPARQL Algebra Filter(?price < 15, Join( LeftJoin(Bgp(?book < Bgp(?book < true), Union(Bgp(?book < < Bgp(?book < < Online translation tool: TU Dresden, August 2013 RDF and SPARQL slide 24 of 73

25 Agenda 1 Recap 2 SPARQL Semantics 3 Transformation of Queries into Algebra Objects 4 Evaluation of the SPARQL Algebra 5 Operators for the Modifiers 6 Summary TU Dresden, August 2013 RDF and SPARQL slide 25 of 73

26 Semantics of the SPARQL Algebra Operations Now we have an algebra object, but what do the algebra operations mean? Bgp(P) match/evaluate pattern P Join(M 1, M 2 ) conjunctive join of solutions M 1 and M 2 Union(M 1, M 2 ) union of solutions M 1 with M 2 LeftJoin(M 1, M 2, F) optional join of M 1 with M 2 with filter constraint F (true if no filter given) Filter(F, M) filter solutions M with constraint F Z empty pattern (identity for join) TU Dresden, August 2013 RDF and SPARQL slide 26 of 73

27 Semantics of the SPARQL Algebra Operations Now we have an algebra object, but what do the algebra operations mean? Bgp(P) match/evaluate pattern P Join(M 1, M 2 ) conjunctive join of solutions M 1 and M 2 Union(M 1, M 2 ) union of solutions M 1 with M 2 LeftJoin(M 1, M 2, F) optional join of M 1 with M 2 with filter constraint F (true if no filter given) Filter(F, M) filter solutions M with constraint F Z empty pattern (identity for join) Only Bgp( ) matches or evaluates graph patterns We can use entailment checking rather than graph matching TU Dresden, August 2013 RDF and SPARQL slide 27 of 73

28 Definition of the SPARQL Operators How can we define that more formally? Output: solution set (formatting irrelevant) Input: Queried (active) graph Partial results from previous evaluation steps Different parameters according to the operation How can we formally describe the results? TU Dresden, August 2013 RDF and SPARQL slide 28 of 73

29 SPARQL Results Intuition: Results coded as tables of variable assignments Result: List of solutions (solution sequence) each solution corresponds to one table row TU Dresden, August 2013 RDF and SPARQL slide 29 of 73

30 SPARQL Results Intuition: Results coded as tables of variable assignments Result: List of solutions (solution sequence) each solution corresponds to one table row Solution: Partial function Domain: relevant variables Range: IRIs blank nodes RDF literals Unbound variables are those that have no assigned value (partial function) TU Dresden, August 2013 RDF and SPARQL slide 30 of 73

31 Evaluation of Basic Graph Patterns Definition (Solution) Let P be a basic graph pattern. A partial function µ is a solution for Bgp(P) over the queried (active) graph G if: 1 the domain of µ is exactly the set of variables in P, 2 there exists an assignment σ from blank nodes in P to IRIs, blank nodes, or RDF literals such that: 3 the RDF graph µ(σ(p)) is a subgraph of G. TU Dresden, August 2013 RDF and SPARQL slide 31 of 73

32 Evaluation of Basic Graph Patterns The result of evaluating Bgp(P) over G is written Bgp(P) G The result is a multi set of solutions µ The multiplicity of each solution µ corresponds to the number of different assignments σ TU Dresden, August 2013 RDF and SPARQL slide 32 of 73

33 Multi Sets Definition (Multi Set) A multi set over a set S is a total function M : S IN + {ω} IN + denotes the positive natural numbers ω > n for all n IN + M(s) is the multiplicity of s S ω: countably infinite number of occurrences We represent a multi se over the set S also with the set {(s, M(s)) s S} We write (s, n) M if M(s) = n We assume that M(s) = 0 if s / S Alternative notation: {a, b, b } corresponds to the multi set M over the set {a, b} with M(a) = 1 and M(b) = 2 TU Dresden, August 2013 RDF and SPARQL slide 33 of 73

34 Solution Mapping Example ex:birte ex:gives [ a ex:lecture ; ex:hastopic "SPARQL" ]. ex:sebastian ex:gives [ a ex:lecture ; ex:hastopic "DLs and OWL" ]. Bgp(?who ex:gives _ :x. _ :x ex:hastopic?what) TU Dresden, August 2013 RDF and SPARQL slide 34 of 73

35 Solution Mapping Example ex:birte ex:gives _ :a. _ :a rdf:type ex:lecture. _ :a ex:hastopic "SPARQL". ex:sebastian ex:gives _ :b. _ :b rdf:type ex:lecture. _ :b ex:hastopic "DLs and OWL". Bgp(?who ex:gives _ :x. _ :x ex:hastopic?what) TU Dresden, August 2013 RDF and SPARQL slide 35 of 73

36 Solution Mapping Example ex:birte ex:gives _ :a. _ :a rdf:type ex:lecture. _ :a ex:hastopic "SPARQL". ex:sebastian ex:gives _ :b. _ :b rdf:type ex:lecture. _ :b ex:hastopic "DLs and OWL". Bgp(?who ex:gives _ :x. _ :x ex:hastopic?what) µ 1 :?who ex : Birte,?what "SPARQL" σ 1 : _ :x _ :a TU Dresden, August 2013 RDF and SPARQL slide 36 of 73

37 Solution Mapping Example ex:birte ex:gives _ :a. _ :a rdf:type ex:lecture. _ :a ex:hastopic "SPARQL". ex:sebastian ex:gives _ :b. _ :b rdf:type ex:lecture. _ :b ex:hastopic "DLs and OWL". Bgp(?who ex:gives _ :x. _ :x ex:hastopic?what) µ 1 :?who ex : Birte,?what "SPARQL" σ 1 : _ :x _ :a µ 2 :?who ex : Sebastian,?what "DLs and OWL" σ 2 : _ :x _ :b TU Dresden, August 2013 RDF and SPARQL slide 37 of 73

38 Solution Mapping Example ex:birte ex:gives _ :a. _ :a rdf:type ex:lecture. _ :a ex:hastopic "SPARQL". ex:sebastian ex:gives _ :b. _ :b rdf:type ex:lecture. _ :b ex:hastopic "DLs and OWL". Bgp(?who ex:gives _ :x. _ :x ex:hastopic?what) µ 1 :?who ex : Birte,?what "SPARQL" σ 1 : _ :x _ :a µ 2 :?who ex : Sebastian,?what "DLs and OWL" σ 2 : _ :x _ :b Two solutions each with multiplicity 1 TU Dresden, August 2013 RDF and SPARQL slide 38 of 73

39 Exercise Solution Sets ex:birte ex:gives [ a ex:lecture ; ex:hastopic "SPARQL" ]. ex:birte ex:gives [ a ex:lecture ; ex:hastopic "SPARQL Algebra" ]. Bgp(?who ex:gives _ :x. _ :x ex:hastopic _ :y) TU Dresden, August 2013 RDF and SPARQL slide 39 of 73

40 Solution TU Dresden, August 2013 RDF and SPARQL slide 40 of 73

41 Solution ex:birte ex:gives _ :a. _ :a rdf:type ex:lecture. _ :a ex:hastopic "SPARQL". ex:birte ex:gives _ :b. _ :b rdf:type ex:lecture. _ :b ex:hastopic "SPARQL Algebra". Bgp(?who ex:gives _ :x. _ :x ex:hastopic _ :y) TU Dresden, August 2013 RDF and SPARQL slide 41 of 73

42 Solution ex:birte ex:gives _ :a. _ :a rdf:type ex:lecture. _ :a ex:hastopic "SPARQL". ex:birte ex:gives _ :b. _ :b rdf:type ex:lecture. _ :b ex:hastopic "SPARQL Algebra". Bgp(?who ex:gives _ :x. _ :x ex:hastopic _ :y) µ 1 :?who ex : Birte, σ 1 : _ :x _ :a _ :y "SPARQL" TU Dresden, August 2013 RDF and SPARQL slide 42 of 73

43 Solution ex:birte ex:gives _ :a. _ :a rdf:type ex:lecture. _ :a ex:hastopic "SPARQL". ex:birte ex:gives _ :b. _ :b rdf:type ex:lecture. _ :b ex:hastopic "SPARQL Algebra". Bgp(?who ex:gives _ :x. _ :x ex:hastopic _ :y) µ 1 :?who ex : Birte, σ 1 : _ :x _ :a _ :y "SPARQL" µ 2 :?who ex : Birte, σ 2 : _ :x _ :b _ :y "SPARQL Algebra" TU Dresden, August 2013 RDF and SPARQL slide 43 of 73

44 Solution ex:birte ex:gives _ :a. _ :a rdf:type ex:lecture. _ :a ex:hastopic "SPARQL". ex:birte ex:gives _ :b. _ :b rdf:type ex:lecture. _ :b ex:hastopic "SPARQL Algebra". Bgp(?who ex:gives _ :x. _ :x ex:hastopic _ :y) µ 1 :?who ex : Birte, σ 1 : _ :x _ :a _ :y "SPARQL" µ 2 :?who ex : Birte, σ 2 : _ :x _ :b _ :y "SPARQL Algebra" One solution with multiplicity 2 TU Dresden, August 2013 RDF and SPARQL slide 44 of 73

45 Union of Solutions (1) Definition (Compatibility) Two solutions µ 1 and µ 2 are compatible if µ 1 (x) = µ 2 (x) for all x, for which µ 1 and µ 2 are defined TU Dresden, August 2013 RDF and SPARQL slide 45 of 73

46 Union of Solutions (1) Definition (Compatibility) Two solutions µ 1 and µ 2 are compatible if µ 1 (x) = µ 2 (x) for all x, for which µ 1 and µ 2 are defined µ 1 :?x ex : a,?y ex : b µ 2 :?y ex : b,?z ex : c TU Dresden, August 2013 RDF and SPARQL slide 46 of 73

47 Union of Solutions (1) Definition (Compatibility) Two solutions µ 1 and µ 2 are compatible if µ 1 (x) = µ 2 (x) for all x, for which µ 1 and µ 2 are defined µ 1 :?x ex : a,?y ex : b µ 2 :?y ex : b,?z ex : c TU Dresden, August 2013 RDF and SPARQL slide 47 of 73

48 Union of Solutions (1) Definition (Compatibility) Two solutions µ 1 and µ 2 are compatible if µ 1 (x) = µ 2 (x) for all x, for which µ 1 and µ 2 are defined µ 1 :?x ex : a,?y ex : b µ 2 :?y ex : b,?z ex : c µ 1 :?x ex : a,?y ex : b µ 2 :?x ex : b,?z ex : c TU Dresden, August 2013 RDF and SPARQL slide 48 of 73

49 Union of Solutions (1) Definition (Compatibility) Two solutions µ 1 and µ 2 are compatible if µ 1 (x) = µ 2 (x) for all x, for which µ 1 and µ 2 are defined µ 1 :?x ex : a,?y ex : b µ 2 :?y ex : b,?z ex : c µ 1 :?x ex : a,?y ex : b µ 2 :?x ex : b,?z ex : c TU Dresden, August 2013 RDF and SPARQL slide 49 of 73

50 Union of Solutions (1) Definition (Compatibility) Two solutions µ 1 and µ 2 are compatible if µ 1 (x) = µ 2 (x) for all x, for which µ 1 and µ 2 are defined µ 1 :?x ex : a,?y ex : b µ 2 :?y ex : b,?z ex : c µ 1 :?x ex : a,?y ex : b µ 2 :?x ex : b,?z ex : c µ 1 :?x ex : a µ 2 :?y ex : b TU Dresden, August 2013 RDF and SPARQL slide 50 of 73

51 Union of Solutions (1) Definition (Compatibility) Two solutions µ 1 and µ 2 are compatible if µ 1 (x) = µ 2 (x) for all x, for which µ 1 and µ 2 are defined µ 1 :?x ex : a,?y ex : b µ 2 :?y ex : b,?z ex : c µ 1 :?x ex : a,?y ex : b µ 2 :?x ex : b,?z ex : c µ 1 :?x ex : a µ 2 :?y ex : b TU Dresden, August 2013 RDF and SPARQL slide 51 of 73

52 Union of Solutions (2) Union of two compatible solutions µ 1 and µ 2 : { µ1 (x) if x dom(µ (µ 1 µ 2 )(x) = 1 ) µ 2 (x) otherwise simple intuition: union of matching table rows TU Dresden, August 2013 RDF and SPARQL slide 52 of 73

53 Evaluation of Join( ) For the evaluation of Join(A 1, A 2 ) over a graph G with A 1, A 2 algebra objects, we define: Let M 1 = A 1 G Let M 2 = A 2 G Let J(µ) = { (µ 1, µ 2 ) M 1 (µ 1 ) > 0, M 2 (µ 2 ) > 0, µ 1 and µ 2 are compatible and µ = µ 1 µ 2 } J defines compatible pairs of solutions from M 1 and M 2 The evaluation Join(A 1, A 2 ) G results in { (µ, n ) n = ( M1 (µ 1 ) M 2 (µ 2 ) ) > 0} (µ 1,µ 2 ) J(µ) TU Dresden, August 2013 RDF and SPARQL slide 53 of 73

54 Example to Join( ) We consider Join(A 1, A 2 ) over a graph G with A 1 G = M 1, A 2 G = M 2 and: M 1 ={((µ 1 :?x ex : a,?y ex : b), 2), ((µ 2 :?x ex : a, 1)} M 2 ={((µ 3 :?y ex : b,?z ex : c, 3)} µ =?x ex : a,?y ex : b,?z ex : c J(µ) ={(µ 1, µ 3 ), (µ 2, µ 3 )} { (µ, ) ( Join(M 1, M 2 ) = n n = M1 (µ 1 ) M 2 (µ 2 ) ) > 0} (µ 1,µ 2 ) J(µ) ={(µ, 9)} n = = = 9 TU Dresden, August 2013 RDF and SPARQL slide 54 of 73

55 Evaluation of Union( ) The evaluation of Union(A 1, A 2 ) over a graph G, written Union(A 1, A 2 ) G, with A 1, A 2 algebra objects results in: { } (µ, n) M 1 = A 1 G, M 2 = A 2 G, n = M 1 (µ) + M 2 (µ) > 0 TU Dresden, August 2013 RDF and SPARQL slide 55 of 73

56 Evaluation of Filter( ) The evaluation of Filter(F, A) over a graph G, written Filter(F, A) G, with F a filter condition and A an algebra object results in: { } (µ, n) M = A G, M(µ) = n > 0 and µ(f) = true µ(f) is the Boolean result of evaluating the filter condition TU Dresden, August 2013 RDF and SPARQL slide 56 of 73

57 Evaluation of LeftJoin( ) The evaluation of LeftJoin(A 1, A 2, F) over a graph G with F a filter condition and A 1, A 2 algebra objects is defined as: M 1 = A 1 G M 2 = A 2 G The evaluation LeftJoin(A 1, A 2, F) G of LeftJoin(A 1, A 2, F) over G results in Filter(F, Join(A 1, A 2 )) G { (µ1, M 1 (µ 1 ) ) for all µ 2 with M 2 (µ 2 ) > 0 : µ 1 and µ 2 are } incompatible or (µ 1 µ 2 )(F) = false TU Dresden, August 2013 RDF and SPARQL slide 57 of 73

58 ex: xsd: < ex:hamlet ex:author ex:shakespeare ; ex:price "10.50"^^xsd:decimal. ex:macbeth ex:author ex:shakespeare. ex:tamburlaine ex:author ex:marlowe ; ex:price "17"^^xsd:integer. ex:doctorfaustus ex:author ex:marlowe ; ex:price "12"^^xsd:integer ; ex:title "The Tragical History of Doctor Faustus". ex:romeojulia ex:author ex:brooke ; ex:price "9"^^xsd:integer. {?book ex:price?price. FILTER (?price < 15) OPTIONAL {?book ex:title?title. } {?book ex:author ex:shakespeare. } UNION {?book ex:author ex:marlowe. } } TU Dresden, August 2013 RDF and SPARQL slide 58 of 73

59 @prefix ex: xsd: < ex:hamlet ex:author ex:shakespeare ; ex:price "10.50"^^xsd:decimal. ex:macbeth ex:author ex:shakespeare. ex:tamburlaine ex:author ex:marlowe ; ex:price "17"^^xsd:integer. ex:doctorfaustus ex:author ex:marlowe ; ex:price "12"^^xsd:integer ; ex:title "The Tragical History of Doctor Faustus". ex:romeojulia ex:author ex:brooke ; ex:price "9"^^xsd:integer. Filter(?price < 15, Join(LeftJoin(Bgp(?book < Bgp(?book < true), Union(Bgp(?book < < Bgp(?book < < TU Dresden, August 2013 RDF and SPARQL slide 59 of 73

60 Example Evaluation (1) Filter(?price < 15, Join( LeftJoin(Bgp(?book < Bgp(?book < true), Union(Bgp(?book < < Bgp(?book < < book ex:tamburlaine ex:doctorfaustus TU Dresden, August 2013 RDF and SPARQL slide 60 of 73

61 Example Evaluation (1) Filter(?price < 15, Join( LeftJoin(Bgp(?book < Bgp(?book < true), Union(Bgp(?book < < Bgp(?book < < book ex:tamburlaine ex:doctorfaustus book ex:macbeth ex:hamlet TU Dresden, August 2013 RDF and SPARQL slide 61 of 73

62 Example Evaluation (2) Filter(?price < 15, Join( LeftJoin(Bgp(?book < Bgp(?book < true), Union(Bgp(?book < < Bgp(?book < < book ex:hamlet ex:macbeth ex:tamburlaine ex:doctorfaustus TU Dresden, August 2013 RDF and SPARQL slide 62 of 73

63 Example Evaluation (3) Filter(?price < 15, Join( LeftJoin(Bgp(?book < Bgp(?book < true), Union(Bgp(?book < < Bgp(?book < < book price ex:hamlet 10.5 ex:tamburlaine 17 ex:doctorfaustus 12 ex:romeojulia 9 TU Dresden, August 2013 RDF and SPARQL slide 63 of 73

64 Example Evaluation (3) Filter(?price < 15, Join( LeftJoin(Bgp(?book < Bgp(?book < true), Union(Bgp(?book < < Bgp(?book < < book price ex:hamlet 10.5 ex:tamburlaine 17 ex:doctorfaustus 12 ex:romeojulia 9 book title ex:doctorfaustus "The Tragical History of Doctor Faustus" TU Dresden, August 2013 RDF and SPARQL slide 64 of 73

65 Example Evaluation (4) Filter(?price < 15, Join( LeftJoin(Bgp(?book < Bgp(?book < true), Union(Bgp(?book < < Bgp(?book < < book price title ex:hamlet 10.5 ex:tamburlaine 17 ex:doctorfaustus 12 "The Tragical History of Doctor Faustus" ex:romeojulia 9 TU Dresden, August 2013 RDF and SPARQL slide 65 of 73

66 Example Evaluation (5) Filter(?price < 15, Join( LeftJoin(Bgp(?book < Bgp(?book < true), Union(Bgp(?book < < Bgp(?book < < book price title ex:hamlet 10.5 ex:tamburlaine 17 ex:doctorfaustus 12 "The Tragical History of Doctor Faustus" TU Dresden, August 2013 RDF and SPARQL slide 66 of 73

67 Example Evaluation (6) Filter(?price < 15, Join( LeftJoin(Bgp(?book < Bgp(?book < true), Union(Bgp(?book < < Bgp(?book < < book price title ex:hamlet 10.5 ex:doctorfaustus 12 "The Tragical History of Doctor Faustus" TU Dresden, August 2013 RDF and SPARQL slide 67 of 73

68 Agenda 1 Recap 2 SPARQL Semantics 3 Transformation of Queries into Algebra Objects 4 Evaluation of the SPARQL Algebra 5 Operators for the Modifiers 6 Summary TU Dresden, August 2013 RDF and SPARQL slide 68 of 73

69 Operators for Representing the Modifiers ToList(M) OrderBy(M, comparators) Distinct(M) Reduced(M) Slice(M, o, l) Project(M, vars) Constructs from a multi set a sequence with the same elements and multiplicity (arbitrary order, duplicates not necessarily adjacent) sorts the solutions removes the duplicates may remove duplicates cuts the solutions to a list of length l starting from position o projects out the mentioned variables TU Dresden, August 2013 RDF and SPARQL slide 69 of 73

70 Transformation of the Modifiers Let q be a SPARQL query with pattern P and corresponding algebra object A P. We construct an algebra object A q for q as follows: 1 A q := ToList(A P ) 2 A q := OrderBy(A q, (c 1,..., c n)) if q contains an ORDER BY clause with comparators c 1,..., c n 3 A q := Project(A q, vars) if the result format is SELECT with vars the selected variables (* all variables in scope) 4 A q := Distinct(A q) is the result format is SELECT and q contains DISTINCT 5 A q := Reduced(A q) if the result format is SELECT and q contains REDUCED 6 A q := Slice(A q, start, length) if the query contains OFFSET start or LIMIT length where start defaults to 0 and length defaults to ( A q G start) TU Dresden, August 2013 RDF and SPARQL slide 70 of 73

71 Evaluation of the Modifiers The algebra objects for the modifiers are recursively evaluated Evaluate the algebra expression of the operator Apply the operations for the solution modifiers to the obtained solutions TU Dresden, August 2013 RDF and SPARQL slide 71 of 73

72 Agenda 1 Recap 2 SPARQL Semantics 3 Transformation of Queries into Algebra Objects 4 Evaluation of the SPARQL Algebra 5 Operators for the Modifiers 6 Summary TU Dresden, August 2013 RDF and SPARQL slide 72 of 73

73 Summary We learned how to evaluate SPARQL queries The query is transformed into an algebra object The query basic graph patterns generate solutions The other operators combine solutions The result format determines how the solutions are presented TU Dresden, August 2013 RDF and SPARQL slide 73 of 73

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES Semantics of SPARQL Sebastian Rudolph Dresden, June 14 Content Overview & XML 9 APR DS2 Hypertableau II 7 JUN DS5 Introduction into RDF 9 APR DS3 Tutorial 5 11

More information

RDF AND SPARQL. Part IV: Syntax of SPARQL. Dresden, August Sebastian Rudolph ICCL Summer School

RDF AND SPARQL. Part IV: Syntax of SPARQL. Dresden, August Sebastian Rudolph ICCL Summer School RDF AND SPARQL Part IV: Syntax of SPARQL Sebastian Rudolph ICCL Summer School Dresden, August 2013 Agenda 1 Introduction and Motivation 2 Simple SPARQL Queries 3 Complex Graph Pattern 4 Filters 5 Solution

More information

CS Knowledge Representation and Reasoning (for the Semantic Web)

CS Knowledge Representation and Reasoning (for the Semantic Web) CS 7810 - Knowledge Representation and Reasoning (for the Semantic Web) 05 - SPARQL Adila Krisnadhi Data Semantics Lab Wright State University, Dayton, OH October 4, 2016 Krisnadhi (DaSeLab - Wright State)

More information

Using SPARQL with RDFS and OWL Entailment

Using SPARQL with RDFS and OWL Entailment Using SPARQL with RDFS and OWL Entailment Birte Glimm The University of Oxford, Department of Computer Science, UK Abstract. This chapter accompanies the lecture on SPARQL with entailment regimes at the

More information

KNOWLEDGE GRAPHS. Lecture 4: Introduction to SPARQL. TU Dresden, 6th Nov Markus Krötzsch Knowledge-Based Systems

KNOWLEDGE GRAPHS. Lecture 4: Introduction to SPARQL. TU Dresden, 6th Nov Markus Krötzsch Knowledge-Based Systems KNOWLEDGE GRAPHS Lecture 4: Introduction to SPARQL Markus Krötzsch Knowledge-Based Systems TU Dresden, 6th Nov 2018 Review We can use reification to encode complex structures in RDF graphs: Film Actor

More information

MI-PDB, MIE-PDB: Advanced Database Systems

MI-PDB, MIE-PDB: Advanced Database Systems MI-PDB, MIE-PDB: Advanced Database Systems http://www.ksi.mff.cuni.cz/~svoboda/courses/2015-2-mie-pdb/ Lecture 11: RDF, SPARQL 3. 5. 2016 Lecturer: Martin Svoboda svoboda@ksi.mff.cuni.cz Author: Martin

More information

SPARQL By Example: The Cheat Sheet

SPARQL By Example: The Cheat Sheet SPARQL By Example: The Cheat Sheet Accompanies slides at: http://www.cambridgesemantics.com/semantic-university/sparql-by-example Comments & questions to: Lee Feigenbaum VP

More information

SEMANTIC WEB 07 SPARQL TUTORIAL BY EXAMPLE: DBPEDIA IMRAN IHSAN ASSISTANT PROFESSOR, AIR UNIVERSITY, ISLAMABAD

SEMANTIC WEB 07 SPARQL TUTORIAL BY EXAMPLE: DBPEDIA IMRAN IHSAN ASSISTANT PROFESSOR, AIR UNIVERSITY, ISLAMABAD SEMANTIC WEB 07 SPARQL TUTORIAL BY EXAMPLE: DBPEDIA IMRAN IHSAN ASSISTANT PROFESSOR, AIR UNIVERSITY, ISLAMABAD WWW.IMRANIHSAN.COM VIRTUOSO SERVER DOWNLOAD Open Link Virtuoso Server http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/main/vosdownload

More information

SPARQL: An RDF Query Language

SPARQL: An RDF Query Language SPARQL: An RDF Query Language Wiltrud Kessler Institut für Maschinelle Sprachverarbeitung Universität Stuttgart Semantic Web Winter 2015/16 This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike

More information

Semantic Web Information Management

Semantic Web Information Management Semantic Web Information Management Norberto Fernández ndez Telematics Engineering Department berto@ it.uc3m.es.es 1 Motivation n Module 1: An ontology models a domain of knowledge n Module 2: using the

More information

RDF AND SPARQL. Part III: Semantics of RDF(S) Dresden, August Sebastian Rudolph ICCL Summer School

RDF AND SPARQL. Part III: Semantics of RDF(S) Dresden, August Sebastian Rudolph ICCL Summer School RDF AND SPARQL Part III: Semantics of RDF(S) Sebastian Rudolph ICCL Summer School Dresden, August 2013 Agenda 1 Motivation and Considerations 2 Simple Entailment 3 RDF Entailment 4 RDFS Entailment 5 Downsides

More information

Schema-Agnostic Query Rewriting in SPARQL 1.1

Schema-Agnostic Query Rewriting in SPARQL 1.1 Fakultät Informatik, Institut Künstliche Intelligenz, Professur Computational Logic Schema-Agnostic Query Rewriting in SPARQL 1.1 Stefan Bischof, Markus Krötzsch, Axel Polleres and Sebastian Rudolph Plain

More information

RDF AND SPARQL. Part I: Basics of RDF. Dresden, August Sebastian Rudolph ICCL Summer School

RDF AND SPARQL. Part I: Basics of RDF. Dresden, August Sebastian Rudolph ICCL Summer School RDF AND SPARQL Part I: Basics of RDF Sebastian Rudolph ICCL Summer School Dresden, August 2013 Agenda RDF Motivation URIs RDF data model Syntax for RDF: Turtle and XML Datatypes Multi-Valued Relationships

More information

INFO216: Advanced Modelling

INFO216: Advanced Modelling INFO216: Advanced Modelling Theme, spring 2018: Modelling and Programming the Web of Data Andreas L. Opdahl Session 3: SPARQL Themes: introducing SPARQL Update SPARQL 1.1 Update

More information

SPARQL ME-E4300 Semantic Web,

SPARQL ME-E4300 Semantic Web, SPARQL ME-E4300 Semantic Web, 27.1.2016 Jouni Tuominen Semantic Computing Research Group (SeCo), http://seco.cs.aalto.fi jouni.tuominen@aalto.fi SPARQL SPARQL Protocol and RDF Query Language sparkle 2

More information

Chapter 3 Querying RDF stores with SPARQL

Chapter 3 Querying RDF stores with SPARQL Chapter 3 Querying RDF stores with SPARQL Why an RDF Query Language? l Why not use an XML query language? l XML at a lower level of abstraction than RDF l There are various ways of syntactically representing

More information

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES Semantics of RDF(S) Sebastian Rudolph Dresden, 25 April 2014 Content Overview & XML Introduction into RDF RDFS Syntax & Intuition Tutorial 1 RDFS Semantics RDFS

More information

Semantics in RDF and SPARQL Some Considerations

Semantics in RDF and SPARQL Some Considerations Semantics in RDF and SPARQL Some Considerations Dept. Computer Science, Universidad de Chile Center for Semantic Web Research http://ciws.cl Dagstuhl, June 2017 Semantics RDF and SPARQL 1 / 7 Semantics

More information

Towards Equivalences for Federated SPARQL Queries

Towards Equivalences for Federated SPARQL Queries Towards Equivalences for Federated SPARQL Queries Carlos Buil-Aranda 1? and Axel Polleres 2?? 1 Department of Computer Science, Pontificia Universidad Católica, Chile cbuil@ing.puc.cl 2 Vienna University

More information

Querying RDF & RDFS. Several query languages exist to retrieve

Querying RDF & RDFS. Several query languages exist to retrieve Knowledge management: Querying with SPARQL 1 Querying RDF & RDFS Several query languages exist to retrieve resulting triples from RDF RDQL SERQL SPARQL These languages use triple patterns as input and

More information

3. Queries Applied Artificial Intelligence Prof. Dr. Bernhard Humm Faculty of Computer Science Hochschule Darmstadt University of Applied Sciences

3. Queries Applied Artificial Intelligence Prof. Dr. Bernhard Humm Faculty of Computer Science Hochschule Darmstadt University of Applied Sciences 3. Queries Applied Artificial Intelligence Prof. Dr. Bernhard Humm Faculty of Computer Science Hochschule Darmstadt University of Applied Sciences 1 Retrospective Knowledge Representation (1/2) What is

More information

CS Knowledge Representation and Reasoning (for the Semantic Web)

CS Knowledge Representation and Reasoning (for the Semantic Web) CS 7810 - Knowledge Representation and Reasoning (for the Semantic Web) 02 Resource Description Framework (RDF) Adila Krisnadhi Data Semantics Lab, Wright State University, Dayton, OH Outline 1. Motivation:

More information

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES RDFS Rule-based Reasoning Sebastian Rudolph Dresden, 16 April 2013 Content Overview & XML 9 APR DS2 Hypertableau II 7 JUN DS5 Introduction into RDF 9 APR DS3 Tutorial

More information

Querying the Semantic Web

Querying the Semantic Web Querying the Semantic Web CSE 595 Semantic Web Instructor: Dr. Paul Fodor Stony Brook University http://www3.cs.stonybrook.edu/~pfodor/courses/cse595.html Lecture Outline SPARQL Infrastructure Basics:

More information

Linked Stream Data Processing Part I: Basic Concepts & Modeling

Linked Stream Data Processing Part I: Basic Concepts & Modeling Linked Stream Data Processing Part I: Basic Concepts & Modeling Danh Le-Phuoc, Josiane X. Parreira, and Manfred Hauswirth DERI - National University of Ireland, Galway Reasoning Web Summer School 2012

More information

SPARQL. Dr Nicholas Gibbins

SPARQL. Dr Nicholas Gibbins SPARQL Dr Nicholas Gibbins nmg@ecs.soton.ac.uk Semantic Web Applications Technologies considered so far allow us to create representation schemes (RDFS, OWL) and to represent data (RDF) We can put data

More information

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES Semantics of RDF(S) Sebastian Rudolph Dresden, 16 April 2013 Agenda 1 Motivation and Considerations 2 Simple Entailment 3 RDF Entailment 4 RDFS Entailment 5 Downsides

More information

On the Hardness of Counting the Solutions of SPARQL Queries

On the Hardness of Counting the Solutions of SPARQL Queries On the Hardness of Counting the Solutions of SPARQL Queries Reinhard Pichler and Sebastian Skritek Vienna University of Technology, Faculty of Informatics {pichler,skritek}@dbai.tuwien.ac.at 1 Introduction

More information

FOUNDATIONS OF DATABASES AND QUERY LANGUAGES

FOUNDATIONS OF DATABASES AND QUERY LANGUAGES FOUNDATIONS OF DATABASES AND QUERY LANGUAGES Lecture 14: Database Theory in Practice Markus Krötzsch TU Dresden, 20 July 2015 Overview 1. Introduction Relational data model 2. First-order queries 3. Complexity

More information

Day 2. RISIS Linked Data Course

Day 2. RISIS Linked Data Course Day 2 RISIS Linked Data Course Overview of the Course: Friday 9:00-9:15 Coffee 9:15-9:45 Introduction & Reflection 10:30-11:30 SPARQL Query Language 11:30-11:45 Coffee 11:45-12:30 SPARQL Hands-on 12:30-13:30

More information

KNOWLEDGE GRAPHS. Lecture 2: Encoding Graphs with RDF. TU Dresden, 23th Oct Markus Krötzsch Knowledge-Based Systems

KNOWLEDGE GRAPHS. Lecture 2: Encoding Graphs with RDF. TU Dresden, 23th Oct Markus Krötzsch Knowledge-Based Systems KNOWLEDGE GRAPHS Lecture 2: Encoding Graphs with RDF Markus Krötzsch Knowledge-Based Systems TU Dresden, 23th Oct 2018 Encoding Graphs We have seen that graphs can be encoded in several ways: Adjacency

More information

SPARQL Beyond Subgraph Matching

SPARQL Beyond Subgraph Matching SPARQL Beyond Subgraph Matching Birte Glimm and Markus Krötzsch Oxford University Computing Laboratory, UK Abstract. We extend the Semantic Web query language SPARQL by defining the semantics of SPARQL

More information

Relational Databases

Relational Databases Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 49 Plan of the course 1 Relational databases 2 Relational database design 3 Conceptual database design 4

More information

KNOWLEDGE GRAPHS. Lecture 3: Modelling in RDF/Introduction to SPARQL. TU Dresden, 30th Oct Markus Krötzsch Knowledge-Based Systems

KNOWLEDGE GRAPHS. Lecture 3: Modelling in RDF/Introduction to SPARQL. TU Dresden, 30th Oct Markus Krötzsch Knowledge-Based Systems KNOWLEDGE GRAPHS Lecture 3: Modelling in RDF/Introduction to SPARQL Markus Krötzsch Knowledge-Based Systems TU Dresden, 30th Oct 2018 Review: RDF Graphs The W3C Resource Description Framework considers

More information

The Logic of the Semantic Web. Enrico Franconi Free University of Bozen-Bolzano, Italy

The Logic of the Semantic Web. Enrico Franconi Free University of Bozen-Bolzano, Italy The Logic of the Semantic Web Enrico Franconi Free University of Bozen-Bolzano, Italy What is this talk about 2 What is this talk about A sort of tutorial of RDF, the core semantic web knowledge representation

More information

Semantic Web Technologies

Semantic Web Technologies 1/57 Introduction and RDF Jos de Bruijn debruijn@inf.unibz.it KRDB Research Group Free University of Bolzano, Italy 3 October 2007 2/57 Outline Organization Semantic Web Limitations of the Web Machine-processable

More information

R2RML: RDB to RDF Mapping Language

R2RML: RDB to RDF Mapping Language 1 : RDB to RDF Mapping Language Werner Nutt 2 Acknowledgment These slides are based on a slide set by Mariano Rodriguez 3 Reading Material/Sources specification by W3C http://www.w3.org/tr/r2rml/ specification

More information

SPARQL QUERY LANGUAGE WEB:

SPARQL QUERY LANGUAGE   WEB: SPARQL QUERY LANGUAGE JELENA JOVANOVIC EMAIL: JELJOV@GMAIL.COM WEB: HTTP://JELENAJOVANOVIC.NET SPARQL query language W3C standard for querying RDF graphs Can be used to query not only native RDF data,

More information

Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on XML and Semantic Web

Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on XML and Semantic Web Course on XML and Semantic Web Technologies, summer term 2012 0/45 XML and Semantic Web Technologies XML and Semantic Web Technologies II. Semantic Web / 3. SPARQL Query Language for RDF Lars Schmidt-Thieme

More information

Unit 2 RDF Formal Semantics in Detail

Unit 2 RDF Formal Semantics in Detail Unit 2 RDF Formal Semantics in Detail Axel Polleres Siemens AG Österreich VU 184.729 Semantic Web Technologies A. Polleres VU 184.729 1/41 Where are we? Last time we learnt: Basic ideas about RDF and how

More information

CS Knowledge Representation and Reasoning (for the Semantic Web)

CS Knowledge Representation and Reasoning (for the Semantic Web) CS 7810 - Knowledge Representation and Reasoning (for the Semantic Web) 04 - RDF Semantics Adila Krisnadhi Data Semantics Lab Wright State University, Dayton, OH September 13, 2016 Adila Krisnadhi (Data

More information

INF3580/4580 Semantic Technologies Spring 2017

INF3580/4580 Semantic Technologies Spring 2017 INF3580/4580 Semantic Technologies Spring 2017 Lecture 9: Model Semantics & Reasoning Martin Giese 13th March 2017 Department of Informatics University of Oslo Today s Plan 1 Repetition: RDF semantics

More information

Semantic reasoning for dynamic knowledge bases. Lionel Médini M2IA Knowledge Dynamics 2018

Semantic reasoning for dynamic knowledge bases. Lionel Médini M2IA Knowledge Dynamics 2018 Semantic reasoning for dynamic knowledge bases Lionel Médini M2IA Knowledge Dynamics 2018 1 Outline Summary Logics Semantic Web Languages Reasoning Web-based reasoning techniques Reasoning using SemWeb

More information

Querying Data with Transact SQL

Querying Data with Transact SQL Course 20761A: Querying Data with Transact SQL Course details Course Outline Module 1: Introduction to Microsoft SQL Server 2016 This module introduces SQL Server, the versions of SQL Server, including

More information

H1 Spring B. Programmers need to learn the SOAP schema so as to offer and use Web services.

H1 Spring B. Programmers need to learn the SOAP schema so as to offer and use Web services. 1. (24 points) Identify all of the following statements that are true about the basics of services. A. If you know that two parties implement SOAP, then you can safely conclude they will interoperate at

More information

BASI DI DATI II 2 modulo Parte VIII: SPARQL

BASI DI DATI II 2 modulo Parte VIII: SPARQL BASI DI DATI II 2 modulo Parte VIII: SPARQL Prof. Riccardo Torlone Università Roma Tre Outline Querying RDF SPARQL Query Languages: SQL A language for querying collections of tuples: SELECT SALARY, HIRE_DATE

More information

SPARQL BGP Optimization For native RDF graph implementations

SPARQL BGP Optimization For native RDF graph implementations SPARQL BGP Optimization For native RDF graph implementations Markus Stocker, HP Laboratories Bristol Manchester, 23. October 2007 About me Markus Stocker Born in Switzerland, 1979, Ascona Languages: De,

More information

SEMANTIC WEB 03 RDF DATA MODEL RESOURCE DESCRIPTION FRAMEWORK IMRAN IHSAN ASSISTANT PROFESSOR, AIR UNIVERSITY, ISLAMABAD

SEMANTIC WEB 03 RDF DATA MODEL RESOURCE DESCRIPTION FRAMEWORK IMRAN IHSAN ASSISTANT PROFESSOR, AIR UNIVERSITY, ISLAMABAD SEMANTIC WEB 03 RDF DATA MODEL RESOURCE DESCRIPTION FRAMEWORK IMRAN IHSAN ASSISTANT PROFESSOR, AIR UNIVERSITY, ISLAMABAD WWW.IMRANIHSAN.COM MOTIVATION How do you encode the piece of knowledge: or

More information

DATABASE DESIGN II - 1DL400

DATABASE DESIGN II - 1DL400 DATABASE DESIGN II - 1DL400 Fall 2016 A second course in database systems http://www.it.uu.se/research/group/udbl/kurser/dbii_ht16 Kjell Orsborn Uppsala Database Laboratory Department of Information Technology,

More information

OWL DL / Full Compatability

OWL DL / Full Compatability Peter F. Patel-Schneider, Bell Labs Research Copyright 2007 Bell Labs Model-Theoretic Semantics OWL DL and OWL Full Model Theories Differences Betwen the Two Semantics Forward to OWL 1.1 Model-Theoretic

More information

CMSC 330: Organization of Programming Languages

CMSC 330: Organization of Programming Languages CMSC 330: Organization of Programming Languages Operational Semantics CMSC 330 Summer 2018 1 Formal Semantics of a Prog. Lang. Mathematical description of the meaning of programs written in that language

More information

Introduction to Semantic Web Databases. Version 1 Prepared By: Amgad Madkour Ph.D. Candidate Purdue University April 2018

Introduction to Semantic Web Databases. Version 1 Prepared By: Amgad Madkour Ph.D. Candidate Purdue University April 2018 Introduction to Semantic Web Databases Version 1 Prepared By: Amgad Madkour Ph.D. Candidate Purdue University April 2018 Semantic Web Motivation Represents the next generation of the the world wide web

More information

Implementing and extending SPARQL queries over DLVHEX

Implementing and extending SPARQL queries over DLVHEX Implementing and extending SPARQL queries over DLVHEX Gennaro Frazzingaro Bachelor Thesis Presentation - October 5, 2007 From a work performed in Madrid, Spain Galway, Ireland Rende, Italy How to solve

More information

Answering Aggregate Queries Over Large RDF Graphs

Answering Aggregate Queries Over Large RDF Graphs 1 Answering Aggregate Queries Over Large RDF Graphs Lei Zou, Peking University Ruizhe Huang, Peking University Lei Chen, Hong Kong University of Science and Technology M. Tamer Özsu, University of Waterloo

More information

Multi-agent and Semantic Web Systems: Querying

Multi-agent and Semantic Web Systems: Querying Multi-agent and Semantic Web Systems: Querying Fiona McNeill School of Informatics 11th February 2013 Fiona McNeill Multi-agent Semantic Web Systems: Querying 11th February 2013 0/30 Contents This lecture

More information

Reminder: RDF triples

Reminder: RDF triples Reminder: RDF triples The RDF data model is similar to classical conceptual modelling approaches such as entity relationship or class diagrams it is based on the idea of making statements about resources

More information

XML and Semantic Web Technologies. III. Semantic Web / 3. SPARQL Query Language for RDF

XML and Semantic Web Technologies. III. Semantic Web / 3. SPARQL Query Language for RDF XML and Semantic Web Technologies XML and Semantic Web Technologies III. Semantic Web / 3. SPARQL Query Language for RDF Lars Schmidt-Thieme Information Systems and Machine Learning Lab (ISMLL) Institute

More information

Lecture 1: Introduction and Motivation Markus Kr otzsch Knowledge-Based Systems

Lecture 1: Introduction and Motivation Markus Kr otzsch Knowledge-Based Systems KNOWLEDGE GRAPHS Introduction and Organisation Lecture 1: Introduction and Motivation Markus Kro tzsch Knowledge-Based Systems TU Dresden, 16th Oct 2018 Markus Krötzsch, 16th Oct 2018 Course Tutors Knowledge

More information

Shape Constraint Language

Shape Constraint Language Veronika Heimsbakk veronika.heimsbakk@acando.no 24. april 2017 About us Håvard Veronika Both consultans at Acando Oslo Working with semantic technologies in public sector Agenda 1. Terminology 2. What

More information

Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 6 Outline. Unary Relational Operations: SELECT and

Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 6 Outline. Unary Relational Operations: SELECT and Chapter 6 The Relational Algebra and Relational Calculus Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6 Outline Unary Relational Operations: SELECT and PROJECT Relational

More information

A Relaxed Approach to RDF Querying

A Relaxed Approach to RDF Querying A Relaxed Approach to RDF Querying Carlos A. Hurtado churtado@dcc.uchile.cl Department of Computer Science Universidad de Chile Alexandra Poulovassilis, Peter T. Wood {ap,ptw}@dcs.bbk.ac.uk School of Computer

More information

Lecture 1: Conjunctive Queries

Lecture 1: Conjunctive Queries CS 784: Foundations of Data Management Spring 2017 Instructor: Paris Koutris Lecture 1: Conjunctive Queries A database schema R is a set of relations: we will typically use the symbols R, S, T,... to denote

More information

Relational Algebra BASIC OPERATIONS DATABASE SYSTEMS AND CONCEPTS, CSCI 3030U, UOIT, COURSE INSTRUCTOR: JAREK SZLICHTA

Relational Algebra BASIC OPERATIONS DATABASE SYSTEMS AND CONCEPTS, CSCI 3030U, UOIT, COURSE INSTRUCTOR: JAREK SZLICHTA Relational Algebra BASIC OPERATIONS 1 What is an Algebra Mathematical system consisting of: Operands -- values from which new values can be constructed. Operators -- symbols denoting procedures that construct

More information

infoh509 xml & web technologies lecture 9: sparql Stijn Vansummeren February 14, 2017

infoh509 xml & web technologies lecture 9: sparql Stijn Vansummeren February 14, 2017 infoh509 xml & web technologies lecture 9: sparql Stijn Vansummeren February 14, 2017 what have we gained? Current no structure Future structured by RDF (subject, predicate, object) b:genome b:field b:molecular-bio

More information

SPARQL. Fausto Giunchiglia and Mattia Fumagallli. University of Trento

SPARQL. Fausto Giunchiglia and Mattia Fumagallli. University of Trento SPARQL Fausto Giunchiglia and Mattia Fumagallli University of Trento Roadmap Introduction Basic query forms SELECT CONSTRUCT ASK DESCRIBE Other clauses and modifiers SPARQL Federated Query Exercises 2

More information

DATABASE THEORY. Lecture 18: Dependencies. TU Dresden, 3rd July Markus Krötzsch Knowledge-Based Systems

DATABASE THEORY. Lecture 18: Dependencies. TU Dresden, 3rd July Markus Krötzsch Knowledge-Based Systems DATABASE THEORY Lecture 18: Dependencies Markus Krötzsch Knowledge-Based Systems TU Dresden, 3rd July 2018 Review: Databases and their schemas Lines: Line Type 85 bus 3 tram F1 ferry...... Stops: SID Stop

More information

References. 1. Introduction. 2. Terminology. Title: Converting SPARQL syntax to trees. Author: Fred Zemke Date: September 28, 2006

References. 1. Introduction. 2. Terminology. Title: Converting SPARQL syntax to trees. Author: Fred Zemke Date: September 28, 2006 Title: Converting SPARQL syntax to trees Author: Fred Zemke Date: September 28, 2006 References [SPARQL CR] [rq24] [First attempt] SPARQL query language for RDF, Candidate Recommendation, http://www.w3.org/tr/2006/cr-rdf-sparql-query-20060406/

More information

OWL 2 Profiles. An Introduction to Lightweight Ontology Languages. Markus Krötzsch University of Oxford. Reasoning Web 2012

OWL 2 Profiles. An Introduction to Lightweight Ontology Languages. Markus Krötzsch University of Oxford. Reasoning Web 2012 University of Oxford Department of Computer Science OWL 2 Profiles An Introduction to Lightweight Ontology Languages Markus Krötzsch University of Oxford Reasoning Web 2012 Remark for the Online Version

More information

KNOWLEDGE GRAPHS. Lecture 1: Introduction and Motivation. TU Dresden, 16th Oct Markus Krötzsch Knowledge-Based Systems

KNOWLEDGE GRAPHS. Lecture 1: Introduction and Motivation. TU Dresden, 16th Oct Markus Krötzsch Knowledge-Based Systems KNOWLEDGE GRAPHS Lecture 1: Introduction and Motivation Markus Krötzsch Knowledge-Based Systems TU Dresden, 16th Oct 2018 Introduction and Organisation Markus Krötzsch, 16th Oct 2018 Knowledge Graphs slide

More information

DATABASE THEORY. Lecture 15: Datalog Evaluation (2) TU Dresden, 26th June Markus Krötzsch Knowledge-Based Systems

DATABASE THEORY. Lecture 15: Datalog Evaluation (2) TU Dresden, 26th June Markus Krötzsch Knowledge-Based Systems DATABASE THEORY Lecture 15: Datalog Evaluation (2) Markus Krötzsch Knowledge-Based Systems TU Dresden, 26th June 2018 Review: Datalog Evaluation A rule-based recursive query language father(alice, bob)

More information

Chapter 2 The relational Model of data. Relational algebra

Chapter 2 The relational Model of data. Relational algebra Chapter 2 The relational Model of data Relational algebra 1 Contents What is a data model? Basics of the relational model How to define? How to query? Constraints on relations 2 An algebraic query language

More information

COMP718: Ontologies and Knowledge Bases

COMP718: Ontologies and Knowledge Bases 1/35 COMP718: Ontologies and Knowledge Bases Lecture 9: Ontology/Conceptual Model based Data Access Maria Keet email: keet@ukzn.ac.za home: http://www.meteck.org School of Mathematics, Statistics, and

More information

Exercises Computational Complexity

Exercises Computational Complexity Exercises Computational Complexity March 22, 2017 Exercises marked with a are more difficult. 1 Chapter 7, P and NP Exercise 1. Suppose some pancakes are stacked on a surface such that no two pancakes

More information

Querying Data with Transact-SQL

Querying Data with Transact-SQL Course 20761A: Querying Data with Transact-SQL Page 1 of 5 Querying Data with Transact-SQL Course 20761A: 2 days; Instructor-Led Introduction The main purpose of this 2 day instructor led course is to

More information

Querying Linked Data on the Web

Querying Linked Data on the Web Querying Linked Data on the Web Olaf Hartig University of Waterloo Nov. 12, 2013 1 MovieDB Data exposed to the Web via HTML Albania WarChild The Traditional, Hypertext Web CIA World Factbook 2 Linked Data

More information

2. RDF Semantic Web Basics Semantic Web

2. RDF Semantic Web Basics Semantic Web 2. RDF Semantic Web Basics Semantic Web Prof. Dr. Bernhard Humm Faculty of Computer Science Hochschule Darmstadt University of Applied Sciences Summer semester 2011 1 Agenda Semantic Web Basics Literature

More information

Semantic Web Modeling Languages Part I: RDF

Semantic Web Modeling Languages Part I: RDF Semantic Web Modeling Languages Part I: RDF Markus Krötzsch & Sebastian Rudolph ESSLLI 2009 Bordeaux slides available at http://semantic-web-book.org/page/esslli09_lecture Outline A Brief Motivation RDF

More information

PGQL: a Property Graph Query Language

PGQL: a Property Graph Query Language PGQL: a Property Graph Query Language Oskar van Rest Sungpack Hong Jinha Kim Xuming Meng Hassan Chafi Oracle Labs June 24, 2016 Safe Harbor Statement The following is intended to outline our general product

More information

Relational Algebra and SQL. Basic Operations Algebra of Bags

Relational Algebra and SQL. Basic Operations Algebra of Bags Relational Algebra and SQL Basic Operations Algebra of Bags 1 What is an Algebra Mathematical system consisting of: Operands --- variables or values from which new values can be constructed. Operators

More information

Lecture 14: Lower Bounds for Tree Resolution

Lecture 14: Lower Bounds for Tree Resolution IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Advanced Course on Computational Complexity Lecture 14: Lower Bounds for Tree Resolution David Mix Barrington and Alexis Maciel August

More information

Note that in this definition, n + m denotes the syntactic expression with three symbols n, +, and m, not to the number that is the sum of n and m.

Note that in this definition, n + m denotes the syntactic expression with three symbols n, +, and m, not to the number that is the sum of n and m. CS 6110 S18 Lecture 8 Structural Operational Semantics and IMP Today we introduce a very simple imperative language, IMP, along with two systems of rules for evaluation called small-step and big-step semantics.

More information

LECTURE 09 RDF: SCHEMA - AN INTRODUCTION

LECTURE 09 RDF: SCHEMA - AN INTRODUCTION SEMANTIC WEB LECTURE 09 RDF: SCHEMA - AN INTRODUCTION IMRAN IHSAN ASSISTANT PROFESSOR AIR UNIVERSITY, ISLAMABAD THE SEMANTIC WEB LAYER CAKE 2 SW S16 09- RDFs: RDF Schema 1 IMPORTANT ASSUMPTION The following

More information

path-based language Versa (see XPath for RDF forward/backward traversal, filtering, but no support for restructuring/constructing

path-based language Versa (see   XPath for RDF forward/backward traversal, filtering, but no support for restructuring/constructing 1.1 Querying Semantic Web SPARQL History of RDF Query Languages relational-based SPARQL, RQL, TRIPLE, Xcerpt, SeRQL reactive-rule language Algea (see http://www.w3.org/2001/annotea) actions (ask, assert,

More information

CS4215 Programming Language Implementation. Martin Henz

CS4215 Programming Language Implementation. Martin Henz CS4215 Programming Language Implementation Martin Henz Thursday 26 January, 2012 2 Chapter 4 The Language simpl In this chapter, we are exting the language epl in order to provide a more powerful programming

More information

6. Relational Algebra (Part II)

6. Relational Algebra (Part II) 6. Relational Algebra (Part II) 6.1. Introduction In the previous chapter, we introduced relational algebra as a fundamental model of relational database manipulation. In particular, we defined and discussed

More information

Unit Assessment Guide

Unit Assessment Guide Unit Assessment Guide Unit Details Unit code Unit name Unit purpose/application ICTWEB425 Apply structured query language to extract and manipulate data This unit describes the skills and knowledge required

More information

Ian Kenny. November 28, 2017

Ian Kenny. November 28, 2017 Ian Kenny November 28, 2017 Introductory Databases Relational Algebra Introduction In this lecture we will cover Relational Algebra. Relational Algebra is the foundation upon which SQL is built and is

More information

Representing Linked Data as Virtual File Systems

Representing Linked Data as Virtual File Systems Representing Linked Data as Virtual File Systems Bernhard Schandl University of Vienna Department of Distributed and Multimedia Systems http://events.linkeddata.org/ldow2009#ldow2009 Madrid, Spain, April

More information

Querying Data with Transact SQL Microsoft Official Curriculum (MOC 20761)

Querying Data with Transact SQL Microsoft Official Curriculum (MOC 20761) Querying Data with Transact SQL Microsoft Official Curriculum (MOC 20761) Course Length: 3 days Course Delivery: Traditional Classroom Online Live MOC on Demand Course Overview The main purpose of this

More information

COMP 244 DATABASE CONCEPTS AND APPLICATIONS

COMP 244 DATABASE CONCEPTS AND APPLICATIONS COMP 244 DATABASE CONCEPTS AND APPLICATIONS Relational Algebra And Calculus 1 Relational Algebra A formal query language associated with the relational model. Queries in ALGEBRA are composed using a collection

More information

Semantic Web. MPRI : Web Data Management. Antoine Amarilli Friday, January 11th 1/29

Semantic Web. MPRI : Web Data Management. Antoine Amarilli Friday, January 11th 1/29 Semantic Web MPRI 2.26.2: Web Data Management Antoine Amarilli Friday, January 11th 1/29 Motivation Information on the Web is not structured 2/29 Motivation Information on the Web is not structured This

More information

Question Score Points Out Of 25

Question Score Points Out Of 25 University of Texas at Austin 6 May 2005 Department of Computer Science Theory in Programming Practice, Spring 2005 Test #3 Instructions. This is a 50-minute test. No electronic devices (including calculators)

More information

Relational Database: The Relational Data Model; Operations on Database Relations

Relational Database: The Relational Data Model; Operations on Database Relations Relational Database: The Relational Data Model; Operations on Database Relations Greg Plaxton Theory in Programming Practice, Spring 2005 Department of Computer Science University of Texas at Austin Overview

More information

Contents. G52IWS: The Semantic Web. The Semantic Web. Semantic web elements. Semantic Web technologies. Semantic Web Services

Contents. G52IWS: The Semantic Web. The Semantic Web. Semantic web elements. Semantic Web technologies. Semantic Web Services Contents G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10 Introduction to the Semantic Web Semantic Web technologies Overview RDF OWL Semantic Web Services Concluding comments 1 See Developing Semantic

More information

DATABASE THEORY. Lecture 12: Evaluation of Datalog (2) TU Dresden, 30 June Markus Krötzsch

DATABASE THEORY. Lecture 12: Evaluation of Datalog (2) TU Dresden, 30 June Markus Krötzsch DATABASE THEORY Lecture 12: Evaluation of Datalog (2) Markus Krötzsch TU Dresden, 30 June 2016 Overview 1. Introduction Relational data model 2. First-order queries 3. Complexity of query answering 4.

More information

Knowledge Representation for the Semantic Web

Knowledge Representation for the Semantic Web Knowledge Representation for the Semantic Web Winter Quarter 2012 Pascal Hitzler Slides 2 01/05/2011 Kno.e.sis Center Wright State University, Dayton, OH http://www.knoesis.org/pascal/ KR4SW Winter 2012

More information

Handout 9: Imperative Programs and State

Handout 9: Imperative Programs and State 06-02552 Princ. of Progr. Languages (and Extended ) The University of Birmingham Spring Semester 2016-17 School of Computer Science c Uday Reddy2016-17 Handout 9: Imperative Programs and State Imperative

More information

Linking Data with RDF

Linking Data with RDF Linking Data with RDF Wiltrud Kessler Institut für Maschinelle Sprachverarbeitung Universität Stuttgart Semantic Web Winter 2014/15 This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike

More information

Reasoning with Rules SWRL as Example. Jan Pettersen Nytun, UIA

Reasoning with Rules SWRL as Example. Jan Pettersen Nytun, UIA Reasoning with Rules SWRL as Example Jan Pettersen Nytun, UIA 1 JPN, UiA 2 What is a rule? Consist of premise and a conclusion. Meaning: In any situation where the premise applies the conclusion must also

More information

Handling Failing RDF Queries: From Diagnosis to Relaxation

Handling Failing RDF Queries: From Diagnosis to Relaxation The final publication is available at Springer via http://dx.doi.org/10.1007/s10115-016-0941-0 Handling Failing RDF Queries: From Diagnosis to Relaxation Géraud Fokou, Stéphane Jean, Allel Hadjali, Mickael

More information