foundations of semantic web technologies - sparql 1 · tutorial 2 30 apr ds6 sparql – syntax...
TRANSCRIPT
![Page 1: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/1.jpg)
FOUNDATIONS OF SEMANTICWEB TECHNOLOGIES
SPARQL 1.1
Sebastian Rudolph
Dresden, June 18
![Page 2: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/2.jpg)
ContentOverview & XML 11 APR DS5Introduction into RDF 11 APR DS6RDFS – Syntax & Intuition 16 APR DS6Tutorial 1 23 APR DS6RDFS – Semantics 25 APR DS5RDFS Rule-based Reasoning 25 APR DS6Tutorial 2 30 APR DS6SPARQL – Syntax & Intuition 02 MAY DS5SPARQL – Semantics 02 MAY DS6SPARQL Algebra 09 MAY DS5Tutorial 3 09 MAY DS6OWL – Syntax & Intuition 14 MAY DS6OWL & Description Logics 16 MAY DS5OWL 2 16 MAY DS6Tutorial 4 23 MAY DS5
Tableau I 23 MAY DS6Tableau II 30 MAY DS5Tutorial 5 30 MAY DS6Hypertableau I 4 JUN DS6Hypertableau II 6 JUN DS5Tutorial 6 6 JUN DS6SPARQL 1.1 18 JUN DS6SPARQL Entailment 20 JUN DS5Tutorial 7 20 JUN DS6OWL & Rules 25 JUN DS6Ontology Editing 27 JUL DS5Ontology Engineering 27 JUL DS6Tutorial 8 2 JUL DS6Linked Data & Applications 4 JUL DS5Q&A Session 9 JUL DS6Q&A Session 11 JUL DS5
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 2 von 43
![Page 3: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/3.jpg)
The SPARQL Query Language
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 3 von 43
![Page 4: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/4.jpg)
The SPARQL Query Language
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 4 von 43
![Page 5: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/5.jpg)
Agenda
1 Recap
2 SPARQL 1.1 Query ExtensionsExpressions in Selection and BindingsAggregatesSubqueriesProperty PathsNegation
3 SPARQL Protocol
4 SPARQL Update
5 SPARQL Service Descriptions
6 Summary
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 5 von 43
![Page 6: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/6.jpg)
Agenda
1 Recap
2 SPARQL 1.1 Query ExtensionsExpressions in Selection and BindingsAggregatesSubqueriesProperty PathsNegation
3 SPARQL Protocol
4 SPARQL Update
5 SPARQL Service Descriptions
6 Summary
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 6 von 43
![Page 7: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/7.jpg)
Example Pattern
Example ?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, June 18 Foundations of Semantic Web Technologies Folie 7 von 43
![Page 8: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/8.jpg)
Translation into SPARQL Algebra
Filter(?price < 15,Join(
LeftJoin(Join(Z,Bgp(?book <http://eg.org/price> ?price)),
Bgp(?book <http://eg.org/title> ?title),true),
Union(Bgp(?book <http://eg.org/author><http://eg.org/Shakespeare>),
Bgp(?book <http://eg.org/author><http://eg.org/Marlowe>))))
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 8 von 43
![Page 9: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/9.jpg)
Simplification of the SPARQL Algebra
Filter(?price < 15,Join(
LeftJoin(Bgp(?book <http://eg.org/price> ?price),Bgp(?book <http://eg.org/title> ?title),true),
Union(Bgp(?book <http://eg.org/author><http://eg.org/Shakespeare>),
Bgp(?book <http://eg.org/author><http://eg.org/Marlowe>))))
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 9 von 43
![Page 10: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/10.jpg)
Semantics of the SPARQL AlgebraOperatorsBgp(P) match/evaluate pattern PJoin(M1, M2) conjunctive join of solutions M1 and M2Union(M1, M2) union of solutions M1 with M2LeftJoin(M1, M2, F) optional join of M1 with M2 with filter
constraint F (true if no filter given)Filter(F, M) filter solutions M with constraint FZ empty pattern (identity for join)
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 10 von 43
![Page 11: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/11.jpg)
Agenda
1 Recap
2 SPARQL 1.1 Query ExtensionsExpressions in Selection and BindingsAggregatesSubqueriesProperty PathsNegation
3 SPARQL Protocol
4 SPARQL Update
5 SPARQL Service Descriptions
6 Summary
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 11 von 43
![Page 12: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/12.jpg)
Expressions in the Selection and Bindings
Solutions can be extended by evaluated expressions with (expression AS?var) used for the assignment:
• In the SELECT clause• In the GROUP BY clause• Within BIND in a group graph pattern
Solutions from a group can further be joined with solutions given via VALUES
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 12 von 43
![Page 13: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/13.jpg)
Example BIND (without Prefix Declarations)
Dataex:Book ex:title "SPARQL Tutorial" ; ex:price 42 ; ex:discount10 .
QuerySELECT ?title ?price WHERE ?b ex:title ?title; ex:price ?p ; ex:discount ?rBIND ((?p-?r) AS ?price)
Result?title 7→ "SPARQL Tutorial",?price 7→ 32
Algebra: Extend(Bgp(. . .),?price, (?p-?r))
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 13 von 43
![Page 14: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/14.jpg)
Example SELECT Expressions (withoutPrefix Declarations)
Dataex:Book ex:title "SPARQL Tutorial" ; ex:price 42 ; ex:discount10 .
QuerySELECT ?title ((?p-?r) AS ?price) WHERE ?b ex:title ?title; ex:price ?p ; ex:discount ?r
Result?title 7→ "SPARQL Tutorial",?price 7→ 32
Algebra: Extend(Bgp(. . .),?price, (?p-?r))
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 14 von 43
![Page 15: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/15.jpg)
Example VALUES
Dataex:Book1 ex:title "SPARQL Tutorial".ex:Book2 ex:title "SemWeb".
QuerySELECT ?title WHERE ?b ex:title ?titleVALUES ?b ex:Book1
Result?title 7→ "SPARQL Tutorial"
Bindings are conjunctively joined
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 15 von 43
![Page 16: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/16.jpg)
Aggregates• Aggregates allow for grouping of solutions and the computation of values
over the groups
ExampleSELECT (COUNT(?student) AS ?c) ?lectureWHERE ?student ex:attends ?lecture GROUP BY ?lectureHAVING ?c > 5
• GROUP BY groups the solutions (here into students who attend the samelecture)
• COUNT is an aggregate function that counts the solutions within a group(here the number of students in the lecture)
• HAVING filters aggregated values
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 16 von 43
![Page 17: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/17.jpg)
Aggregates• Aggregates allow for grouping of solutions and the computation of values
over the groups
ExampleSELECT (COUNT(?student) AS ?c) ?lectureWHERE ?student ex:attends ?lecture GROUP BY ?lectureHAVING ?c > 5
• GROUP BY groups the solutions (here into students who attend the samelecture)
• COUNT is an aggregate function that counts the solutions within a group(here the number of students in the lecture)
• HAVING filters aggregated values
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 17 von 43
![Page 18: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/18.jpg)
Aggregates• Aggregates allow for grouping of solutions and the computation of values
over the groups
ExampleSELECT (COUNT(?student) AS ?c) ?lectureWHERE ?student ex:attends ?lecture GROUP BY ?lectureHAVING ?c > 5
• GROUP BY groups the solutions (here into students who attend the samelecture)
• COUNT is an aggregate function that counts the solutions within a group(here the number of students in the lecture)
• HAVING filters aggregated values
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 18 von 43
![Page 19: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/19.jpg)
Aggregates in SPARQL 1.1
SPARQL 1.1 supports the following aggregate functions, which are evaluatedover the values in a group:
• COUNT – counts the solutions• MIN – finds the minimal value• MAX – finds the maximal value• SUM – sums up the values• AVG – computes the average• GROUP_CONCAT – string concatenation, Example: GROUP_CONCAT(?x ;
separator=", ")
• SAMPLE – picks a random value
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 19 von 43
![Page 20: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/20.jpg)
Exercise Aggregates
Dataex:Paul ex:hasMark 2.0 .ex:Paul ex:hasMark 3.0 .ex:Mary ex:hasMark 2.0 .ex:Peter ex:hasMark 3.5 .
QuerySELECT ?student (AVG(?note) as ?avg)WHERE ?student ex:hasMark ?note GROUP BY ?studentHAVING (?avg > 2.0)
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 20 von 43
![Page 21: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/21.jpg)
Solution Aggregates
student avgex:Paul 2.5ex:Peter 3.5
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 21 von 43
![Page 22: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/22.jpg)
Solution Aggregates
student avgex:Paul 2.5ex:Peter 3.5
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 22 von 43
![Page 23: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/23.jpg)
Subqueries
QuerySELECT ?name WHERE ?x foaf:name ?name . SELECT ?x (COUNT(*) AS ?count)WHERE ?x foaf:knows ?y . GROUP BY ?xHAVING (?count = 3)
• Results for the inner query are conjunctively joined with the results of theouter query
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 23 von 43
![Page 24: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/24.jpg)
Regular Expressions in Patterns
Property Paths are constructed using regular expressions over predicates• Paths with arbitrary length: ?s ex:p+ ?o, ?s ex:p* ?o
• Alternative paths: ?s (ex:p1|ex:p2) ?o• Negation of paths: ?s !ex:p ?o
• Inverse paths: ?s ˆex:p ?o same as ?o ex:p ?s
• Sequence of paths: ?s ex:p1 / ex:p2 ?o
• Length zero or one path: ?s ex:p? ?o
• Property paths are, where possible, translated into standard SPARQLconstructs
• Some new operators are still necessary
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 24 von 43
![Page 25: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/25.jpg)
Regular Expressions in Patterns
Property Paths are constructed using regular expressions over predicates• Paths with arbitrary length: ?s ex:p+ ?o, ?s ex:p* ?o
• Alternative paths: ?s (ex:p1|ex:p2) ?o• Negation of paths: ?s !ex:p ?o
• Inverse paths: ?s ˆex:p ?o same as ?o ex:p ?s
• Sequence of paths: ?s ex:p1 / ex:p2 ?o
• Length zero or one path: ?s ex:p? ?o
• Property paths are, where possible, translated into standard SPARQLconstructs
• Some new operators are still necessary
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 25 von 43
![Page 26: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/26.jpg)
Property Path Example
Query 1PREFIX ...SELECT ?xName WHERE
?x rdf:type foaf:Person .?x foaf:name ?xName?x foaf:knows/foaf:knows/foaf:name "Bill Gates" .
Query 2PREFIX ...SELECT ?s WHERE
?s rdf:type ?type .?type rdfs:subClassOf* ex:SomeClass .
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 26 von 43
![Page 27: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/27.jpg)
Negation in Queries• Two forms of negation with conceptual and small semantic differences
1 Test non-matches for a pattern2 Removal of matching patterns
1. FilterSELECT ?x WHERE ?x rdf:type foaf:Person .FILTER NOT EXISTS ?x foaf:name ?name
2. MinusSELECT ?x WHERE ?x rdf:type foaf:Person .MINUS ?x foaf:name ?name
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 27 von 43
![Page 28: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/28.jpg)
Evaluation of Negation via Filter
Data_:x rdf:type foaf:Person ._:x foaf:name "Peter" ._:y rdf:type foaf:Person .
Query Pattern ?x rdf:type foaf:Person .FILTER NOT EXISTS ?x foaf:name ?name
1 J Bgp(1. Pattern) KG: µ1 : ?x 7→ _ :x, µ2 : ?x 7→ _ :y
2 For each solution, we instantiate the second pattern– Solution is removed if the instantiated pattern matches (µ1)– otherwise we keep the solution (µ2)
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 28 von 43
![Page 29: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/29.jpg)
Evaluation of Negation via Minus
Data_:x rdf:type foaf:Person ._:x foaf:name "Peter" ._:y rdf:type foaf:Person .
Query Pattern ?x rdf:type foaf:Person .
MINUS ?x foaf:name ?name
J Bgp(1. Pattern) KG: Ω1 = µ1 : ?x 7→ _ :x, µ2 : ?x 7→ _ :yJ Bgp(2. Pattern) KG: Ω2 = µ3 : ?x 7→ _ :x,?name 7→ "Peter"
J Minus(Ω1, Ω2) KG: Ω = µ | µ ∈ Ω1 and ∀µ′∈Ω2 : µ and µ′ incompatible ordom(µ) ∩ dom(µ′) = ∅
µ1 /∈ Ω: µ1 compatible with µ3 and non-disjoint domainsµ2 ∈ Ω: µ2 incompatible with µ3TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 29 von 43
![Page 30: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/30.jpg)
Differences Minus and Filter Negation
Dataex:a ex:b ex:c .
Query Pattern ?s ?p ?o FILTER NOT EXISTS ?x ?y ?z
• Filter pattern matches always (variables disjoint) every solution isremoved
Query Pattern ?s ?p ?o MINUS ?x ?y ?z
• Minus does not remove any solutions since the domain of the solutions isdisjoint
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 30 von 43
![Page 31: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/31.jpg)
Agenda
1 Recap
2 SPARQL 1.1 Query ExtensionsExpressions in Selection and BindingsAggregatesSubqueriesProperty PathsNegation
3 SPARQL Protocol
4 SPARQL Update
5 SPARQL Service Descriptions
6 Summary
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 31 von 43
![Page 32: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/32.jpg)
SPARQL Protocol• Specifies how queries can be sent to a SPARQL endpoint in the Web and
how results are returned• Specifies how errors are communicated• Query
– GET Query etc. is part of the URL:http://server/endpoint1?query=...
– POST Query is in the body of the HTTP request, e.g., via an HTMLform
• Update– http://server/endpoint2?update=...– POST with content-type application/sparql-update– POST via HTML form
• Query and Update are separate services
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 32 von 43
![Page 33: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/33.jpg)
Graph Store HTTP Protocol• Application protocol for distributed updating and fetching of RDF graph
content via HTTP– IRIs identify a graph in a graph store– GET to receive the graph content– PUT to send a query that modifies a graph– DELETE to delete a graph– POST to merge submitted RDF data into an existing graph
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 33 von 43
![Page 34: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/34.jpg)
Agenda
1 Recap
2 SPARQL 1.1 Query ExtensionsExpressions in Selection and BindingsAggregatesSubqueriesProperty PathsNegation
3 SPARQL Protocol
4 SPARQL Update
5 SPARQL Service Descriptions
6 Summary
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 34 von 43
![Page 35: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/35.jpg)
SPARQL Update• For manipulation of graphs or graph content• Based on the idea of a graph store (Quads)
– Addition and removal of graphs– Addition and removal of triples in a graphs
• LOAD, DROP, CREATE• INSERT, DELETE for data/triples• No transactions, a query can consist of several atomic parts
Example QueryDELETE ?person foaf:givenName "Bill" INSERT ?person foaf:givenName "William" WHERE
?person a foaf:Person .?person foaf:givenName "Bill"
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 35 von 43
![Page 36: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/36.jpg)
Agenda
1 Recap
2 SPARQL 1.1 Query ExtensionsExpressions in Selection and BindingsAggregatesSubqueriesProperty PathsNegation
3 SPARQL Protocol
4 SPARQL Update
5 SPARQL Service Descriptions
6 Summary
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 36 von 43
![Page 37: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/37.jpg)
Service Descriptions• Method and vocabulary for describing SPARQL endpoints• Client/User can request information about the SPARQL service, e.g.,
– supported extension functions,– used data set or– supported inference mechanisms
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 37 von 43
![Page 38: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/38.jpg)
HTTP RequestGET /sparql/ HTTP/1.1Host: www.example.orgAccept: text/turtle
Possible Response (beginning)HTTP/1.1 200 OKDate: Fri, 09 Oct 2009 17:31:12 GMTServer: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3Connection: closeContent-Type: text/turtle
@prefix sd:<http://www.w3.org/ns/sparql-service-description#> .@prefix ent: <http://www.w3.org/ns/entailment/> .@prefix prof: <http://www.w3.org/ns/owl-profile/> ....
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 38 von 43
![Page 39: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/39.jpg)
Possible Response (continued)<http://ex.org/Distance> a sd:Function .
[] a sd:Service ;sd:endpoint <http://ex.org/sparql/> ;sd:supportedLanguage sd:SPARQL11Query ;sd:resultFormat<http://www.w3.org/ns/formats/RDF_XML>,<http://www.w3.org/ns/formats/Turtle> ;
sd:extensionFunction <http://ex.org/Distance> ;sd:feature sd:DereferencesURIs ;sd:defaultEntailmentRegime ent:RDFS ;
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 39 von 43
![Page 40: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/40.jpg)
Possible Response (continued)sd:defaultDatasetDescription [
a sd:Dataset ;sd:defaultGraph [
a sd:Graph ;void:triples 100
] ;sd:namedGraph [
a sd:NamedGraph ;sd:name <http://ex.org/named-graph> ;sd:entailmentRegime ent:OWL-RDF-Based ;sd:supportedEntailmentProfile prof:RL ;sd:graph [a sd:Graph ;void:triples 2000
]]
] .
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 40 von 43
![Page 41: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/41.jpg)
Agenda
1 Recap
2 SPARQL 1.1 Query ExtensionsExpressions in Selection and BindingsAggregatesSubqueriesProperty PathsNegation
3 SPARQL Protocol
4 SPARQL Update
5 SPARQL Service Descriptions
6 Summary
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 41 von 43
![Page 42: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/42.jpg)
Summary• We have learned about the main SPARQL 1.1 extensions• SPARQL 1.1 is a recommendation since March 2013• SPARQL UPDATE allows for modifying graphs• Protocol specifies the client server communication• Service Descriptions describe a SPARQL service (machine readable)• Further result formats: JSON, CVS, TSV (not covered)
Outlook:• Entailment Regimes: SPARQL with inferred results
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 42 von 43
![Page 43: Foundations of Semantic Web Technologies - SPARQL 1 · Tutorial 2 30 APR DS6 SPARQL – Syntax & Intuition 02 MAY DS5 SPARQL – Semantics 02 MAY DS6 SPARQL Algebra 09 MAY DS5 Tutorial](https://reader035.vdocuments.us/reader035/viewer/2022062909/5b05aebe7f8b9a93418bab97/html5/thumbnails/43.jpg)
Public SPARQL Endpoints
DBPedia structured Wikipedia Data (> 100 million triples):http://dbpedia.org/sparql
DBTune 14 billion RDF triple about musichttp://dbtune.org/jamendo/store/user/query
CKAN Dataset repository with SPARQL servicehttp://semantic.ckan.net/http://semantic.ckan.net/snorql/
Linked Movie Database http://data.linkedmdb.org/ andhttp://data.linkedmdb.org/sparql
SPARQL Editor with examples about space data http://api.talis.com/stores/space/items/tutorial/spared.html
Semantic Web Dog Food Information about authors, publications andconferences http://data.semanticweb.org/snorql
TU Dresden, June 18 Foundations of Semantic Web Technologies Folie 43 von 43