SlideShare une entreprise Scribd logo
1  sur  36
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.

Contenu connexe

Tendances

Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data TutorialSö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 RDFMustafa 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 LacoulShamod Lacoul
 
The Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLThe Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLMyungjin Lee
 
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 itJose Luis Lopez Pino
 
Jarrar: Sparql Project
Jarrar: Sparql ProjectJarrar: Sparql Project
Jarrar: Sparql ProjectMustafa Jarrar
 
Dublin Core In Practice
Dublin Core In PracticeDublin Core In Practice
Dublin Core In PracticeMarcia 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 DatabasesAlexandra Roatiș
 
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 playoutMediaMixerCommunity
 
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 ScenariosEUCLID project
 
LOD(Linked Open Data) Recommendations
LOD(Linked Open Data) RecommendationsLOD(Linked Open Data) Recommendations
LOD(Linked Open Data) RecommendationsMyungjin Lee
 
Owl web ontology language
Owl  web ontology languageOwl  web ontology language
Owl web ontology languagehassco2011
 
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 2020Ontotext
 

Tendances (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
 

En vedette

Jarrar: OWL -Web Ontology Language
Jarrar: OWL -Web Ontology LanguageJarrar: OWL -Web Ontology Language
Jarrar: OWL -Web Ontology LanguageMustafa Jarrar
 
Jarrar: RDF Stores: Challenges and Solutions
Jarrar: RDF Stores: Challenges and SolutionsJarrar: RDF Stores: Challenges and Solutions
Jarrar: RDF Stores: Challenges and SolutionsMustafa 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 IntegrationMustafa 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 RDFMustafa Jarrar
 
Jarrar: Knowledge Engineering- Course Outline
Jarrar: Knowledge Engineering- Course OutlineJarrar: Knowledge Engineering- Course Outline
Jarrar: Knowledge Engineering- Course OutlineMustafa Jarrar
 
Jarrar: Subtype Relations and Constraints
Jarrar: Subtype Relations and ConstraintsJarrar: Subtype Relations and Constraints
Jarrar: Subtype Relations and ConstraintsMustafa Jarrar
 
Jarrar: Web 2 Data Mashups
Jarrar: Web 2 Data MashupsJarrar: Web 2 Data Mashups
Jarrar: Web 2 Data MashupsMustafa Jarrar
 
Jarrar: Introduction to Data Integration
Jarrar: Introduction to Data IntegrationJarrar: Introduction to Data Integration
Jarrar: Introduction to Data IntegrationMustafa 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 VesionMustafa 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 WebMustafa 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 IntegrationMustafa Jarrar
 

En vedette (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
 

Similaire à Jarrar: SPARQL - RDF Query Language

Exploring the Semantic Web
Exploring the Semantic WebExploring the Semantic Web
Exploring the Semantic WebRoberto 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 APIsJosef Petrák
 
Semantic web meetup – sparql tutorial
Semantic web meetup – sparql tutorialSemantic web meetup – sparql tutorial
Semantic web meetup – sparql tutorialAdonisDamian
 
Introduction to Graph Databases
Introduction to Graph DatabasesIntroduction to Graph Databases
Introduction to Graph DatabasesPaolo 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 2018Ontotext
 
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 FactsNeo4j
 
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-2011Franç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-2011Datalift
 
MarkLogic Overview and Use Cases
MarkLogic Overview and Use CasesMarkLogic Overview and Use Cases
MarkLogic Overview and Use CasesIoan Toma
 
MarkLogic Overview and Use Cases
MarkLogic Overview and Use CasesMarkLogic Overview and Use Cases
MarkLogic Overview and Use CasesLDBC 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-CRMFrederic Kaplan
 
Data-mining the Semantic Web @TCD
Data-mining the Semantic Web @TCDData-mining the Semantic Web @TCD
Data-mining the Semantic Web @TCDFrank Lynam
 
Sparql a simple knowledge query
Sparql  a simple knowledge querySparql  a simple knowledge query
Sparql a simple knowledge queryStanley Wang
 
Sparql semantic information retrieval by
Sparql semantic information retrieval bySparql semantic information retrieval by
Sparql semantic information retrieval byIJNSA Journal
 
A Little SPARQL in your Analytics
A Little SPARQL in your AnalyticsA Little SPARQL in your Analytics
A Little SPARQL in your AnalyticsDr. Neil Brittliff
 
Lasso and Couchdb : the happy couple
Lasso and Couchdb : the happy coupleLasso and Couchdb : the happy couple
Lasso and Couchdb : the happy coupleAri 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 PREPOSITIONSIJNSA Journal
 

Similaire à 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
 

Plus de Mustafa Jarrar

Clustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment AnalysisClustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment AnalysisMustafa Jarrar
 
Classifying Processes and Basic Formal Ontology
Classifying Processes  and Basic Formal OntologyClassifying Processes  and Basic Formal Ontology
Classifying Processes and Basic Formal OntologyMustafa Jarrar
 
Discrete Mathematics Course Outline
Discrete Mathematics Course OutlineDiscrete Mathematics Course Outline
Discrete Mathematics Course OutlineMustafa Jarrar
 
Business Process Implementation
Business Process ImplementationBusiness Process Implementation
Business Process ImplementationMustafa Jarrar
 
Business Process Design and Re-engineering
Business Process Design and Re-engineeringBusiness Process Design and Re-engineering
Business Process Design and Re-engineeringMustafa Jarrar
 
BPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical ConstructsBPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical ConstructsMustafa 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 ManagementMustafa 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 RulesMustafa Jarrar
 
Schema Modularization in ORM
Schema Modularization in ORMSchema Modularization in ORM
Schema Modularization in ORMMustafa 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 PalestineMustafa 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 CoursesMustafa Jarrar
 
Presentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-finalPresentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-finalMustafa 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 CallsMustafa Jarrar
 
Habash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingHabash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingMustafa 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 ProposalsMustafa 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 Horizon2020Mustafa Jarrar
 
Jarrar: Logical Foundation of Ontology Engineering
Jarrar: Logical Foundation of Ontology EngineeringJarrar: Logical Foundation of Ontology Engineering
Jarrar: Logical Foundation of Ontology EngineeringMustafa Jarrar
 

Plus de 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
 

Dernier

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Dernier (20)

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

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.