SlideShare a Scribd company logo
1 of 19
Download to read offline
Querying the Web of Data with XSPARQL 1.1 
Daniele Dell’Aglio (DEIB, Politecnico di Milano) 
Axel Polleres (Vienna University of Economics and Business) 
Nuno Lopes (IBM Research Ireland) 
Stefan Bischof (SIEMENS Austria)
/ 8 
What is XSPARQL? 
19 October 2014 - ISWC Dev Workshop 2014 
Querying the Web of Data with XSPARQL 1.1 
2 
XSPARQL is a transformation language to conveniently query XML and RDF side-by-side 
It is a syntactic extension of XQuery 
A SPARQL-for clause to query RDF data (by using SPARQL operators) 
A CONSTRUCT clause to produce RDF output 
 
 
 

/ 8 
What is XSPARQL? 
19 October 2014 - ISWC Dev Workshop 2014 
Querying the Web of Data with XSPARQL 1.1 
2 
XSPARQL is a transformation language to conveniently query XML and RDF side-by-side 
It is a syntactic extension of XQuery 
A SPARQL-for clause to query RDF data (by using SPARQL operators) 
A CONSTRUCT clause to produce RDF output 
Several improvements during the years 
Support for querying RDBMS data sources 
Support for R2RML 
Query optimisations
/ 8 
Where to go to learn headbanging? 
We want to retrieve the list of upcoming concerts of music artists having Nuclear Blast as music label 
 
 
 
 
 
 
Pictures from Wikipedia 
19 October 2014 - ISWC Dev Workshop 2014 
Querying the Web of Data with XSPARQL 1.1 
3
/ 8 
Where to go to learn headbanging? 
We want to retrieve the list of upcoming concerts of music artists having Nuclear Blast as music label 
We can get 
The list of the artists from DBPedia 
 
 
 
 
Pictures from Wikipedia 
19 October 2014 - ISWC Dev Workshop 2014 
Querying the Web of Data with XSPARQL 1.1 
3
/ 8 
Where to go to learn headbanging? 
We want to retrieve the list of upcoming concerts of music artists having Nuclear Blast as music label 
We can get 
The list of the artists from DBPedia 
The concerts on Last.fm 
 
 
 
Pictures from Wikipedia 
19 October 2014 - ISWC Dev Workshop 2014 
Querying the Web of Data with XSPARQL 1.1 
3
/ 8 
Where to go to learn headbanging? 
We want to retrieve the list of upcoming concerts of music artists having Nuclear Blast as music label 
We can get 
The list of the artists from DBPedia 
The concerts on Last.fm 
And put data… together? 
Different data sources 
Different formats (JSON, RDF) 
Pictures from Wikipedia 
19 October 2014 - ISWC Dev Workshop 2014 
Querying the Web of Data with XSPARQL 1.1 
3
/ 8 
Where to go to learn headbanging? 
We want to retrieve the list of upcoming concerts of music artists having Nuclear Blast as music label 
We can get 
The list of the artists from DBPedia 
The concerts on Last.fm 
And put data… together? 
Different data sources 
Different formats (JSON, RDF) 
Pictures from Wikipedia 
19 October 2014 - ISWC Dev Workshop 2014 
Querying the Web of Data with XSPARQL 1.1 
3
/ 8 
How can XSPARQL 1.1 help us? 
1. prefix lastfm: <http://xsparql.deri.org/lastfm#> 2. prefix dbprop: http://dbpedia.org/property/ 3. prefix dbpedia: <http://dbpedia.org/resource/> 4. for * 5. where { 6. service <http://dbpedia.org/sparql> { 7. $artist a dbowl:Band ; 8. dbprop:label dbpedia:Nuclear_Blast ; 9. dbprop:name $artistName . 10. } 11. } 12. return 13. let $doc := fn:concat("http://ws.../artist=",$artistName) 14. for $event in xsparql:json-doc($doc)//events/event/* 15. construct { 16. [] a lastfm:Event ; 17. lastfm:artist {$artistName} ; 18. lastfm:venue {$event/venue/location/city} ; 19. last:date {$event/startDate} 20. } 
19 October 2014 - ISWC Dev Workshop 2014 
Querying the Web of Data with XSPARQL 1.1 
4
/ 8 
How can XSPARQL 1.1 help us? 
1. prefix lastfm: <http://xsparql.deri.org/lastfm#> 2. prefix dbprop: http://dbpedia.org/property/ 3. prefix dbpedia: <http://dbpedia.org/resource/> 4. for * 5. where { 6. service <http://dbpedia.org/sparql> { 7. $artist a dbowl:Band ; 8. dbprop:label dbpedia:Nuclear_Blast ; 9. dbprop:name $artistName . 10. } 11. } 12. return 13. let $doc := fn:concat("http://ws.../artist=",$artistName) 14. for $event in xsparql:json-doc($doc)//events/event/* 15. construct { 16. [] a lastfm:Event ; 17. lastfm:artist {$artistName} ; 18. lastfm:venue {$event/venue/location/city} ; 19. last:date {$event/startDate} 20. } 
Support of SPARQL 1.1 operators: 
Assignment/Project Expressions 
Aggregate functions: SUM, AVG,... 
Federation 
Negation 
Property paths 
Subqueries 
19 October 2014 - ISWC Dev Workshop 2014 
Querying the Web of Data with XSPARQL 1.1 
4
/ 8 
How can XSPARQL 1.1 help us? 
1. prefix lastfm: <http://xsparql.deri.org/lastfm#> 2. prefix dbprop: http://dbpedia.org/property/ 3. prefix dbpedia: <http://dbpedia.org/resource/> 4. for * 5. where { 6. service <http://dbpedia.org/sparql> { 7. $artist a dbowl:Band ; 8. dbprop:label dbpedia:Nuclear_Blast ; 9. dbprop:name $artistName . 10. } 11. } 12. return 13. let $doc := fn:concat("http://ws.../artist=",$artistName) 14. for $event in xsparql:json-doc($doc)//events/event/* 15. construct { 16. [] a lastfm:Event ; 17. lastfm:artist {$artistName} ; 18. lastfm:venue {$event/venue/location/city} ; 19. last:date {$event/startDate} 20. } 
Support of SPARQL 1.1 operators: 
Assignment/Project Expressions 
Aggregate functions: SUM, AVG,... 
Federation 
Negation 
Property paths 
Subqueries 
Processing of JSON files 
19 October 2014 - ISWC Dev Workshop 2014 
Querying the Web of Data with XSPARQL 1.1 
4
/ 8 
How does it work? 
xsparql 
evaluator 
xsparql 
rewriter 
XSPARQL query 
data 
xsparql-cli 
JAR Library 
19 October 2014 - ISWC Dev Workshop 2014 
Querying the Web of Data with XSPARQL 1.1 
5
/ 8 
How does it work? 
XQuery query 
xsparql 
evaluator 
xsparql 
rewriter 
lexer/parser 
rewriter 
optimizer 
XSPARQL query 
data 
xsparql-cli 
JAR Library 
19 October 2014 - ISWC Dev Workshop 2014 
Querying the Web of Data with XSPARQL 1.1 
5
/ 8 
How does it work? 
XQuery query 
XQuery engine 
SPARQL engine 
xsparql 
evaluator 
xsparql 
rewriter 
lexer/parser 
rewriter 
optimizer 
XSPARQL query 
answer (XML|RDF) 
data 
xsparql-cli 
JAR Library 
19 October 2014 - ISWC Dev Workshop 2014 
Querying the Web of Data with XSPARQL 1.1 
5
/ 8 
How does it work? 
XQuery query 
XQuery engine 
SPARQL engine 
xsparql 
evaluator 
xsparql 
rewriter 
lexer/parser 
rewriter 
optimizer 
XSPARQL query 
answer (XML|RDF) 
data 
xsparql-cli 
JAR Library 
19 October 2014 - ISWC Dev Workshop 2014 
Querying the Web of Data with XSPARQL 1.1 
5
/ 8 
How does it work? 
… 
XSPARQLEvaluator evalutor = 
new XSPARQLEvaluator(); 
Reader query = ...; 
Writer out = ...; 
evalutor.evaluate(query, out); 
… 
XQuery query 
XQuery engine 
SPARQL engine 
xsparql 
evaluator 
xsparql 
rewriter 
lexer/parser 
rewriter 
optimizer 
XSPARQL query 
answer (XML|RDF) 
data 
xsparql-cli 
JAR Library 
19 October 2014 - ISWC Dev Workshop 2014 
Querying the Web of Data with XSPARQL 1.1 
5
/ 8 
Whats next? 
19 October 2014 - ISWC Dev Workshop 2014 
Querying the Web of Data with XSPARQL 1.1 
6 
Use of different SPARQL engines 
openRDF and Strabon 
Support to JSON-LD 
No full control flow 
XQUERY/XSPARQL don’t allow you to specify politeness (e.g. crawl delays between doc(.) calls)
/ 8 
Thank you! 
Querying the Web of Data with XSPARQL 1.1 
http://xsparql.deri.org 
http://sourceforge.net/projects/xsparql 
Daniele Dell’Aglio, Axel Polleres, Nuno Lopes and Stefan Bischof 
daniele.dellaglio@polimi.it 
(Thank you, SWSA and Google, for my Student Travel grant!) 
19 October 2014 - ISWC Dev Workshop 2014 
Querying the Web of Data with XSPARQL 1.1 
7
/ 8 
The last slide :) 
19 October 2014 - ISWC Dev Workshop 2014 
Querying the Web of Data with XSPARQL 1.1 
XQuery query 
XQuery engine 
SPARQL engine 
xsparql 
evaluator 
xsparql 
rewriter 
lexer/parser 
rewriter 
optimizer 
XSPARQL query 
answer (XML|RDF) 
data 
xsparql-cli 
JAR Library 
Pictures from Wikipedia 
8

More Related Content

What's hot

Yahoo! Mail antispam - Bay area Hadoop user group
Yahoo! Mail antispam - Bay area Hadoop user groupYahoo! Mail antispam - Bay area Hadoop user group
Yahoo! Mail antispam - Bay area Hadoop user group
Hadoop User Group
 

What's hot (20)

SparkR - Scalable machine learning - Utah R Users Group - U of U - June 17th
SparkR - Scalable machine learning - Utah R Users Group - U of U - June 17thSparkR - Scalable machine learning - Utah R Users Group - U of U - June 17th
SparkR - Scalable machine learning - Utah R Users Group - U of U - June 17th
 
Sparkcamp @ Strata CA: Intro to Apache Spark with Hands-on Tutorials
Sparkcamp @ Strata CA: Intro to Apache Spark with Hands-on TutorialsSparkcamp @ Strata CA: Intro to Apache Spark with Hands-on Tutorials
Sparkcamp @ Strata CA: Intro to Apache Spark with Hands-on Tutorials
 
Scala Programming for Semantic Web Developers ESWC Semdev2015
Scala Programming for Semantic Web Developers ESWC Semdev2015Scala Programming for Semantic Web Developers ESWC Semdev2015
Scala Programming for Semantic Web Developers ESWC Semdev2015
 
Apache Jena Elephas and Friends
Apache Jena Elephas and FriendsApache Jena Elephas and Friends
Apache Jena Elephas and Friends
 
Project Tungsten: Bringing Spark Closer to Bare Metal
Project Tungsten: Bringing Spark Closer to Bare MetalProject Tungsten: Bringing Spark Closer to Bare Metal
Project Tungsten: Bringing Spark Closer to Bare Metal
 
Parallelizing Existing R Packages
Parallelizing Existing R PackagesParallelizing Existing R Packages
Parallelizing Existing R Packages
 
Debugging PySpark: Spark Summit East talk by Holden Karau
Debugging PySpark: Spark Summit East talk by Holden KarauDebugging PySpark: Spark Summit East talk by Holden Karau
Debugging PySpark: Spark Summit East talk by Holden Karau
 
Apache spark basics
Apache spark basicsApache spark basics
Apache spark basics
 
Holden Karau - Spark ML for Custom Models
Holden Karau - Spark ML for Custom ModelsHolden Karau - Spark ML for Custom Models
Holden Karau - Spark ML for Custom Models
 
Introduction to Spark with Scala
Introduction to Spark with ScalaIntroduction to Spark with Scala
Introduction to Spark with Scala
 
Improving SparkSQL Performance by 30%: How We Optimize Parquet Pushdown and P...
Improving SparkSQL Performance by 30%: How We Optimize Parquet Pushdown and P...Improving SparkSQL Performance by 30%: How We Optimize Parquet Pushdown and P...
Improving SparkSQL Performance by 30%: How We Optimize Parquet Pushdown and P...
 
Yahoo! Mail antispam - Bay area Hadoop user group
Yahoo! Mail antispam - Bay area Hadoop user groupYahoo! Mail antispam - Bay area Hadoop user group
Yahoo! Mail antispam - Bay area Hadoop user group
 
Advanced Apache Spark Meetup: How Spark Beat Hadoop @ 100 TB Daytona GraySor...
Advanced Apache Spark Meetup:  How Spark Beat Hadoop @ 100 TB Daytona GraySor...Advanced Apache Spark Meetup:  How Spark Beat Hadoop @ 100 TB Daytona GraySor...
Advanced Apache Spark Meetup: How Spark Beat Hadoop @ 100 TB Daytona GraySor...
 
Why Scala Is Taking Over the Big Data World
Why Scala Is Taking Over the Big Data WorldWhy Scala Is Taking Over the Big Data World
Why Scala Is Taking Over the Big Data World
 
Luigi presentation NYC Data Science
Luigi presentation NYC Data ScienceLuigi presentation NYC Data Science
Luigi presentation NYC Data Science
 
Semantic web and Drupal: an introduction
Semantic web and Drupal: an introductionSemantic web and Drupal: an introduction
Semantic web and Drupal: an introduction
 
Apache: Big Data - Starting with Apache Spark, Best Practices
Apache: Big Data - Starting with Apache Spark, Best PracticesApache: Big Data - Starting with Apache Spark, Best Practices
Apache: Big Data - Starting with Apache Spark, Best Practices
 
Scaling Self Service Analytics with Databricks and Apache Spark with Amelia C...
Scaling Self Service Analytics with Databricks and Apache Spark with Amelia C...Scaling Self Service Analytics with Databricks and Apache Spark with Amelia C...
Scaling Self Service Analytics with Databricks and Apache Spark with Amelia C...
 
Introduction to R and R Studio
Introduction to R and R StudioIntroduction to R and R Studio
Introduction to R and R Studio
 
London Spark Meetup Project Tungsten Oct 12 2015
London Spark Meetup Project Tungsten Oct 12 2015London Spark Meetup Project Tungsten Oct 12 2015
London Spark Meetup Project Tungsten Oct 12 2015
 

Similar to Querying the Web of Data with XSPARQL 1.1

Consuming linked data by machines
Consuming linked data by machinesConsuming linked data by machines
Consuming linked data by machines
Patrick Sinclair
 
Linked data and rdf
Linked  data and rdfLinked  data and rdf
Linked data and rdf
Daniel Nüst
 
Triplestore and SPARQL
Triplestore and SPARQLTriplestore and SPARQL
Triplestore and SPARQL
Lino Valdivia
 
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
 

Similar to Querying the Web of Data with XSPARQL 1.1 (20)

Sparql
SparqlSparql
Sparql
 
Querying Linked Data with SPARQL
Querying Linked Data with SPARQLQuerying Linked Data with SPARQL
Querying Linked Data with SPARQL
 
XSPARQL CrEDIBLE workshop
XSPARQL CrEDIBLE workshopXSPARQL CrEDIBLE workshop
XSPARQL CrEDIBLE workshop
 
Querying Linked Data with SPARQL (2010)
Querying Linked Data with SPARQL (2010)Querying Linked Data with SPARQL (2010)
Querying Linked Data with SPARQL (2010)
 
Consuming linked data by machines
Consuming linked data by machinesConsuming linked data by machines
Consuming linked data by machines
 
Analyze one year of radio station songs aired with Spark SQL, Spotify, and Da...
Analyze one year of radio station songs aired with Spark SQL, Spotify, and Da...Analyze one year of radio station songs aired with Spark SQL, Spotify, and Da...
Analyze one year of radio station songs aired with Spark SQL, Spotify, and Da...
 
Triplewave: a step towards RDF Stream Processing on the Web
Triplewave: a step towards RDF Stream Processing on the WebTriplewave: a step towards RDF Stream Processing on the Web
Triplewave: a step towards RDF Stream Processing on the Web
 
Linked data and rdf
Linked  data and rdfLinked  data and rdf
Linked data and rdf
 
Triplestore and SPARQL
Triplestore and SPARQLTriplestore and SPARQL
Triplestore and SPARQL
 
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
 
The Lonesome LOD Cloud
The Lonesome LOD CloudThe Lonesome LOD Cloud
The Lonesome LOD Cloud
 
GDG Meets U event - Big data & Wikidata - no lies codelab
GDG Meets U event - Big data & Wikidata -  no lies codelabGDG Meets U event - Big data & Wikidata -  no lies codelab
GDG Meets U event - Big data & Wikidata - no lies codelab
 
Querying Linked Data
Querying Linked DataQuerying Linked Data
Querying Linked Data
 
Transient and persistent RDF views over relational databases in the context o...
Transient and persistent RDF views over relational databases in the context o...Transient and persistent RDF views over relational databases in the context o...
Transient and persistent RDF views over relational databases in the context o...
 
Linked Media Management with Apache Marmotta
Linked Media Management with Apache MarmottaLinked Media Management with Apache Marmotta
Linked Media Management with Apache Marmotta
 
Intro to Linked, Dutch Ships and Sailors and SPARQL handson
Intro to Linked, Dutch Ships and Sailors and SPARQL handson Intro to Linked, Dutch Ships and Sailors and SPARQL handson
Intro to Linked, Dutch Ships and Sailors and SPARQL handson
 
A Little SPARQL in your Analytics
A Little SPARQL in your AnalyticsA Little SPARQL in your Analytics
A Little SPARQL in your Analytics
 
Intro to Apache Spark and Scala, Austin ACM SIGKDD, 7/9/2014
Intro to Apache Spark and Scala, Austin ACM SIGKDD, 7/9/2014Intro to Apache Spark and Scala, Austin ACM SIGKDD, 7/9/2014
Intro to Apache Spark and Scala, Austin ACM SIGKDD, 7/9/2014
 
Scala 20140715
Scala 20140715Scala 20140715
Scala 20140715
 
Mapping, Interlinking and Exposing MusicBrainz as Linked Data
Mapping, Interlinking and Exposing MusicBrainz as Linked DataMapping, Interlinking and Exposing MusicBrainz as Linked Data
Mapping, Interlinking and Exposing MusicBrainz as Linked Data
 

More from Daniele Dell'Aglio

On correctness in RDF stream processor benchmarking
On correctness in RDF stream processor benchmarkingOn correctness in RDF stream processor benchmarking
On correctness in RDF stream processor benchmarking
Daniele Dell'Aglio
 
P&MSP2012 - Version Control Systems
P&MSP2012 - Version Control SystemsP&MSP2012 - Version Control Systems
P&MSP2012 - Version Control Systems
Daniele Dell'Aglio
 
P&MSP2012 - Logging Frameworks
P&MSP2012 - Logging FrameworksP&MSP2012 - Logging Frameworks
P&MSP2012 - Logging Frameworks
Daniele Dell'Aglio
 

More from Daniele Dell'Aglio (20)

Distributed stream consistency checking
Distributed stream consistency checkingDistributed stream consistency checking
Distributed stream consistency checking
 
On web stream processing
On web stream processingOn web stream processing
On web stream processing
 
On a web of data streams
On a web of data streamsOn a web of data streams
On a web of data streams
 
On unifying query languages for RDF streams
On unifying query languages for RDF streamsOn unifying query languages for RDF streams
On unifying query languages for RDF streams
 
RSEP-QL: A Query Model to Capture Event Pattern Matching in RDF Stream Proces...
RSEP-QL: A Query Model to Capture Event Pattern Matching in RDF Stream Proces...RSEP-QL: A Query Model to Capture Event Pattern Matching in RDF Stream Proces...
RSEP-QL: A Query Model to Capture Event Pattern Matching in RDF Stream Proces...
 
Summary of the Stream Reasoning workshop at ISWC 2016
Summary of the Stream Reasoning workshop at ISWC 2016Summary of the Stream Reasoning workshop at ISWC 2016
Summary of the Stream Reasoning workshop at ISWC 2016
 
On Unified Stream Reasoning
On Unified Stream ReasoningOn Unified Stream Reasoning
On Unified Stream Reasoning
 
On Unified Stream Reasoning - The RDF Stream Processing realm
On Unified Stream Reasoning - The RDF Stream Processing realmOn Unified Stream Reasoning - The RDF Stream Processing realm
On Unified Stream Reasoning - The RDF Stream Processing realm
 
Augmented Participation to Live Events through Social Network Content Enrichm...
Augmented Participation to Live Events through Social Network Content Enrichm...Augmented Participation to Live Events through Social Network Content Enrichm...
Augmented Participation to Live Events through Social Network Content Enrichm...
 
An experience on empirical research about rdf stream
An experience on empirical research about rdf streamAn experience on empirical research about rdf stream
An experience on empirical research about rdf stream
 
RDF Stream Processing Models (RSP2014)
RDF Stream Processing Models (RSP2014)RDF Stream Processing Models (RSP2014)
RDF Stream Processing Models (RSP2014)
 
A Survey of Temporal Extensions of Description Logics
A Survey of Temporal Extensions of Description LogicsA Survey of Temporal Extensions of Description Logics
A Survey of Temporal Extensions of Description Logics
 
IMaRS - Incremental Materialization for RDF Streams (SR4LD2013)
IMaRS - Incremental Materialization for RDF Streams (SR4LD2013)IMaRS - Incremental Materialization for RDF Streams (SR4LD2013)
IMaRS - Incremental Materialization for RDF Streams (SR4LD2013)
 
Ontology based top-k query answering over massive, heterogeneous, and dynamic...
Ontology based top-k query answering over massive, heterogeneous, and dynamic...Ontology based top-k query answering over massive, heterogeneous, and dynamic...
Ontology based top-k query answering over massive, heterogeneous, and dynamic...
 
On correctness in RDF stream processor benchmarking
On correctness in RDF stream processor benchmarkingOn correctness in RDF stream processor benchmarking
On correctness in RDF stream processor benchmarking
 
An Ontological Formulation and an OPM profile for Causality in Planning Appli...
An Ontological Formulation and an OPM profile for Causality in Planning Appli...An Ontological Formulation and an OPM profile for Causality in Planning Appli...
An Ontological Formulation and an OPM profile for Causality in Planning Appli...
 
P&MSP2012 - Maven
P&MSP2012 - MavenP&MSP2012 - Maven
P&MSP2012 - Maven
 
P&MSP2012 - Version Control Systems
P&MSP2012 - Version Control SystemsP&MSP2012 - Version Control Systems
P&MSP2012 - Version Control Systems
 
P&MSP2012 - Unit Testing
P&MSP2012 - Unit TestingP&MSP2012 - Unit Testing
P&MSP2012 - Unit Testing
 
P&MSP2012 - Logging Frameworks
P&MSP2012 - Logging FrameworksP&MSP2012 - Logging Frameworks
P&MSP2012 - Logging Frameworks
 

Recently uploaded

Recently uploaded (20)

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Querying the Web of Data with XSPARQL 1.1

  • 1. Querying the Web of Data with XSPARQL 1.1 Daniele Dell’Aglio (DEIB, Politecnico di Milano) Axel Polleres (Vienna University of Economics and Business) Nuno Lopes (IBM Research Ireland) Stefan Bischof (SIEMENS Austria)
  • 2. / 8 What is XSPARQL? 19 October 2014 - ISWC Dev Workshop 2014 Querying the Web of Data with XSPARQL 1.1 2 XSPARQL is a transformation language to conveniently query XML and RDF side-by-side It is a syntactic extension of XQuery A SPARQL-for clause to query RDF data (by using SPARQL operators) A CONSTRUCT clause to produce RDF output    
  • 3. / 8 What is XSPARQL? 19 October 2014 - ISWC Dev Workshop 2014 Querying the Web of Data with XSPARQL 1.1 2 XSPARQL is a transformation language to conveniently query XML and RDF side-by-side It is a syntactic extension of XQuery A SPARQL-for clause to query RDF data (by using SPARQL operators) A CONSTRUCT clause to produce RDF output Several improvements during the years Support for querying RDBMS data sources Support for R2RML Query optimisations
  • 4. / 8 Where to go to learn headbanging? We want to retrieve the list of upcoming concerts of music artists having Nuclear Blast as music label       Pictures from Wikipedia 19 October 2014 - ISWC Dev Workshop 2014 Querying the Web of Data with XSPARQL 1.1 3
  • 5. / 8 Where to go to learn headbanging? We want to retrieve the list of upcoming concerts of music artists having Nuclear Blast as music label We can get The list of the artists from DBPedia     Pictures from Wikipedia 19 October 2014 - ISWC Dev Workshop 2014 Querying the Web of Data with XSPARQL 1.1 3
  • 6. / 8 Where to go to learn headbanging? We want to retrieve the list of upcoming concerts of music artists having Nuclear Blast as music label We can get The list of the artists from DBPedia The concerts on Last.fm    Pictures from Wikipedia 19 October 2014 - ISWC Dev Workshop 2014 Querying the Web of Data with XSPARQL 1.1 3
  • 7. / 8 Where to go to learn headbanging? We want to retrieve the list of upcoming concerts of music artists having Nuclear Blast as music label We can get The list of the artists from DBPedia The concerts on Last.fm And put data… together? Different data sources Different formats (JSON, RDF) Pictures from Wikipedia 19 October 2014 - ISWC Dev Workshop 2014 Querying the Web of Data with XSPARQL 1.1 3
  • 8. / 8 Where to go to learn headbanging? We want to retrieve the list of upcoming concerts of music artists having Nuclear Blast as music label We can get The list of the artists from DBPedia The concerts on Last.fm And put data… together? Different data sources Different formats (JSON, RDF) Pictures from Wikipedia 19 October 2014 - ISWC Dev Workshop 2014 Querying the Web of Data with XSPARQL 1.1 3
  • 9. / 8 How can XSPARQL 1.1 help us? 1. prefix lastfm: <http://xsparql.deri.org/lastfm#> 2. prefix dbprop: http://dbpedia.org/property/ 3. prefix dbpedia: <http://dbpedia.org/resource/> 4. for * 5. where { 6. service <http://dbpedia.org/sparql> { 7. $artist a dbowl:Band ; 8. dbprop:label dbpedia:Nuclear_Blast ; 9. dbprop:name $artistName . 10. } 11. } 12. return 13. let $doc := fn:concat("http://ws.../artist=",$artistName) 14. for $event in xsparql:json-doc($doc)//events/event/* 15. construct { 16. [] a lastfm:Event ; 17. lastfm:artist {$artistName} ; 18. lastfm:venue {$event/venue/location/city} ; 19. last:date {$event/startDate} 20. } 19 October 2014 - ISWC Dev Workshop 2014 Querying the Web of Data with XSPARQL 1.1 4
  • 10. / 8 How can XSPARQL 1.1 help us? 1. prefix lastfm: <http://xsparql.deri.org/lastfm#> 2. prefix dbprop: http://dbpedia.org/property/ 3. prefix dbpedia: <http://dbpedia.org/resource/> 4. for * 5. where { 6. service <http://dbpedia.org/sparql> { 7. $artist a dbowl:Band ; 8. dbprop:label dbpedia:Nuclear_Blast ; 9. dbprop:name $artistName . 10. } 11. } 12. return 13. let $doc := fn:concat("http://ws.../artist=",$artistName) 14. for $event in xsparql:json-doc($doc)//events/event/* 15. construct { 16. [] a lastfm:Event ; 17. lastfm:artist {$artistName} ; 18. lastfm:venue {$event/venue/location/city} ; 19. last:date {$event/startDate} 20. } Support of SPARQL 1.1 operators: Assignment/Project Expressions Aggregate functions: SUM, AVG,... Federation Negation Property paths Subqueries 19 October 2014 - ISWC Dev Workshop 2014 Querying the Web of Data with XSPARQL 1.1 4
  • 11. / 8 How can XSPARQL 1.1 help us? 1. prefix lastfm: <http://xsparql.deri.org/lastfm#> 2. prefix dbprop: http://dbpedia.org/property/ 3. prefix dbpedia: <http://dbpedia.org/resource/> 4. for * 5. where { 6. service <http://dbpedia.org/sparql> { 7. $artist a dbowl:Band ; 8. dbprop:label dbpedia:Nuclear_Blast ; 9. dbprop:name $artistName . 10. } 11. } 12. return 13. let $doc := fn:concat("http://ws.../artist=",$artistName) 14. for $event in xsparql:json-doc($doc)//events/event/* 15. construct { 16. [] a lastfm:Event ; 17. lastfm:artist {$artistName} ; 18. lastfm:venue {$event/venue/location/city} ; 19. last:date {$event/startDate} 20. } Support of SPARQL 1.1 operators: Assignment/Project Expressions Aggregate functions: SUM, AVG,... Federation Negation Property paths Subqueries Processing of JSON files 19 October 2014 - ISWC Dev Workshop 2014 Querying the Web of Data with XSPARQL 1.1 4
  • 12. / 8 How does it work? xsparql evaluator xsparql rewriter XSPARQL query data xsparql-cli JAR Library 19 October 2014 - ISWC Dev Workshop 2014 Querying the Web of Data with XSPARQL 1.1 5
  • 13. / 8 How does it work? XQuery query xsparql evaluator xsparql rewriter lexer/parser rewriter optimizer XSPARQL query data xsparql-cli JAR Library 19 October 2014 - ISWC Dev Workshop 2014 Querying the Web of Data with XSPARQL 1.1 5
  • 14. / 8 How does it work? XQuery query XQuery engine SPARQL engine xsparql evaluator xsparql rewriter lexer/parser rewriter optimizer XSPARQL query answer (XML|RDF) data xsparql-cli JAR Library 19 October 2014 - ISWC Dev Workshop 2014 Querying the Web of Data with XSPARQL 1.1 5
  • 15. / 8 How does it work? XQuery query XQuery engine SPARQL engine xsparql evaluator xsparql rewriter lexer/parser rewriter optimizer XSPARQL query answer (XML|RDF) data xsparql-cli JAR Library 19 October 2014 - ISWC Dev Workshop 2014 Querying the Web of Data with XSPARQL 1.1 5
  • 16. / 8 How does it work? … XSPARQLEvaluator evalutor = new XSPARQLEvaluator(); Reader query = ...; Writer out = ...; evalutor.evaluate(query, out); … XQuery query XQuery engine SPARQL engine xsparql evaluator xsparql rewriter lexer/parser rewriter optimizer XSPARQL query answer (XML|RDF) data xsparql-cli JAR Library 19 October 2014 - ISWC Dev Workshop 2014 Querying the Web of Data with XSPARQL 1.1 5
  • 17. / 8 Whats next? 19 October 2014 - ISWC Dev Workshop 2014 Querying the Web of Data with XSPARQL 1.1 6 Use of different SPARQL engines openRDF and Strabon Support to JSON-LD No full control flow XQUERY/XSPARQL don’t allow you to specify politeness (e.g. crawl delays between doc(.) calls)
  • 18. / 8 Thank you! Querying the Web of Data with XSPARQL 1.1 http://xsparql.deri.org http://sourceforge.net/projects/xsparql Daniele Dell’Aglio, Axel Polleres, Nuno Lopes and Stefan Bischof daniele.dellaglio@polimi.it (Thank you, SWSA and Google, for my Student Travel grant!) 19 October 2014 - ISWC Dev Workshop 2014 Querying the Web of Data with XSPARQL 1.1 7
  • 19. / 8 The last slide :) 19 October 2014 - ISWC Dev Workshop 2014 Querying the Web of Data with XSPARQL 1.1 XQuery query XQuery engine SPARQL engine xsparql evaluator xsparql rewriter lexer/parser rewriter optimizer XSPARQL query answer (XML|RDF) data xsparql-cli JAR Library Pictures from Wikipedia 8