SlideShare a Scribd company logo
Jarrar © 2013 1
Dr. Mustafa Jarrar
University of Birzeit
mjarrar@birzeit.edu
www.jarrar.info
Lecture Notes on Web Data Management
Birzeit University, Palestine
2013
SPARQL
(RDF Query Language)
Jarrar © 2013 2
Watch this lecture and download the slides from
http://jarrar-courses.blogspot.com/2014/01/web-data-management.html
Jarrar © 2013 3
Lecture Outline
Part I: SPARQL Basics
Part 2: SPARQL Practical Session
Keywords: SPARQL, RDF, RDF Stores, RDF Query Langauge, Graph Databases, Querying Graph,
Semantic Web, Data Web,
Jarrar © 2013 4
SPARQL
As we have learned, RDF is a graph-shaped data model.
Until now, we have queried RDF stored in relational
databases using standard SQL.
What about a standard query language that is dedicated for
querying RDF graphs?
– Offering a more intuitive method for querying graph-shaped data
(using graph patterns).
– Offering a way for the queries and their respective results to be
transported between applications / services.
– Allowing querying information from multiple Web sites (mashups).
– Allowing querying information from multiple enterprise databases.
Jarrar © 2013 5
SPARQL
SPARQL (pronounced: Sparkle). The name is a recursive
acronym for:
“SPARQL Protocol and RDF Query Language”
The “Protocol” part of SPARQL’s name refers to the rules for
how a client program and a SPARQL processing server
exchange SPARQL queries and results (here, we focus on
the query language).
Official W3C Recommendation: January 2008, SPARQL 1.0
and SPARQL 1.1 in March, 2013
Jarrar © 2013 6
SPARQL: Jumping right in
A SPARQL query typically says “I want these pieces of
information from the subset of the data that meets these
conditions.”
S P O
… … …
D2 Name Mel Gibson
D2 actedIn M3
D3 Name Nadine Labaki
D3 Country C2
D3 hasWonPrizeIn P3
D3 actedIn M4
… … …
Q1: What is the name of director D3?
SELECT ?directorName
WHERE {:D3 :name ?directorName}
Jarrar © 2013 7
Variables
The Variable:
– It tells the query engine that triples with any value at all in that
position are OK to match this triple pattern.
– The values are stored in the variable so that we can use them
elsewhere in the query.
Q2: What is the name of the director of the
movie M1?
SELECT ?directorName
WHERE
{
:M1 :directedBy ?director .
?director :name ?directorName
}
S P O
M1 year 2007
M1 Name Sicko
M1 directedBy D1
… … …
M4 Name Caramel
D1 Name Michael Moore
D1 hasWonPrizeIn P1
D1 Country C1
… … …
Jarrar © 2013 8
Example
Q3: List all the movies who have
directors from the USA and their
directors.
Select ?movie ?director
Where {?movie :directedBy ?director.
?director :country ?country.
?country :name ‘USA’}
S P O
M1 year 2007
M1 Name Sicko
M1 directedBy D1
M2 directedBy D1
M2 Year 2009
M2 Name Capitalism
M3 Year 1995
M3 directedBy D2
M3 Name Brave Heart
… … …
D1 Name Michael Moore
D1 hasWonPrizeIn P1
D1 Country C1
D2 Counrty C1
D2 hasWonPrizeIn P2
D2 Name Mel Gibson
D2 actedIn M3
… … …
C1 Name USA
C1 Capital Washington DC
C2 Name Lebanon
C2 Capital Beirut
… … …
Ans: M1 D1; M2 D1; M3 D2
Jarrar © 2013 9
How to Query RDF data stored in one table?
Q4: List all the names of the directors from Lebanon
who have won prizes and the prizes they have won.
Select ?directorName ?prize
Where { ?director :name ?directorName.
?director :country ?c.
?c :name ‘Lebanon’.
?director :hasWonPrizeIn ?prize
}
S P O
D1 Name Michael Moore
D1 hasWonPrizeIn P1
D1 Country C1
D2 Counrty C1
D2 hasWonPrizeIn P2
D2 Name Mel Gibson
D2 actedIn M3
D3 Name Nadine Labaki
D3 Country C2
D3 hasWonPrizeIn P3
D3 actedIn M4
… … …
C1 Name USA
C1 Capital Washington DC
C2 Name Lebanon
C2 Capital Beirut
… … …
Ans: ‘Nadine Labaki’ , P3
Jarrar © 2013 10
A SPARQL query
- WHERE specifies data to pull out
- SELECT picks which data to display
Source: “Learning SPARQL by Bob DuCharme (O’Reilly). Copyright 2011 Bob DuCharme, 978-1-449-30659-5.”
Jarrar © 2013 11
RDF and SPARQL in accurate syntax
Recall that RDF triple’s Subject and Predicate must always be URIs.
RDF’s object can either be a URI or a literal.
RDF can be written in many ways such as RDF/XML, Notation 3, and
Turtle. Consider our RDF graph written in Turtle format:
@prefix ab: <http://example.com/ns/movies#> .
@prefix da: <http://example.com/ns/data#> .
...
da:M1 ab:year “2007”.
da:M1 ab:name “Sicko”.
da:M1 ab:directedBy da:D1.
da:D1 ab:name “Michael Moore”. ...
PREFIX ab: <http://example.com/ns/movies#>
PREFIX da: <http://example.com/ns/data#>
SELECT ?directorName
WHERE
{ da:M1 ab:directedBy ?director .
?director ab:name ?directorName }
• Consider Q2 again:
Namespaces where the
vocabulary used is defined
(usually an ontology)
Prefixes are used to make
the query more compact
Consider the use of URIs in
the subject and predicates,
and the use of strings in non-
URI objects
Jarrar © 2013 12
Graph Patterns
So far, we have seen two graph patterns:
– Basic Graph Pattern: A triple pattern.
– Group Pattern: A set of graph patterns which must all match.
• Triple Pattern – similar to an RDF Triple (subject, predicate, object),
but may include variables to add flexibility in how they match against
the data.
• Matching a triple pattern to a graph: bindings between variables and
RDF Terms.
Matching of Basic Graph Patterns
– A Pattern Solution of Graph Pattern GP on graph G is any
substitution S such that S(GP) is a subgraph of G.
da:M1 ab:directedBy ?director
Basic and Group Graph Patterns
Jarrar © 2013 13
SELECT ?directorName
WHERE {da:D3 ab:name ?directorName}
SELECT ?directorName
WHERE
{
da:M1 ab:directedBy ?director .
?director ab:name ?directorName
}
Basic Graph
Pattern
Group Graph
Pattern
Graph Patterns
Basic and Group Graph Patterns
Jarrar © 2013 14
Value Constraint
title price
"The Semantic
Web"
23
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix : <http://example.org/book/> .
@prefix ns: <http://example.org/ns#> .
:book1 dc:title "SPARQL Tutorial" .
:book1 ns:price 42 .
:book2 dc:title "The Semantic Web" .
:book2 ns:price 23 .
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX ns: <http://example.org/ns#>
SELECT ?title ?price
WHERE { ?x ns:price ?price .
FILTER ?price < 30 .
?x dc:title ?title . }
Data
Query
Query Results
Source: http://www.w3.org/TR/2005/WD-rdf-sparql-query-20050721/
Graph Patterns
Jarrar © 2013 15
Optional Graph Patterns
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX ns: <http://example.org/ns#>
SELECT ?title ?price
WHERE { ?x dc:title ?title .
OPTIONAL { ?x ns:price ?price .
FILTER ?price < 30 }}
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix : <http://example.org/book/> .
@prefix ns: <http://example.org/ns#> .
:book1 dc:title "SPARQL Tutorial" .
:book1 ns:price 42 .
:book2 dc:title "The Semantic Web" .
:book2 ns:price 23 .
title price
“SPARQL Tutorial“
"The Semantic
Web"
23
Data
Query
Query Result
Graph Patterns
Source: http://www.w3.org/TR/2005/WD-rdf-sparql-query-20050721/
Jarrar © 2013 16
Alternative Graph Pattern (UNION)
PREFIX dc10: <http://purl.org/dc/elements/1.0/>
PREFIX dc11: <http://purl.org/dc/elements/1.1/>
SELECT ?x ?y
WHERE { { ?book dc10:title ?x } UNION
{ ?book dc11:title ?y } }
@prefix dc10: <http://purl.org/dc/elements/1.0/> .
@prefix dc11: <http://purl.org/dc/elements/1.1/> .
_:a dc10:title "SPARQL Query Language Tutorial" .
_:b dc11:title "SPARQL Protocol Tutorial" .
_:c dc10:title "SPARQL" .
_:c dc11:title "SPARQL (updated)" .
Data
Query
Query Result
x y
"SPARQL (updated)"
"SPARQL Protocol Tutorial"
"SPARQL"
"SPARQL Query Language Tutorial"
Graph Patterns
Source: http://www.w3.org/TR/2005/WD-rdf-sparql-query-20050721/
Jarrar © 2013 17
Sorting, Aggregating, Finding the Biggest, …
Consider the following example about restaurant expenses:
@prefix e: <http://learningsparql.com/ns/expenses#> .
@prefix d: <http://learningsparql.com/ns/data#> .
d:m40392 e:description "breakfast" ;
e:date "2011-10-14T08:53" ;
e:amount 6.53 .
d:m40393 e:description "lunch" ;
e:date "2011-10-14T13:19" ;
e:amount 11.13 .
d:m40394 e:description "dinner" ;
e:date "2011-10-14T19:04" ;
e:amount 28.30 .
d:m40395 e:description "breakfast" ;
e:date "2011-10-15T08:32" ;
e:amount 4.32 .
d:m40396 e:description "lunch" ;
e:date "2011-10-15T12:55" ;
e:amount 9.45 .
d:m40397 e:description "dinner" ;
e:date "2011-10-15T18:54" ;
e:amount 31.45 .
d:m40398 e:description "breakfast" ;
e:date "2011-10-16T09:05" ;
e:amount 6.65 .
d:m40399 e:description "lunch" ;
e:date "2011-10-16T13:24" ;
e:amount 10.00 .
d:m40400 e:description "dinner" ;
e:date "2011-10-16T19:44" ;
e:amount 25.05 .
Source: “Learning SPARQL by Bob DuCharme (O’Reilly). Copyright 2011 Bob DuCharme, 978-1-449-30659-5.”
Jarrar © 2013 18
Sorting Data
Sort in ascending order:
Result Set:
Source: “Learning SPARQL by Bob DuCharme (O’Reilly). Copyright 2011 Bob DuCharme, 978-1-449-30659-5.”
Jarrar © 2013 19
Sorting Data
How to sort in descending order?
Source: “Learning SPARQL by Bob DuCharme (O’Reilly). Copyright 2011 Bob DuCharme, 978-1-449-30659-5.”
Jarrar © 2013 20
MAX and AVG
NOTE: MAX() and the remaining functions described here are new in SPARQL 1.1.
Source: “Learning SPARQL by Bob DuCharme (O’Reilly). Copyright 2011 Bob DuCharme, 978-1-449-30659-5.”
Jarrar © 2013 21
Group Data
Source: “Learning SPARQL by Bob DuCharme (O’Reilly). Copyright 2011 Bob DuCharme, 978-1-449-30659-5.”
Jarrar © 2013 22
Having Function
Source: “Learning SPARQL by Bob DuCharme (O’Reilly). Copyright 2011 Bob DuCharme, 978-1-449-30659-5.”
Jarrar © 2013 23
Other SPARQL Query Forms
– SELECT
• The SELECT form of results returns variables and their bindings
directly.
– CONSTRUCT
• The CONSTRUCT query form returns a single RDF graph specified by
a graph template.
– DESCRIBE
• The DESCRIBE form returns a single result RDF graph containing
RDF data about resources.
– ASK
• Applications can use the ASK form to test whether or not a
query pattern has a solution.
Jarrar © 2013 24
SPARQL
Practical Session
Part 2
Jarrar © 2013 25
Practical Session
This practical session is divided into two parts:
(1) Querying DBPedia (a huge RDF dataset built from Wikipedia
Infoboxes and data), using the online SPARQL endpoint.
(2) Querying the same graph of Practical Session I, but this time
using SPARQL.
PART 1:
Each student must do the following:
(i) Execute the following three sample queries using the online Virtuoso
SPARQL Query Editor: http://dbpedia.org/sparql.
(ii) Construct additional 3 meaningful complex queries on DBPedia or
any other dataset using an online SPARQL endpoint.
Jarrar © 2013 26
PART1: Query 1
Find all the albums that have the producer Benny Anderson
with their artists
Jarrar © 2013 27
Find all English films whose director is Charles Laughton
PART1: Query 2
Jarrar © 2013 28
Find all wars that happened in the West Bank or Gaza Strip
with their abstracts in English.
PART1: Query 3
Jarrar © 2013 29
PART2: Querying the Books Graph
Given the RDF graph of Practical Session I (also included in
the next slide), do the following:
(1) Write the data graph using any suitable RDF syntax (XML, N3, or
Turtle).
(2) Open http://sparql.us (Pronounced Sparklous)
(3) Upload your RDF file using the sparql.us tool.
(4) Write the following queries in SPARQL and execute them over the
loaded file:
• List all the authors born in a country which has the name Palestine.
• List the names of all authors with the name of their affiliation who are
born in a country whose capital’s population is14M. Note that the
author must have an affiliation.
• List the names of all books whose authors are born in Lebanon along
with the name of the author.
Jarrar © 2013 30
BK1
BK2
BK3
BK4
AU1
AU2
AU3
AU4
CN1
CN2
CA1
CA2
Viswanathan
CN3 CA3
Said
Wamadat
TheProphet
Naima
Gibran
ColombiaUniversity
Palestine
India
Lebanon
Jerusalem
New Delhi
Beirut
7.6K
2.0M
14.0M
CU
Author
Author
Author
Name
Capital
Capital
Name
Name
This data graph is about books. It talks about four books (BK1-BK4).
Information recorded about a book includes data such as; its author,
affiliation, country of birth including its capital and the population of
its capital.
PART2: Querying the Books Graph
Jarrar © 2013 31
• Each student should work alone.
• In part 2 of this practical session, the student is strongly recommended
to write two additional queries, execute them on the data graph, and
hand them along with the required queries.
• In part 2 of this practical session, the student is encouraged to compare
the results of the queries with those from Practical Session I.
• Each student must expect to present and discuss his/her queries at
class and compare them with the work of other students.
• The final delivery should include: (i) The 6 queries constructed in Part 1
with the links of their results. (ii) A link to the RDF file. (iii) The queries
executed over the RDF file in sparq.us along with snapshots of their
results. These must be handed in a report form in PDF Format.
Practical Session - Instructions
Jarrar © 2013 32
References
• http://www.w3.org
• Anton Deik, Bilal Faraj, Ala Hawash, Mustafa Jarrar: Towards Query
Optimization for the Data Web - Two Disk-Based algorithms: Trace
Equivalence and Bisimilarity.
• Learning SPARQL by Bob DuCharme (O’Reilly). Copyright 2011 Bob
DuCharme, 978-1-449-30659-5.
Jarrar © 2013 33
SPARQL Project
Jarrar © 2013 34
Goal
This project aims to train students how to use Graph queries
using both: 1) an SPARQL endpoint, and using 2) Oracle
Semantic Technology.
Data will be used from pervious projects (marksheets)
Jarrar © 2013 35
Oracle Semantic Technology Project
1. Each student alone should do the following:
2. Convert his/her two RDF Mark sheets into an RDF1(S,P,O) table,
3. Convert two RDF Mark sheets (from another student) into an RDF2(S,P,O) table.
4. Create a table called SamaAs(URI1,UR2) and populate it with the same entities in
RDF1 and RDF2.
Practice Oracle Semantic Technology:
1. Create an RDF(S,P,O) table and populate it with RDF1 and RDF2, taking into account
linked entities in the SameAs table.
2. Load this RDF table into an Oracle Semantic Technology table.
3. Write three different queries using Oracle Smatch table function: 1) a simple start
query, a start query with a path with two edges length, a start query with a path with
four edges length.
Practice SPARQL:
1. Load the graph in the RDF table (above) into the Query Editor: http://sparql.us/ .
2. Execute the same queries above using SPARQL.
Jarrar © 2013 36
• Each student will deliver a report that contains the
following:
• Snapshot/screenshot of RDF1, RDF2, RDF, and SameAs
tables.
• A screenshot of each query and its results (on both
sparql.us and Oracle), and description about what this
query mean.
• Each student will be asked to demonstrate all queries in
his/her (own laptop), and will be asked to execute
additional queries.

More Related Content

What's hot

Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
Sören Auer
 
Linking Open Government Data at Scale
Linking Open Government Data at Scale Linking Open Government Data at Scale
Linking Open Government Data at Scale
Bernadette Hyland-Wood
 
Jarrar: Data Fusion using RDF
Jarrar: Data Fusion using RDFJarrar: Data Fusion using RDF
Jarrar: Data Fusion using RDF
Mustafa Jarrar
 
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
Shamod Lacoul
 
The Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLThe Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQL
Myungjin Lee
 
RDFa Tutorial
RDFa TutorialRDFa Tutorial
RDFa Tutorial
Ivan Herman
 
Introduction to RDF Data Model
Introduction to RDF Data ModelIntroduction to RDF Data Model
Introduction to RDF Data Model
Cesar Augusto Nogueira
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use it
Jose Luis Lopez Pino
 
Jarrar: Sparql Project
Jarrar: Sparql ProjectJarrar: Sparql Project
Jarrar: Sparql Project
Mustafa Jarrar
 
Dublin Core In Practice
Dublin Core In PracticeDublin Core In Practice
Dublin Core In Practice
Marcia Zeng
 
Efficient Query Answering against Dynamic RDF Databases
Efficient Query Answering against Dynamic RDF DatabasesEfficient Query Answering against Dynamic RDF Databases
Efficient Query Answering against Dynamic RDF Databases
Alexandra Roatiș
 
RDF and OWL
RDF and OWLRDF and OWL
RDF and OWL
Rachel Lovinger
 
Re-using Media on the Web: Media fragment re-mixing and playout
Re-using Media on the Web: Media fragment re-mixing and playoutRe-using Media on the Web: Media fragment re-mixing and playout
Re-using Media on the Web: Media fragment re-mixing and playout
MediaMixerCommunity
 
Usage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application ScenariosUsage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application Scenarios
EUCLID project
 
Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
Michael Hausenblas
 
Introduction to LDL 2012
Introduction to LDL 2012Introduction to LDL 2012
Introduction to LDL 2012
Sebastian Hellmann
 
LOD(Linked Open Data) Recommendations
LOD(Linked Open Data) RecommendationsLOD(Linked Open Data) Recommendations
LOD(Linked Open Data) Recommendations
Myungjin Lee
 
Linked (Open) Data
Linked (Open) DataLinked (Open) Data
Linked (Open) Data
Bernhard Haslhofer
 
Owl web ontology language
Owl  web ontology languageOwl  web ontology language
Owl web ontology language
hassco2011
 
Property graph vs. RDF Triplestore comparison in 2020
Property graph vs. RDF Triplestore comparison in 2020Property graph vs. RDF Triplestore comparison in 2020
Property graph vs. RDF Triplestore comparison in 2020
Ontotext
 

What's hot (20)

Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
 
Linking Open Government Data at Scale
Linking Open Government Data at Scale Linking Open Government Data at Scale
Linking Open Government Data at Scale
 
Jarrar: Data Fusion using RDF
Jarrar: Data Fusion using RDFJarrar: Data Fusion using RDF
Jarrar: Data Fusion using RDF
 
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
 
The Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLThe Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQL
 
RDFa Tutorial
RDFa TutorialRDFa Tutorial
RDFa Tutorial
 
Introduction to RDF Data Model
Introduction to RDF Data ModelIntroduction to RDF Data Model
Introduction to RDF Data Model
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use it
 
Jarrar: Sparql Project
Jarrar: Sparql ProjectJarrar: Sparql Project
Jarrar: Sparql Project
 
Dublin Core In Practice
Dublin Core In PracticeDublin Core In Practice
Dublin Core In Practice
 
Efficient Query Answering against Dynamic RDF Databases
Efficient Query Answering against Dynamic RDF DatabasesEfficient Query Answering against Dynamic RDF Databases
Efficient Query Answering against Dynamic RDF Databases
 
RDF and OWL
RDF and OWLRDF and OWL
RDF and OWL
 
Re-using Media on the Web: Media fragment re-mixing and playout
Re-using Media on the Web: Media fragment re-mixing and playoutRe-using Media on the Web: Media fragment re-mixing and playout
Re-using Media on the Web: Media fragment re-mixing and playout
 
Usage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application ScenariosUsage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application Scenarios
 
Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
 
Introduction to LDL 2012
Introduction to LDL 2012Introduction to LDL 2012
Introduction to LDL 2012
 
LOD(Linked Open Data) Recommendations
LOD(Linked Open Data) RecommendationsLOD(Linked Open Data) Recommendations
LOD(Linked Open Data) Recommendations
 
Linked (Open) Data
Linked (Open) DataLinked (Open) Data
Linked (Open) Data
 
Owl web ontology language
Owl  web ontology languageOwl  web ontology language
Owl web ontology language
 
Property graph vs. RDF Triplestore comparison in 2020
Property graph vs. RDF Triplestore comparison in 2020Property graph vs. RDF Triplestore comparison in 2020
Property graph vs. RDF Triplestore comparison in 2020
 

Viewers also liked

Jarrar: OWL -Web Ontology Language
Jarrar: OWL -Web Ontology LanguageJarrar: OWL -Web Ontology Language
Jarrar: OWL -Web Ontology Language
Mustafa Jarrar
 
Jarrar: Zinnar
Jarrar: ZinnarJarrar: Zinnar
Jarrar: Zinnar
Mustafa Jarrar
 
Jarrar: RDF Stores: Challenges and Solutions
Jarrar: RDF Stores: Challenges and SolutionsJarrar: RDF Stores: Challenges and Solutions
Jarrar: RDF Stores: Challenges and Solutions
Mustafa Jarrar
 
Jarrar: OWL (Web Ontology Language)
Jarrar: OWL (Web Ontology Language)Jarrar: OWL (Web Ontology Language)
Jarrar: OWL (Web Ontology Language)
Mustafa Jarrar
 
Jarrar: RDFS ( RDF Schema)
Jarrar: RDFS ( RDF Schema) Jarrar: RDFS ( RDF Schema)
Jarrar: RDFS ( RDF Schema)
Mustafa Jarrar
 
Jarrar: Architectural Solutions in Data Integration
Jarrar: Architectural Solutions in Data IntegrationJarrar: Architectural Solutions in Data Integration
Jarrar: Architectural Solutions in Data Integration
Mustafa Jarrar
 
Jarrar: Linked Data
Jarrar: Linked DataJarrar: Linked Data
Jarrar: Linked Data
Mustafa Jarrar
 
Jarrar: Data Integration and Fusion using RDF
Jarrar: Data Integration and Fusion using RDFJarrar: Data Integration and Fusion using RDF
Jarrar: Data Integration and Fusion using RDF
Mustafa Jarrar
 
Jarrar: Knowledge Engineering- Course Outline
Jarrar: Knowledge Engineering- Course OutlineJarrar: Knowledge Engineering- Course Outline
Jarrar: Knowledge Engineering- Course Outline
Mustafa Jarrar
 
Jarrar: Subtype Relations and Constraints
Jarrar: Subtype Relations and ConstraintsJarrar: Subtype Relations and Constraints
Jarrar: Subtype Relations and Constraints
Mustafa Jarrar
 
Jarrar: Web 2 Data Mashups
Jarrar: Web 2 Data MashupsJarrar: Web 2 Data Mashups
Jarrar: Web 2 Data Mashups
Mustafa Jarrar
 
Jarrar: Introduction to Data Integration
Jarrar: Introduction to Data IntegrationJarrar: Introduction to Data Integration
Jarrar: Introduction to Data Integration
Mustafa Jarrar
 
Jarrar: The Next Generation of the Web 3.0: The Semantic Web Vesion
Jarrar: The Next Generation of the Web 3.0: The Semantic Web VesionJarrar: The Next Generation of the Web 3.0: The Semantic Web Vesion
Jarrar: The Next Generation of the Web 3.0: The Semantic Web Vesion
Mustafa Jarrar
 
Jarrar: The Next Generation of the Web 3.0: The Semantic Web
Jarrar: The Next Generation of the Web 3.0: The Semantic WebJarrar: The Next Generation of the Web 3.0: The Semantic Web
Jarrar: The Next Generation of the Web 3.0: The Semantic Web
Mustafa Jarrar
 
Jarrar: Conceptual Schema Design Steps
Jarrar: Conceptual Schema Design Steps Jarrar: Conceptual Schema Design Steps
Jarrar: Conceptual Schema Design Steps
Mustafa Jarrar
 
Jarrar: Data Schema Integration
Jarrar: Data Schema IntegrationJarrar: Data Schema Integration
Jarrar: Data Schema Integration
Mustafa Jarrar
 

Viewers also liked (16)

Jarrar: OWL -Web Ontology Language
Jarrar: OWL -Web Ontology LanguageJarrar: OWL -Web Ontology Language
Jarrar: OWL -Web Ontology Language
 
Jarrar: Zinnar
Jarrar: ZinnarJarrar: Zinnar
Jarrar: Zinnar
 
Jarrar: RDF Stores: Challenges and Solutions
Jarrar: RDF Stores: Challenges and SolutionsJarrar: RDF Stores: Challenges and Solutions
Jarrar: RDF Stores: Challenges and Solutions
 
Jarrar: OWL (Web Ontology Language)
Jarrar: OWL (Web Ontology Language)Jarrar: OWL (Web Ontology Language)
Jarrar: OWL (Web Ontology Language)
 
Jarrar: RDFS ( RDF Schema)
Jarrar: RDFS ( RDF Schema) Jarrar: RDFS ( RDF Schema)
Jarrar: RDFS ( RDF Schema)
 
Jarrar: Architectural Solutions in Data Integration
Jarrar: Architectural Solutions in Data IntegrationJarrar: Architectural Solutions in Data Integration
Jarrar: Architectural Solutions in Data Integration
 
Jarrar: Linked Data
Jarrar: Linked DataJarrar: Linked Data
Jarrar: Linked Data
 
Jarrar: Data Integration and Fusion using RDF
Jarrar: Data Integration and Fusion using RDFJarrar: Data Integration and Fusion using RDF
Jarrar: Data Integration and Fusion using RDF
 
Jarrar: Knowledge Engineering- Course Outline
Jarrar: Knowledge Engineering- Course OutlineJarrar: Knowledge Engineering- Course Outline
Jarrar: Knowledge Engineering- Course Outline
 
Jarrar: Subtype Relations and Constraints
Jarrar: Subtype Relations and ConstraintsJarrar: Subtype Relations and Constraints
Jarrar: Subtype Relations and Constraints
 
Jarrar: Web 2 Data Mashups
Jarrar: Web 2 Data MashupsJarrar: Web 2 Data Mashups
Jarrar: Web 2 Data Mashups
 
Jarrar: Introduction to Data Integration
Jarrar: Introduction to Data IntegrationJarrar: Introduction to Data Integration
Jarrar: Introduction to Data Integration
 
Jarrar: The Next Generation of the Web 3.0: The Semantic Web Vesion
Jarrar: The Next Generation of the Web 3.0: The Semantic Web VesionJarrar: The Next Generation of the Web 3.0: The Semantic Web Vesion
Jarrar: The Next Generation of the Web 3.0: The Semantic Web Vesion
 
Jarrar: The Next Generation of the Web 3.0: The Semantic Web
Jarrar: The Next Generation of the Web 3.0: The Semantic WebJarrar: The Next Generation of the Web 3.0: The Semantic Web
Jarrar: The Next Generation of the Web 3.0: The Semantic Web
 
Jarrar: Conceptual Schema Design Steps
Jarrar: Conceptual Schema Design Steps Jarrar: Conceptual Schema Design Steps
Jarrar: Conceptual Schema Design Steps
 
Jarrar: Data Schema Integration
Jarrar: Data Schema IntegrationJarrar: Data Schema Integration
Jarrar: Data Schema Integration
 

Similar to Jarrar: SPARQL - RDF Query Language

Exploring the Semantic Web
Exploring the Semantic WebExploring the Semantic Web
Exploring the Semantic Web
Roberto García
 
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
Josef Petrák
 
Semantic web meetup – sparql tutorial
Semantic web meetup – sparql tutorialSemantic web meetup – sparql tutorial
Semantic web meetup – sparql tutorial
AdonisDamian
 
Data in RDF
Data in RDFData in RDF
Introduction to Graph Databases
Introduction to Graph DatabasesIntroduction to Graph Databases
Introduction to Graph Databases
Paolo Pareti
 
Transforming Your Data with GraphDB: GraphDB Fundamentals, Jan 2018
Transforming Your Data with GraphDB: GraphDB Fundamentals, Jan 2018Transforming Your Data with GraphDB: GraphDB Fundamentals, Jan 2018
Transforming Your Data with GraphDB: GraphDB Fundamentals, Jan 2018
Ontotext
 
Debunking some “RDF vs. Property Graph” Alternative Facts
Debunking some “RDF vs. Property Graph” Alternative FactsDebunking some “RDF vs. Property Graph” Alternative Facts
Debunking some “RDF vs. Property Graph” Alternative Facts
Neo4j
 
Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011
Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011
Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011
François Scharffe
 
Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011
Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011
Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011
Datalift
 
MarkLogic Overview and Use Cases
MarkLogic Overview and Use CasesMarkLogic Overview and Use Cases
MarkLogic Overview and Use Cases
Ioan Toma
 
MarkLogic Overview and Use Cases
MarkLogic Overview and Use CasesMarkLogic Overview and Use Cases
MarkLogic Overview and Use Cases
LDBC council
 
DH101 2013/2014 course 6 - Semantic coding, RDF, CIDOC-CRM
DH101 2013/2014 course 6 - Semantic coding, RDF, CIDOC-CRMDH101 2013/2014 course 6 - Semantic coding, RDF, CIDOC-CRM
DH101 2013/2014 course 6 - Semantic coding, RDF, CIDOC-CRM
Frederic Kaplan
 
Data-mining the Semantic Web @TCD
Data-mining the Semantic Web @TCDData-mining the Semantic Web @TCD
Data-mining the Semantic Web @TCD
Frank Lynam
 
Sparql a simple knowledge query
Sparql  a simple knowledge querySparql  a simple knowledge query
Sparql a simple knowledge query
Stanley Wang
 
Sparql semantic information retrieval by
Sparql semantic information retrieval bySparql semantic information retrieval by
Sparql semantic information retrieval by
IJNSA Journal
 
Object oriented databases
Object oriented databasesObject oriented databases
Object oriented databases
Sajith Ekanayaka
 
Data science unit3
Data science unit3Data science unit3
Data science unit3
varshakumar21
 
A Little SPARQL in your Analytics
A Little SPARQL in your AnalyticsA Little SPARQL in your Analytics
A Little SPARQL in your Analytics
Dr. Neil Brittliff
 
Lasso and Couchdb : the happy couple
Lasso and Couchdb : the happy coupleLasso and Couchdb : the happy couple
Lasso and Couchdb : the happy couple
Ari Najarian
 
SPARQL: SEMANTIC INFORMATION RETRIEVAL BY EMBEDDING PREPOSITIONS
SPARQL: SEMANTIC INFORMATION RETRIEVAL BY EMBEDDING PREPOSITIONSSPARQL: SEMANTIC INFORMATION RETRIEVAL BY EMBEDDING PREPOSITIONS
SPARQL: SEMANTIC INFORMATION RETRIEVAL BY EMBEDDING PREPOSITIONS
IJNSA Journal
 

Similar to Jarrar: SPARQL - RDF Query Language (20)

Exploring the Semantic Web
Exploring the Semantic WebExploring the Semantic Web
Exploring the Semantic Web
 
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
 
Semantic web meetup – sparql tutorial
Semantic web meetup – sparql tutorialSemantic web meetup – sparql tutorial
Semantic web meetup – sparql tutorial
 
Data in RDF
Data in RDFData in RDF
Data in RDF
 
Introduction to Graph Databases
Introduction to Graph DatabasesIntroduction to Graph Databases
Introduction to Graph Databases
 
Transforming Your Data with GraphDB: GraphDB Fundamentals, Jan 2018
Transforming Your Data with GraphDB: GraphDB Fundamentals, Jan 2018Transforming Your Data with GraphDB: GraphDB Fundamentals, Jan 2018
Transforming Your Data with GraphDB: GraphDB Fundamentals, Jan 2018
 
Debunking some “RDF vs. Property Graph” Alternative Facts
Debunking some “RDF vs. Property Graph” Alternative FactsDebunking some “RDF vs. Property Graph” Alternative Facts
Debunking some “RDF vs. Property Graph” Alternative Facts
 
Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011
Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011
Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011
 
Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011
Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011
Datalift a-catalyser-for-the-web-of-data-fosdem-05-02-2011
 
MarkLogic Overview and Use Cases
MarkLogic Overview and Use CasesMarkLogic Overview and Use Cases
MarkLogic Overview and Use Cases
 
MarkLogic Overview and Use Cases
MarkLogic Overview and Use CasesMarkLogic Overview and Use Cases
MarkLogic Overview and Use Cases
 
DH101 2013/2014 course 6 - Semantic coding, RDF, CIDOC-CRM
DH101 2013/2014 course 6 - Semantic coding, RDF, CIDOC-CRMDH101 2013/2014 course 6 - Semantic coding, RDF, CIDOC-CRM
DH101 2013/2014 course 6 - Semantic coding, RDF, CIDOC-CRM
 
Data-mining the Semantic Web @TCD
Data-mining the Semantic Web @TCDData-mining the Semantic Web @TCD
Data-mining the Semantic Web @TCD
 
Sparql a simple knowledge query
Sparql  a simple knowledge querySparql  a simple knowledge query
Sparql a simple knowledge query
 
Sparql semantic information retrieval by
Sparql semantic information retrieval bySparql semantic information retrieval by
Sparql semantic information retrieval by
 
Object oriented databases
Object oriented databasesObject oriented databases
Object oriented databases
 
Data science unit3
Data science unit3Data science unit3
Data science unit3
 
A Little SPARQL in your Analytics
A Little SPARQL in your AnalyticsA Little SPARQL in your Analytics
A Little SPARQL in your Analytics
 
Lasso and Couchdb : the happy couple
Lasso and Couchdb : the happy coupleLasso and Couchdb : the happy couple
Lasso and Couchdb : the happy couple
 
SPARQL: SEMANTIC INFORMATION RETRIEVAL BY EMBEDDING PREPOSITIONS
SPARQL: SEMANTIC INFORMATION RETRIEVAL BY EMBEDDING PREPOSITIONSSPARQL: SEMANTIC INFORMATION RETRIEVAL BY EMBEDDING PREPOSITIONS
SPARQL: SEMANTIC INFORMATION RETRIEVAL BY EMBEDDING PREPOSITIONS
 

More from Mustafa Jarrar

Clustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment AnalysisClustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment Analysis
Mustafa Jarrar
 
Classifying Processes and Basic Formal Ontology
Classifying Processes  and Basic Formal OntologyClassifying Processes  and Basic Formal Ontology
Classifying Processes and Basic Formal Ontology
Mustafa Jarrar
 
Discrete Mathematics Course Outline
Discrete Mathematics Course OutlineDiscrete Mathematics Course Outline
Discrete Mathematics Course Outline
Mustafa Jarrar
 
Business Process Implementation
Business Process ImplementationBusiness Process Implementation
Business Process Implementation
Mustafa Jarrar
 
Business Process Design and Re-engineering
Business Process Design and Re-engineeringBusiness Process Design and Re-engineering
Business Process Design and Re-engineering
Mustafa Jarrar
 
BPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical ConstructsBPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical Constructs
Mustafa Jarrar
 
BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs  BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs
Mustafa Jarrar
 
Introduction to Business Process Management
Introduction to Business Process ManagementIntroduction to Business Process Management
Introduction to Business Process Management
Mustafa Jarrar
 
Customer Complaint Ontology
Customer Complaint Ontology Customer Complaint Ontology
Customer Complaint Ontology
Mustafa Jarrar
 
Subset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion RulesSubset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion Rules
Mustafa Jarrar
 
Schema Modularization in ORM
Schema Modularization in ORMSchema Modularization in ORM
Schema Modularization in ORM
Mustafa Jarrar
 
On Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in PalestineOn Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in Palestine
Mustafa Jarrar
 
Lessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online CoursesLessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online Courses
Mustafa Jarrar
 
Presentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-finalPresentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-final
Mustafa Jarrar
 
Jarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 CallsJarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 Calls
Mustafa Jarrar
 
Habash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingHabash: Arabic Natural Language Processing
Habash: Arabic Natural Language Processing
Mustafa Jarrar
 
Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing
Mustafa Jarrar
 
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 ProposalsRiestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
Mustafa Jarrar
 
Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020
Mustafa Jarrar
 
Jarrar: Logical Foundation of Ontology Engineering
Jarrar: Logical Foundation of Ontology EngineeringJarrar: Logical Foundation of Ontology Engineering
Jarrar: Logical Foundation of Ontology Engineering
Mustafa Jarrar
 

More from Mustafa Jarrar (20)

Clustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment AnalysisClustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment Analysis
 
Classifying Processes and Basic Formal Ontology
Classifying Processes  and Basic Formal OntologyClassifying Processes  and Basic Formal Ontology
Classifying Processes and Basic Formal Ontology
 
Discrete Mathematics Course Outline
Discrete Mathematics Course OutlineDiscrete Mathematics Course Outline
Discrete Mathematics Course Outline
 
Business Process Implementation
Business Process ImplementationBusiness Process Implementation
Business Process Implementation
 
Business Process Design and Re-engineering
Business Process Design and Re-engineeringBusiness Process Design and Re-engineering
Business Process Design and Re-engineering
 
BPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical ConstructsBPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical Constructs
 
BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs  BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs
 
Introduction to Business Process Management
Introduction to Business Process ManagementIntroduction to Business Process Management
Introduction to Business Process Management
 
Customer Complaint Ontology
Customer Complaint Ontology Customer Complaint Ontology
Customer Complaint Ontology
 
Subset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion RulesSubset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion Rules
 
Schema Modularization in ORM
Schema Modularization in ORMSchema Modularization in ORM
Schema Modularization in ORM
 
On Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in PalestineOn Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in Palestine
 
Lessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online CoursesLessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online Courses
 
Presentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-finalPresentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-final
 
Jarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 CallsJarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 Calls
 
Habash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingHabash: Arabic Natural Language Processing
Habash: Arabic Natural Language Processing
 
Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing
 
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 ProposalsRiestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
 
Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020
 
Jarrar: Logical Foundation of Ontology Engineering
Jarrar: Logical Foundation of Ontology EngineeringJarrar: Logical Foundation of Ontology Engineering
Jarrar: Logical Foundation of Ontology Engineering
 

Recently uploaded

Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 

Recently uploaded (20)

Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 

Jarrar: SPARQL - RDF Query Language

  • 1. Jarrar © 2013 1 Dr. Mustafa Jarrar University of Birzeit mjarrar@birzeit.edu www.jarrar.info Lecture Notes on Web Data Management Birzeit University, Palestine 2013 SPARQL (RDF Query Language)
  • 2. Jarrar © 2013 2 Watch this lecture and download the slides from http://jarrar-courses.blogspot.com/2014/01/web-data-management.html
  • 3. Jarrar © 2013 3 Lecture Outline Part I: SPARQL Basics Part 2: SPARQL Practical Session Keywords: SPARQL, RDF, RDF Stores, RDF Query Langauge, Graph Databases, Querying Graph, Semantic Web, Data Web,
  • 4. Jarrar © 2013 4 SPARQL As we have learned, RDF is a graph-shaped data model. Until now, we have queried RDF stored in relational databases using standard SQL. What about a standard query language that is dedicated for querying RDF graphs? – Offering a more intuitive method for querying graph-shaped data (using graph patterns). – Offering a way for the queries and their respective results to be transported between applications / services. – Allowing querying information from multiple Web sites (mashups). – Allowing querying information from multiple enterprise databases.
  • 5. Jarrar © 2013 5 SPARQL SPARQL (pronounced: Sparkle). The name is a recursive acronym for: “SPARQL Protocol and RDF Query Language” The “Protocol” part of SPARQL’s name refers to the rules for how a client program and a SPARQL processing server exchange SPARQL queries and results (here, we focus on the query language). Official W3C Recommendation: January 2008, SPARQL 1.0 and SPARQL 1.1 in March, 2013
  • 6. Jarrar © 2013 6 SPARQL: Jumping right in A SPARQL query typically says “I want these pieces of information from the subset of the data that meets these conditions.” S P O … … … D2 Name Mel Gibson D2 actedIn M3 D3 Name Nadine Labaki D3 Country C2 D3 hasWonPrizeIn P3 D3 actedIn M4 … … … Q1: What is the name of director D3? SELECT ?directorName WHERE {:D3 :name ?directorName}
  • 7. Jarrar © 2013 7 Variables The Variable: – It tells the query engine that triples with any value at all in that position are OK to match this triple pattern. – The values are stored in the variable so that we can use them elsewhere in the query. Q2: What is the name of the director of the movie M1? SELECT ?directorName WHERE { :M1 :directedBy ?director . ?director :name ?directorName } S P O M1 year 2007 M1 Name Sicko M1 directedBy D1 … … … M4 Name Caramel D1 Name Michael Moore D1 hasWonPrizeIn P1 D1 Country C1 … … …
  • 8. Jarrar © 2013 8 Example Q3: List all the movies who have directors from the USA and their directors. Select ?movie ?director Where {?movie :directedBy ?director. ?director :country ?country. ?country :name ‘USA’} S P O M1 year 2007 M1 Name Sicko M1 directedBy D1 M2 directedBy D1 M2 Year 2009 M2 Name Capitalism M3 Year 1995 M3 directedBy D2 M3 Name Brave Heart … … … D1 Name Michael Moore D1 hasWonPrizeIn P1 D1 Country C1 D2 Counrty C1 D2 hasWonPrizeIn P2 D2 Name Mel Gibson D2 actedIn M3 … … … C1 Name USA C1 Capital Washington DC C2 Name Lebanon C2 Capital Beirut … … … Ans: M1 D1; M2 D1; M3 D2
  • 9. Jarrar © 2013 9 How to Query RDF data stored in one table? Q4: List all the names of the directors from Lebanon who have won prizes and the prizes they have won. Select ?directorName ?prize Where { ?director :name ?directorName. ?director :country ?c. ?c :name ‘Lebanon’. ?director :hasWonPrizeIn ?prize } S P O D1 Name Michael Moore D1 hasWonPrizeIn P1 D1 Country C1 D2 Counrty C1 D2 hasWonPrizeIn P2 D2 Name Mel Gibson D2 actedIn M3 D3 Name Nadine Labaki D3 Country C2 D3 hasWonPrizeIn P3 D3 actedIn M4 … … … C1 Name USA C1 Capital Washington DC C2 Name Lebanon C2 Capital Beirut … … … Ans: ‘Nadine Labaki’ , P3
  • 10. Jarrar © 2013 10 A SPARQL query - WHERE specifies data to pull out - SELECT picks which data to display Source: “Learning SPARQL by Bob DuCharme (O’Reilly). Copyright 2011 Bob DuCharme, 978-1-449-30659-5.”
  • 11. Jarrar © 2013 11 RDF and SPARQL in accurate syntax Recall that RDF triple’s Subject and Predicate must always be URIs. RDF’s object can either be a URI or a literal. RDF can be written in many ways such as RDF/XML, Notation 3, and Turtle. Consider our RDF graph written in Turtle format: @prefix ab: <http://example.com/ns/movies#> . @prefix da: <http://example.com/ns/data#> . ... da:M1 ab:year “2007”. da:M1 ab:name “Sicko”. da:M1 ab:directedBy da:D1. da:D1 ab:name “Michael Moore”. ... PREFIX ab: <http://example.com/ns/movies#> PREFIX da: <http://example.com/ns/data#> SELECT ?directorName WHERE { da:M1 ab:directedBy ?director . ?director ab:name ?directorName } • Consider Q2 again: Namespaces where the vocabulary used is defined (usually an ontology) Prefixes are used to make the query more compact Consider the use of URIs in the subject and predicates, and the use of strings in non- URI objects
  • 12. Jarrar © 2013 12 Graph Patterns So far, we have seen two graph patterns: – Basic Graph Pattern: A triple pattern. – Group Pattern: A set of graph patterns which must all match. • Triple Pattern – similar to an RDF Triple (subject, predicate, object), but may include variables to add flexibility in how they match against the data. • Matching a triple pattern to a graph: bindings between variables and RDF Terms. Matching of Basic Graph Patterns – A Pattern Solution of Graph Pattern GP on graph G is any substitution S such that S(GP) is a subgraph of G. da:M1 ab:directedBy ?director Basic and Group Graph Patterns
  • 13. Jarrar © 2013 13 SELECT ?directorName WHERE {da:D3 ab:name ?directorName} SELECT ?directorName WHERE { da:M1 ab:directedBy ?director . ?director ab:name ?directorName } Basic Graph Pattern Group Graph Pattern Graph Patterns Basic and Group Graph Patterns
  • 14. Jarrar © 2013 14 Value Constraint title price "The Semantic Web" 23 @prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix : <http://example.org/book/> . @prefix ns: <http://example.org/ns#> . :book1 dc:title "SPARQL Tutorial" . :book1 ns:price 42 . :book2 dc:title "The Semantic Web" . :book2 ns:price 23 . PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX ns: <http://example.org/ns#> SELECT ?title ?price WHERE { ?x ns:price ?price . FILTER ?price < 30 . ?x dc:title ?title . } Data Query Query Results Source: http://www.w3.org/TR/2005/WD-rdf-sparql-query-20050721/ Graph Patterns
  • 15. Jarrar © 2013 15 Optional Graph Patterns PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX ns: <http://example.org/ns#> SELECT ?title ?price WHERE { ?x dc:title ?title . OPTIONAL { ?x ns:price ?price . FILTER ?price < 30 }} @prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix : <http://example.org/book/> . @prefix ns: <http://example.org/ns#> . :book1 dc:title "SPARQL Tutorial" . :book1 ns:price 42 . :book2 dc:title "The Semantic Web" . :book2 ns:price 23 . title price “SPARQL Tutorial“ "The Semantic Web" 23 Data Query Query Result Graph Patterns Source: http://www.w3.org/TR/2005/WD-rdf-sparql-query-20050721/
  • 16. Jarrar © 2013 16 Alternative Graph Pattern (UNION) PREFIX dc10: <http://purl.org/dc/elements/1.0/> PREFIX dc11: <http://purl.org/dc/elements/1.1/> SELECT ?x ?y WHERE { { ?book dc10:title ?x } UNION { ?book dc11:title ?y } } @prefix dc10: <http://purl.org/dc/elements/1.0/> . @prefix dc11: <http://purl.org/dc/elements/1.1/> . _:a dc10:title "SPARQL Query Language Tutorial" . _:b dc11:title "SPARQL Protocol Tutorial" . _:c dc10:title "SPARQL" . _:c dc11:title "SPARQL (updated)" . Data Query Query Result x y "SPARQL (updated)" "SPARQL Protocol Tutorial" "SPARQL" "SPARQL Query Language Tutorial" Graph Patterns Source: http://www.w3.org/TR/2005/WD-rdf-sparql-query-20050721/
  • 17. Jarrar © 2013 17 Sorting, Aggregating, Finding the Biggest, … Consider the following example about restaurant expenses: @prefix e: <http://learningsparql.com/ns/expenses#> . @prefix d: <http://learningsparql.com/ns/data#> . d:m40392 e:description "breakfast" ; e:date "2011-10-14T08:53" ; e:amount 6.53 . d:m40393 e:description "lunch" ; e:date "2011-10-14T13:19" ; e:amount 11.13 . d:m40394 e:description "dinner" ; e:date "2011-10-14T19:04" ; e:amount 28.30 . d:m40395 e:description "breakfast" ; e:date "2011-10-15T08:32" ; e:amount 4.32 . d:m40396 e:description "lunch" ; e:date "2011-10-15T12:55" ; e:amount 9.45 . d:m40397 e:description "dinner" ; e:date "2011-10-15T18:54" ; e:amount 31.45 . d:m40398 e:description "breakfast" ; e:date "2011-10-16T09:05" ; e:amount 6.65 . d:m40399 e:description "lunch" ; e:date "2011-10-16T13:24" ; e:amount 10.00 . d:m40400 e:description "dinner" ; e:date "2011-10-16T19:44" ; e:amount 25.05 . Source: “Learning SPARQL by Bob DuCharme (O’Reilly). Copyright 2011 Bob DuCharme, 978-1-449-30659-5.”
  • 18. Jarrar © 2013 18 Sorting Data Sort in ascending order: Result Set: Source: “Learning SPARQL by Bob DuCharme (O’Reilly). Copyright 2011 Bob DuCharme, 978-1-449-30659-5.”
  • 19. Jarrar © 2013 19 Sorting Data How to sort in descending order? Source: “Learning SPARQL by Bob DuCharme (O’Reilly). Copyright 2011 Bob DuCharme, 978-1-449-30659-5.”
  • 20. Jarrar © 2013 20 MAX and AVG NOTE: MAX() and the remaining functions described here are new in SPARQL 1.1. Source: “Learning SPARQL by Bob DuCharme (O’Reilly). Copyright 2011 Bob DuCharme, 978-1-449-30659-5.”
  • 21. Jarrar © 2013 21 Group Data Source: “Learning SPARQL by Bob DuCharme (O’Reilly). Copyright 2011 Bob DuCharme, 978-1-449-30659-5.”
  • 22. Jarrar © 2013 22 Having Function Source: “Learning SPARQL by Bob DuCharme (O’Reilly). Copyright 2011 Bob DuCharme, 978-1-449-30659-5.”
  • 23. Jarrar © 2013 23 Other SPARQL Query Forms – SELECT • The SELECT form of results returns variables and their bindings directly. – CONSTRUCT • The CONSTRUCT query form returns a single RDF graph specified by a graph template. – DESCRIBE • The DESCRIBE form returns a single result RDF graph containing RDF data about resources. – ASK • Applications can use the ASK form to test whether or not a query pattern has a solution.
  • 24. Jarrar © 2013 24 SPARQL Practical Session Part 2
  • 25. Jarrar © 2013 25 Practical Session This practical session is divided into two parts: (1) Querying DBPedia (a huge RDF dataset built from Wikipedia Infoboxes and data), using the online SPARQL endpoint. (2) Querying the same graph of Practical Session I, but this time using SPARQL. PART 1: Each student must do the following: (i) Execute the following three sample queries using the online Virtuoso SPARQL Query Editor: http://dbpedia.org/sparql. (ii) Construct additional 3 meaningful complex queries on DBPedia or any other dataset using an online SPARQL endpoint.
  • 26. Jarrar © 2013 26 PART1: Query 1 Find all the albums that have the producer Benny Anderson with their artists
  • 27. Jarrar © 2013 27 Find all English films whose director is Charles Laughton PART1: Query 2
  • 28. Jarrar © 2013 28 Find all wars that happened in the West Bank or Gaza Strip with their abstracts in English. PART1: Query 3
  • 29. Jarrar © 2013 29 PART2: Querying the Books Graph Given the RDF graph of Practical Session I (also included in the next slide), do the following: (1) Write the data graph using any suitable RDF syntax (XML, N3, or Turtle). (2) Open http://sparql.us (Pronounced Sparklous) (3) Upload your RDF file using the sparql.us tool. (4) Write the following queries in SPARQL and execute them over the loaded file: • List all the authors born in a country which has the name Palestine. • List the names of all authors with the name of their affiliation who are born in a country whose capital’s population is14M. Note that the author must have an affiliation. • List the names of all books whose authors are born in Lebanon along with the name of the author.
  • 30. Jarrar © 2013 30 BK1 BK2 BK3 BK4 AU1 AU2 AU3 AU4 CN1 CN2 CA1 CA2 Viswanathan CN3 CA3 Said Wamadat TheProphet Naima Gibran ColombiaUniversity Palestine India Lebanon Jerusalem New Delhi Beirut 7.6K 2.0M 14.0M CU Author Author Author Name Capital Capital Name Name This data graph is about books. It talks about four books (BK1-BK4). Information recorded about a book includes data such as; its author, affiliation, country of birth including its capital and the population of its capital. PART2: Querying the Books Graph
  • 31. Jarrar © 2013 31 • Each student should work alone. • In part 2 of this practical session, the student is strongly recommended to write two additional queries, execute them on the data graph, and hand them along with the required queries. • In part 2 of this practical session, the student is encouraged to compare the results of the queries with those from Practical Session I. • Each student must expect to present and discuss his/her queries at class and compare them with the work of other students. • The final delivery should include: (i) The 6 queries constructed in Part 1 with the links of their results. (ii) A link to the RDF file. (iii) The queries executed over the RDF file in sparq.us along with snapshots of their results. These must be handed in a report form in PDF Format. Practical Session - Instructions
  • 32. Jarrar © 2013 32 References • http://www.w3.org • Anton Deik, Bilal Faraj, Ala Hawash, Mustafa Jarrar: Towards Query Optimization for the Data Web - Two Disk-Based algorithms: Trace Equivalence and Bisimilarity. • Learning SPARQL by Bob DuCharme (O’Reilly). Copyright 2011 Bob DuCharme, 978-1-449-30659-5.
  • 33. Jarrar © 2013 33 SPARQL Project
  • 34. Jarrar © 2013 34 Goal This project aims to train students how to use Graph queries using both: 1) an SPARQL endpoint, and using 2) Oracle Semantic Technology. Data will be used from pervious projects (marksheets)
  • 35. Jarrar © 2013 35 Oracle Semantic Technology Project 1. Each student alone should do the following: 2. Convert his/her two RDF Mark sheets into an RDF1(S,P,O) table, 3. Convert two RDF Mark sheets (from another student) into an RDF2(S,P,O) table. 4. Create a table called SamaAs(URI1,UR2) and populate it with the same entities in RDF1 and RDF2. Practice Oracle Semantic Technology: 1. Create an RDF(S,P,O) table and populate it with RDF1 and RDF2, taking into account linked entities in the SameAs table. 2. Load this RDF table into an Oracle Semantic Technology table. 3. Write three different queries using Oracle Smatch table function: 1) a simple start query, a start query with a path with two edges length, a start query with a path with four edges length. Practice SPARQL: 1. Load the graph in the RDF table (above) into the Query Editor: http://sparql.us/ . 2. Execute the same queries above using SPARQL.
  • 36. Jarrar © 2013 36 • Each student will deliver a report that contains the following: • Snapshot/screenshot of RDF1, RDF2, RDF, and SameAs tables. • A screenshot of each query and its results (on both sparql.us and Oracle), and description about what this query mean. • Each student will be asked to demonstrate all queries in his/her (own laptop), and will be asked to execute additional queries.