![Page 1: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/1.jpg)
FOUNDATIONS OF SEMANTICWEB TECHNOLOGIES
SPARQL Syntax & Intuition
Sebastian Rudolph
Dresden, 2 May
![Page 2: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/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, 2 May Foundations of Semantic Web Technologies slide 2 of 62
![Page 3: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/3.jpg)
The SPARQL Query Language
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 3 of 62
![Page 4: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/4.jpg)
The SPARQL Query Language
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 4 of 62
![Page 5: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/5.jpg)
Agenda
1 Introduction and Motivation
2 Simple SPARQL Queries
3 Complex Graph Patterns
4 Filters
5 Solution Modifiers
6 Conclusions & Outlook
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 5 of 62
![Page 6: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/6.jpg)
Agenda
1 Introduction and Motivation
2 Simple SPARQL Queries
3 Complex Graph Patterns
4 Filters
5 Solution Modifiers
6 Conclusions & Outlook
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 6 of 62
![Page 7: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/7.jpg)
Query Languages for the Semantic Web?
How can we access information specified in RDF(S) or OWL?
RDF(S) Data• Simple Entailment• RDF-Entailment• RDFS-Entailment
“Is one RDF graph a consequence of another one?”
OWL ontologies• Logical Entailment
“Does an OWL ontology entail a subsumption relation between two classes?”“What are the instances of a class in an OWL ontology?”
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 7 of 62
![Page 8: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/8.jpg)
Query Languages for the Semantic Web?
How can we access information specified in RDF(S) or OWL?
RDF(S) Data• Simple Entailment• RDF-Entailment• RDFS-Entailment
“Is one RDF graph a consequence of another one?”
OWL ontologies• Logical Entailment
“Does an OWL ontology entail a subsumption relation between two classes?”“What are the instances of a class in an OWL ontology?”
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 8 of 62
![Page 9: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/9.jpg)
Do OWL and RDF(S) not suffice?
Even OWL is too weak to formulate queries• “Which strings does the ontology specify in German?”• “Which properties relate two given individuals?”• “Which pairs of persons have a common parent?”
Expressible neither in RDF nor in OWL
Requirements:• High expressivity for describing the queried information• Possibility of formatting, restricting, and manipulating the results
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 9 of 62
![Page 10: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/10.jpg)
Do OWL and RDF(S) not suffice?
Even OWL is too weak to formulate queries• “Which strings does the ontology specify in German?”• “Which properties relate two given individuals?”• “Which pairs of persons have a common parent?”
Expressible neither in RDF nor in OWL
Requirements:• High expressivity for describing the queried information• Possibility of formatting, restricting, and manipulating the results
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62
![Page 11: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/11.jpg)
Requirements for a Query Language• High expressivity for describing the required data• Support for selecting, manipulating, and formatting of the results• More?
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 11 of 62
![Page 12: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/12.jpg)
Agenda
1 Introduction and Motivation
2 Simple SPARQL Queries
3 Complex Graph Patterns
4 Filters
5 Solution Modifiers
6 Conclusions & Outlook
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 12 of 62
![Page 13: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/13.jpg)
SPARQLSPARQL (pronounced sparkle) stands forSPARQL Protocol And RDF Query Language
• W3C Specification since 2008• Extension to SPARQL 1.1 since 2013• Query language to query RDF graphs• Very practice relevant
Parts of the SPARQL 1.0 specification• Query: The syntax and semantics of the query language• Query Results XML Format: how to display results in XML• Protocol for RDF: conveying SPARQL queries to a SPARQL query
processing service and returning the results
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 13 of 62
![Page 14: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/14.jpg)
Parts of the SPARQL 1.1 Specification• Query: extends the language constructs for SPARQL queries• Update: modify an RDF graph (addition, deletion)• Graph Store HTTP Protocol: HTTP operations for managing a collection
of graphs• Entailment Regimes: query results with inferences• Service Description: method for discovering, and vocabulary for
describing SPARQL services• Federation Extensions: executing distributed queries• Query Results JSON Format: query results in JSON format• Query Results CSV, TSV Format: comma and tab separated results
format
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 14 of 62
![Page 15: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/15.jpg)
Simple Query
PREFIX foaf: <http://xmlns.com/foaf/0.1/>SELECT ?name ?mboxWHERE { ?x foaf:name ?name .
?x foaf:mbox ?mbox }
• The condition of the WHERE clause is called a query pattern
• The triples (possibly) with variables are called a basic graph pattern(BGP) BGPs use the Turtle syntax for RDF BGPs can contain variables (?variable/$variable)
• Abbreviated IRIs are possible (PREFIX)• Query result for the selected variables (SELECT)
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 15 of 62
![Page 16: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/16.jpg)
Simple Query
PREFIX foaf: <http://xmlns.com/foaf/0.1/>SELECT ?name ?mboxWHERE { ?x foaf:name ?name .
?x foaf:mbox ?mbox }
• The condition of the WHERE clause is called a query pattern
• The triples (possibly) with variables are called a basic graph pattern(BGP) BGPs use the Turtle syntax for RDF BGPs can contain variables (?variable/$variable)
• Abbreviated IRIs are possible (PREFIX)• Query result for the selected variables (SELECT)
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 16 of 62
![Page 17: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/17.jpg)
Simple Query
PREFIX foaf: <http://xmlns.com/foaf/0.1/>SELECT ?name ?mboxWHERE { ?x foaf:name ?name .
?x foaf:mbox ?mbox }
• The condition of the WHERE clause is called a query pattern• The triples (possibly) with variables are called a basic graph pattern
(BGP) BGPs use the Turtle syntax for RDF BGPs can contain variables (?variable/$variable)
• Abbreviated IRIs are possible (PREFIX)• Query result for the selected variables (SELECT)
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 17 of 62
![Page 18: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/18.jpg)
Simple Query
PREFIX foaf: <http://xmlns.com/foaf/0.1/>SELECT ?name ?mboxWHERE { ?x foaf:name ?name .
?x foaf:mbox ?mbox }
• The condition of the WHERE clause is called a query pattern• The triples (possibly) with variables are called a basic graph pattern
(BGP) BGPs use the Turtle syntax for RDF BGPs can contain variables (?variable/$variable)
• Abbreviated IRIs are possible (PREFIX)
• Query result for the selected variables (SELECT)
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 18 of 62
![Page 19: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/19.jpg)
Simple Query
PREFIX foaf: <http://xmlns.com/foaf/0.1/>SELECT ?name ?mboxWHERE { ?x foaf:name ?name .
?x foaf:mbox ?mbox }
• The condition of the WHERE clause is called a query pattern• The triples (possibly) with variables are called a basic graph pattern
(BGP) BGPs use the Turtle syntax for RDF BGPs can contain variables (?variable/$variable)
• Abbreviated IRIs are possible (PREFIX)• Query result for the selected variables (SELECT)
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 19 of 62
![Page 20: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/20.jpg)
Simple Query – ResultBGP: {?x foaf:name ?name . ?x foaf:mbox ?mbox}
@prefix foaf: http://xmlns.com/foaf/0.1/ ._:a foaf:name "Birte Glimm" ;
foaf:mbox "[email protected]" ;foaf:icqChatID "b.glimm" ;foaf:aimChatID "b.glimm" .
_:b foaf:name "Sebastian Rudolph" ;foaf:mbox <[email protected]> .
_:c foaf:name "Pascal Hitzler" ;foaf:aimChatID "phi" .
foaf:icqChatID rdfs:subPropertyOf foaf:nick .foaf:name rdfs:domain foaf:Person .
BGP matching results:
x name mbox_ :a "Birte Glimm" "[email protected]"_ :b "Sebastian Rudolph" <mailto:[email protected]>
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 20 of 62
![Page 21: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/21.jpg)
Simple Query – ResultBGP: {?x foaf:name ?name . ?x foaf:mbox ?mbox}
@prefix foaf: http://xmlns.com/foaf/0.1/ ._:a foaf:name "Birte Glimm" ;
foaf:mbox "[email protected]" ;foaf:icqChatID "b.glimm" ;foaf:aimChatID "b.glimm" .
_:b foaf:name "Sebastian Rudolph" ;foaf:mbox <[email protected]> .
_:c foaf:name "Pascal Hitzler" ;foaf:aimChatID "phi" .
foaf:icqChatID rdfs:subPropertyOf foaf:nick .foaf:name rdfs:domain foaf:Person .
BGP matching results:
x name mbox_ :a "Birte Glimm" "[email protected]"_ :b "Sebastian Rudolph" <mailto:[email protected]>
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 21 of 62
![Page 22: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/22.jpg)
Simple Query – Result
PREFIX foaf: <http://xmlns.com/foaf/0.1/>SELECT ?name ?mboxWHERE { ?x foaf:name ?name .
?x foaf:mbox ?mbox }
BGP matching results:
x name mbox_ :a "Birte Glimm" "[email protected]"_ :b "Sebastian Rudolph" <mailto:[email protected]>
Query results:
name mbox"Birte Glimm" "[email protected]"
"Sebastian Rudolph" <mailto:[email protected]>
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 22 of 62
![Page 23: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/23.jpg)
Basic Graph Patterns
The most basic query patterns are basic graph patterns• Set of RDF triples in Turtle syntax• Turtle abbreviations (such as , and ;) allowed• Variables are prefixed by ? or $ (?x identifies the same variable as $x)• Variables can appear in subject, predicate, and object position
permitted 6= readable:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>SELECT ?rf456df ?ac66sBWHERE { ?h4dF8Q foaf:name ?rf456df .
?h4dF8Q foaf:mbox ?ac66sB }
(semantically equivalent to the previous query)
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 23 of 62
![Page 24: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/24.jpg)
Basic Graph Patterns
The most basic query patterns are basic graph patterns• Set of RDF triples in Turtle syntax• Turtle abbreviations (such as , and ;) allowed• Variables are prefixed by ? or $ (?x identifies the same variable as $x)• Variables can appear in subject, predicate, and object position
permitted 6= readable:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>SELECT ?rf456df ?ac66sBWHERE { ?h4dF8Q foaf:name ?rf456df .
?h4dF8Q foaf:mbox ?ac66sB }
(semantically equivalent to the previous query)
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 24 of 62
![Page 25: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/25.jpg)
Blank NodesWhat meaning do blank nodes have in SPARQL?
Blank nodes in query patterns:• Permitted as subject or object (as in RDF)• Arbitrary ID, but reuse in different BGPs within one query not permitted• Act like variables, but cannot be selected
Blank nodes in results:• Placeholder for unknown elements• Arbitrary IDs (possibly different from the IDs in the input RDF graph), but
repeated occurrences in results denote the same element:
subj value_:a "for"_:b "example"
subj value_:y "for"_:g "example"
subj value_:z "for"_:z "example"
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 25 of 62
![Page 26: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/26.jpg)
Blank NodesWhat meaning do blank nodes have in SPARQL?
Blank nodes in query patterns:• Permitted as subject or object (as in RDF)• Arbitrary ID, but reuse in different BGPs within one query not permitted• Act like variables, but cannot be selected
Blank nodes in results:• Placeholder for unknown elements• Arbitrary IDs (possibly different from the IDs in the input RDF graph), but
repeated occurrences in results denote the same element:
subj value_:a "for"_:b "example"
subj value_:y "for"_:g "example"
subj value_:z "for"_:z "example"
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 26 of 62
![Page 27: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/27.jpg)
Datasets and FROM (NAMED)
• No FROM clause is required• Each SPARQL service specifies a dataset of one default graph and zero
or more named graphs
No FROM clause
evaluation over the default graph
FROM NAMED in combination with the GRAPH keyword
evaluation over a named graph
FROM clause
creation of a fresh default graph for the query
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 27 of 62
![Page 28: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/28.jpg)
Example for Named Graphs
Query with FROM NAMED clauseSELECT ?g ?name ?mboxFROM NAMED <http://ex.org/a>FROM NAMED <http://ex.org/b>WHERE {GRAPH ?g{ ?x foaf:name ?name.
?x foaf:mbox ?mbox }}
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 28 of 62
![Page 29: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/29.jpg)
Datatypes@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .@prefix ex: <http://example.org/> .ex:ex1 ex:p "test" .ex:ex2 ex:p "test"^^xsd:string .ex:ex3 ex:p "test"@en .ex:ex4 ex:p "42"^^xsd:integer .
Which matches does the following BGP have?
{ ?subject <http://example.org/p> "test" . }
ex:ex1 is the only result Exact match for the datatypes is required
But: Abbreviations for numerical values allowed
{ ?subject <http://example.org/p> 42 . }
The datatype is determined from the syntactic formxsd:integer (42), xsd:decimal (42.2), xsd:double (1.0e6)
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 29 of 62
![Page 30: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/30.jpg)
Datatypes@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .@prefix ex: <http://example.org/> .ex:ex1 ex:p "test" .ex:ex2 ex:p "test"^^xsd:string .ex:ex3 ex:p "test"@en .ex:ex4 ex:p "42"^^xsd:integer .
Which matches does the following BGP have?
{ ?subject <http://example.org/p> "test" . }
ex:ex1 is the only result Exact match for the datatypes is required
But: Abbreviations for numerical values allowed
{ ?subject <http://example.org/p> 42 . }
The datatype is determined from the syntactic formxsd:integer (42), xsd:decimal (42.2), xsd:double (1.0e6)TU Dresden, 2 May Foundations of Semantic Web Technologies slide 30 of 62
![Page 31: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/31.jpg)
Agenda
1 Introduction and Motivation
2 Simple SPARQL Queries
3 Complex Graph Patterns
4 Filters
5 Solution Modifiers
6 Conclusions & Outlook
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 31 of 62
![Page 32: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/32.jpg)
Group Graph Patterns
Basic graph patterns can be grouped by {. . . }.
Example:
PREFIX ex: <http://example.org/>SELECT ?titel ?authorWHERE{ { ?book ex:publishedBy <http://springer.com>.
?book ex:titel ?titel . }{ }?book ex:author ?author .
}
Only useful in combination with additional constructors
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 32 of 62
![Page 33: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/33.jpg)
Optional Patterns
The keyword OPTIONAL permits the specification of optional parts for a graphpattern.
Example:
{ ?book ex:publishedBy <http://springer.com> .OPTIONAL { ?book ex:titel ?titel . }OPTIONAL { ?book ex:author ?author . }
}
Parts of the query result can be unbound:book titel author
<http://ex.org/book1> "Titel1" <http://ex.org/author1><http://ex.org/book2> "Titel2"<http://ex.org/book3> "Titel3" _:a<http://ex.org/book4> _:a<http://ex.org/book5>
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 33 of 62
![Page 34: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/34.jpg)
Optional Patterns
The keyword OPTIONAL permits the specification of optional parts for a graphpattern.
Example:
{ ?book ex:publishedBy <http://springer.com> .OPTIONAL { ?book ex:titel ?titel . }OPTIONAL { ?book ex:author ?author . }
}
Parts of the query result can be unbound:book titel author
<http://ex.org/book1> "Titel1" <http://ex.org/author1><http://ex.org/book2> "Titel2"<http://ex.org/book3> "Titel3" _:a<http://ex.org/book4> _:a<http://ex.org/book5>
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 34 of 62
![Page 35: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/35.jpg)
Alternative PatternsThe keyword UNION allows for specifying alternative parts for a pattern.
Example:
{ ?book ex:publishedBy <http://springer.com> .{ ?book ex:author ?author . } UNION{ ?book ex:editor ?author . }
}
Results corresponds to the union of the results for the first BGP with theresults for one of the additional BGPs
Remark: Identical variables within different UNION patterns do not influenceeach other
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 35 of 62
![Page 36: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/36.jpg)
Excercise
Data@prefix dc10: <http://purl.org/dc/elements/1.0/> .@prefix dc11: <http://purl.org/dc/elements/1.1/> .@prefix ex: <http://ex.org/> ._:a dc10:title "SPARQL Query Tutorial" ._:a dc10:creator "Alice" ._:b dc11:title "SPARQL Protocol Tutorial" ._:b dc11:creator "Bob" ._:b ex:level "beginners" .
Write a query that selects the title (dc10:title or dc11:title) and, wheregiven, the level (ex:level)
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 36 of 62
![Page 37: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/37.jpg)
Solution
QueryPREFIX dc10: <http://purl.org/dc/elements/1.0/>PREFIX dc11: <http://purl.org/dc/elements/1.1/>PREFIX ex: <http://ex.org/>SELECT ?title ?levelWHERE {
{ { ?book dc10:title ?title }UNION { ?book dc11:title ?title }
} OPTIONAL { ?book ex:level ?level }}
title level"SPARQL Query Tutorial"
"SPARQL Protocol Tutorial" "beginners"
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 37 of 62
![Page 38: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/38.jpg)
Solution
QueryPREFIX dc10: <http://purl.org/dc/elements/1.0/>PREFIX dc11: <http://purl.org/dc/elements/1.1/>PREFIX ex: <http://ex.org/>SELECT ?title ?levelWHERE {
{ { ?book dc10:title ?title }UNION { ?book dc11:title ?title }
} OPTIONAL { ?book ex:level ?level }}
title level"SPARQL Query Tutorial"
"SPARQL Protocol Tutorial" "beginners"
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 38 of 62
![Page 39: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/39.jpg)
Combination of Optional and Alternatives (1)
How can we understand the combination of OPTIONAL and UNION?
Example{ ?book ex:publishedBy <http://springer.com> .
{ ?book ex:author ?author . } UNION{ ?book ex:editor ?author . } OPTIONAL{ ?author ex:surname ?name . } }
• The union of two patterns with appended optional pattern or
X
• The union of two patterns where the second one has an optional part?
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 39 of 62
![Page 40: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/40.jpg)
Combination of Optional and Alternatives (1)
How can we understand the combination of OPTIONAL and UNION?
Example{ ?book ex:publishedBy <http://springer.com> .
{ ?book ex:author ?author . } UNION{ ?book ex:editor ?author . } OPTIONAL{ ?author ex:surname ?name . } }
• The union of two patterns with appended optional pattern or X
• The union of two patterns where the second one has an optional part?
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 40 of 62
![Page 41: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/41.jpg)
Combination of Optional and Alternatives (1)
Example{ ?book ex:publishedBy <http://springer.com> .
{ ?book ex:author ?author . } UNION{ ?book ex:editor ?author . } OPTIONAL{ ?author ex:surname ?name . } }
is equivalent to
Example with explicit grouping{ ?book ex:publishedBy <http://springer.com> .
{ { ?book ex:author ?author . } UNION{ ?book ex:editor ?author . }
} OPTIONAL { ?author ex:surname ?name . } }
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 41 of 62
![Page 42: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/42.jpg)
Combination of Optional and Alternatives (2)
General Rules:• OPTIONAL always applies to one pattern group, which is specified to right
of the keyword OPTIONAL.• OPTIONAL and UNION have equal precedence and apply to all parts to
the left of the keyword (left assoziativ).
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 42 of 62
![Page 43: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/43.jpg)
Combination of Optional and Alternatives (3)
Example{ {s1 p1 o1} OPTIONAL {s2 p2 o2} UNION {s3 p3 o3}
OPTIONAL {s4 p4 o4} OPTIONAL {s5 p5 o5}}
Can be understood as:
Equivalent example with explicit grouping{ { { { {s1 p1 o1} OPTIONAL {s2 p2 o2}
} UNION {s3 p3 o3}} OPTIONAL {s4 p4 o4}
} OPTIONAL {s5 p5 o5}}
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 43 of 62
![Page 44: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/44.jpg)
Combination of Optional and Alternatives (3)
Example{ {s1 p1 o1} OPTIONAL {s2 p2 o2} UNION {s3 p3 o3}
OPTIONAL {s4 p4 o4} OPTIONAL {s5 p5 o5}}
Can be understood as:
Equivalent example with explicit grouping{ { { { {s1 p1 o1} OPTIONAL {s2 p2 o2}
} UNION {s3 p3 o3}} OPTIONAL {s4 p4 o4}
} OPTIONAL {s5 p5 o5}}
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 44 of 62
![Page 45: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/45.jpg)
Agenda
1 Introduction and Motivation
2 Simple SPARQL Queries
3 Complex Graph Patterns
4 Filters
5 Solution Modifiers
6 Conclusions & Outlook
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 45 of 62
![Page 46: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/46.jpg)
Why Filters?
Many queries are not expressible, even with complex query patterns:• “Which persons are between 18 and 23 years old?”• “The surname of which person contains a hyphen?”• “Which texts in the ontology are specified in German?”
Filter as a general mechanism for such expressions
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 46 of 62
![Page 47: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/47.jpg)
Filter in SPARQLExample:
PREFIX ex: <http://ex.org/>SELECT ?book WHERE
{ ?book ex:publishedBy <http://springer.com> .?book ex:price ?priceFILTER (?price < 35)
}
• Keyword FILTER, followed by a filter expression in brackets• Filter conditions evaluate to truth values (and possibly errors)• Many filter functions are not specified by RDF Functions partly taken from the XQuery/XPath-standard for XML
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 47 of 62
![Page 48: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/48.jpg)
Filter Functions: Comparisons
Comparison operators: <, =, >, <=, >=, !=• Comparison of literals according to the natural order• Support for numerical datatypes, xsd:dateTime, xsd:string
(alphabetical order), xsd:Boolean (1 > 0)• For other types or RDF elements only = und != available• No comparison between literals with incompatible types (e.g.,
xsd:string and xsd:integer)
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 48 of 62
![Page 49: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/49.jpg)
Filter Functions: ArithmeticArithmetic operators: +, -, *, /
• Support for numerical datatypes• Used to combine values in filter conditions
ExampleFILTER( ?weight/(?size * ?size) >= 25 )
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 49 of 62
![Page 50: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/50.jpg)
Filter Functions: Special Functions for RDF(1)
SPARQL supports also RDF-specific filter functions:
BOUND(A) true if A is a bound variableisURI(A) true if A is a URIisBLANK(A) true if A is a blank nodeisLITERAL(A) true if A is an RDF literalSTR(A) the lexical form (xsd:string) of RDF literals or URIsLANG(A) language tag of an RDF literal (xsd:string) or empty string if
no language tag is givenDATATYPE(A) datatyp URI of an RDF literal (xsd:string for untyped literals
without language tag)
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 50 of 62
![Page 51: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/51.jpg)
Filter Functions: Special Functions for RDF(2)
Additional RDF specific filter functions:
sameTERM(A,B) true, if A and B are the same RDF termslangMATCHES(A,B) true, if the language tag of A matches the pattern BREGEX(A,B) true, if the string A matches the regular expression B
Example:
PREFIX ex: <http://example.org/>SELECT ?book WHERE
{ ?book ex:review ?text .FILTER ( langMATCHES( LANG(?text), "de") )
}
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 51 of 62
![Page 52: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/52.jpg)
Filter Functions: Boolean Operators
Filter conditions can be connected using Boolean operators: &&, ||, !
Partially expressible with graph patterns:• Conjunction corresponds to multiple filters• Disjunction corresponds to filter expressions specified in alternative
(UNION) patterns
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 52 of 62
![Page 53: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/53.jpg)
Agenda
1 Introduction and Motivation
2 Simple SPARQL Queries
3 Complex Graph Patterns
4 Filters
5 Solution Modifiers
6 Conclusions & Outlook
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 53 of 62
![Page 54: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/54.jpg)
Why solution modifiers?
So far, we have only seen basic formatting options for the results:• How can we only receive parts of the results?• How can we order results?• Can we immediately eliminate duplicate results?
Solution sequence modifiers
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 54 of 62
![Page 55: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/55.jpg)
Sorting Results
Sorting is achieved with the keyword ORDER BY
SELECT ?book, ?priceWHERE { ?book <http://example.org/Price> ?price . }ORDER BY ?price
• Sorting as with comparison operators in filters• Alphabetical sorting of URIs as strings• Order between elements of different types:
unbound variables < blank nodes < URIs < RDF literals• Not all possibilities defined by the specification
Further possible options:• ORDER BY DESC(?price): descending• ORDER BY ASC(?price): ascending (default)• ORDER BY DESC(?price), ?titel: hierarchical ordering criteria
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 55 of 62
![Page 56: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/56.jpg)
Sorting Results
Sorting is achieved with the keyword ORDER BY
SELECT ?book, ?priceWHERE { ?book <http://example.org/Price> ?price . }ORDER BY ?price
• Sorting as with comparison operators in filters• Alphabetical sorting of URIs as strings• Order between elements of different types:
unbound variables < blank nodes < URIs < RDF literals• Not all possibilities defined by the specification
Further possible options:• ORDER BY DESC(?price): descending• ORDER BY ASC(?price): ascending (default)• ORDER BY DESC(?price), ?titel: hierarchical ordering criteria
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 56 of 62
![Page 57: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/57.jpg)
Sorting Results
Sorting is achieved with the keyword ORDER BY
SELECT ?book, ?priceWHERE { ?book <http://example.org/Price> ?price . }ORDER BY ?price
• Sorting as with comparison operators in filters• Alphabetical sorting of URIs as strings• Order between elements of different types:
unbound variables < blank nodes < URIs < RDF literals• Not all possibilities defined by the specification
Further possible options:• ORDER BY DESC(?price): descending• ORDER BY ASC(?price): ascending (default)• ORDER BY DESC(?price), ?titel: hierarchical ordering criteria
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 57 of 62
![Page 58: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/58.jpg)
LIMIT, OFFSET and DISTINCTLimit the set of results:
• LIMIT: Maximal number of results• OFFSET: Position of the first returned result• SELECT DISTINCT: Removal of duplicate results
SELECT DISTINCT ?book, ?priceWHERE { ?book <http://ex.org/price> ?price . }ORDER BY ?price LIMIT 5 OFFSET 25
LIMIT and OFFSET only meaningful with ORDER BY!
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 58 of 62
![Page 59: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/59.jpg)
Agenda
1 Introduction and Motivation
2 Simple SPARQL Queries
3 Complex Graph Patterns
4 Filters
5 Solution Modifiers
6 Conclusions & Outlook
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 59 of 62
![Page 60: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/60.jpg)
Overview of the Presented SPARQLFeatures
Basic StructurePREFIXWHERE
Graph PatternsBasic Graph Patterns{. . . }OPTIONALUNION
FilterBOUNDisURIisBLANKisLITERALSTRLANGDATATYPEsameTERMlangMATCHESREGEX
ModifiersORDER BYLIMITOFFSETDISTINCT
Output FormatsSELECT
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 60 of 62
![Page 61: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/61.jpg)
Summary• We have encountered the main SPARQL 1.0 features through examples
– Basic structures (prefixes, patterns)– Simple and complex patterns (alternatives, optional parts, groups– Filters– Modifiers
• Semantics is defined via translation to the SPARQL algebra• So far only informally introduced
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 61 of 62
![Page 62: FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES · PDF fileTU Dresden, 2 May Foundations of Semantic Web Technologies slide 10 of 62. Requirements for a Query Language ... What meaning do](https://reader031.vdocuments.us/reader031/viewer/2022030415/5aa1b64d7f8b9a80378c022b/html5/thumbnails/62.jpg)
Outlook
Open Questions• How does the algebra translation work?• How can we evaluate SPARQL algebra objects?• What extensions does SPARQL 1.1 cover?• How does the SPARQL protocol work?• How can we query for implicit consequences that follow under RDF(S) or
OWL semantics?• How difficult is it to implement SPARQL (with entailment)?• . . .
TU Dresden, 2 May Foundations of Semantic Web Technologies slide 62 of 62