SlideShare a Scribd company logo
1 of 52
Download to read offline
Linked Data Query Processing
Tutorial at the 22nd International World Wide Web Conference (WWW 2013)
May 14, 2013
http://db.uwaterloo.ca/LDQTut2013/
4. Execution Process
Olaf Hartig
University of Waterloo
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 2
Outline
 Separated Execution
 Integrated Execution
➢ General Idea and Properties
➢ Push-Based Implementation [LT10, LT11]
➢ Link Traversal Based Query Execution
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 3
… clearly separate
data retrieval
and
result construction
into two
consecutive phases
Separated Execution Approaches
Query-local data
http://mdb.../Paul http://geo.../Berlin
http://mdb.../Ric http://geo.../Rome
?loc?actor
GET http://.../movie2449
1
2
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 4
Properties of Separated Execution
Query-local data
http://mdb.../Paul http://geo.../Berlin
http://mdb.../Ric http://geo.../Rome
?loc?actor
GET http://.../movie2449
1
2
● Advantage: straightforward to implement
● Can be combined with any
source selection strategy
● A traditional query execution
plan might then be used for
constructing the result
● Downside: First solutions cannot
be reported before data retrieval
has been completed
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 5
Query-local data
http://mdb.../Paul http://geo.../Berlin
http://mdb.../Ric http://geo.../Rome
?loc?actor
GET http://.../movie2449
Integrated Execution Approaches
… intertwine
data retrieval and
result construction
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 6
Query-local data
http://mdb.../Paul http://geo.../Berlin
http://mdb.../Ric http://geo.../Rome
?loc?actor
GET http://.../movie2449
Integrated Execution Approaches
● Implementations may report
first solutions early
● For monotonic queries
● Implementations may process
data in a streaming manner
● May require less query-local
memory (b/c query-local dataset
need not be materialized)
● Can also be combined with any
source selection strategy
… intertwine
data retrieval and
result construction
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 7
Outline
 Separated Execution
 Integrated Execution
➢ General Idea and Properties
➢ Push-Based Implementation [LT10, LT11]
➢ Link Traversal Based Query Execution
√
√
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 8
Push-Based Implementation
TP Operator TP Operator
TP Operator
Join
Operator
Join
Operator
● Each operator runs as an
asynchronous thread
● Connected via
message queues
Data Retrieval
Operator
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 9
Push-Based Implementation
TP Operator TP Operator
TP Operator
Join
Operator
Join
Operator
● Each operator runs as an
asynchronous thread
● Connected via
message queues
● Data retrieval operator
● May apply any possible
source selection strategy
● Usually, implemented via
multiple lookup threads
● Pushes any incoming
matching triple to the
corresponding triple
pattern operator
Data Retrieval
Operator
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 10
Push-Based Implementation (Example)
TP Operator
( ?p, interested in, ?i )
TP Operator
( ?p, affiliated with, orgax )
TP Operator
( ?i, rdf:type, Book )
Join
Operator
Join
Operator
Data Retrieval
Operator
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 11
Push-Based Implementation (Example)
TP Operator
( ?p, interested in, ?i )
TP Operator
( ?p, affiliated with, orgax )
TP Operator
( ?i, rdf:type, Book )
Join
Operator
Join
Operator
Data Retrieval
Operator
{ ?p → alice }
( alice, affiliated with, orgax )
( alice, affiliated with, orgax )
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 12
Push-Based Implementation (Example)
TP Operator
( ?p, interested in, ?i )
TP Operator
( ?p, affiliated with, orgax )
TP Operator
( ?i, rdf:type, Book )
Join
Operator
Join
Operator
Data Retrieval
Operator
{ ?p → alice }
( alice, interested in, yoga )
{ ?p → alice, ?i → yoga }
( alice, interested in, yoga )
{ ?p → alice, ?i → yoga }
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 13
Symmetric Hash Join (SHJ)
SHJ Operator
# Bucket
1 {?p → alice,?i → yoga}
2
3 {?p → bob,?i → tea}, {?p → bob,?i → chess}
# Bucket
1 {?p → alice,?o → orgax}
2 {?p → eve,?o → orgax}
3
● Maintains a hash table for each input
● Same hash function for both tables
● Each bucket contains a set of input solutions
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 14
How SHJ Processes Incoming Solution
SHJ Operator
# Bucket
1 {?p → alice,?i → yoga}
2
3 {?p → bob,?i → tea}, {?p → bob,?i → chess}
# Bucket
1 {?p → alice,?o → orgax}
2 {?p → eve,?o → orgax}
3
● Hash the value that μinput binds to the join variable
μinput = {?p → bob,?o → acme}
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 15
How SHJ Processes Incoming Solution
SHJ Operator
# Bucket
1 {?p → alice,?i → yoga}
2
3 {?p → bob,?i → tea}, {?p → bob,?i → chess}
# Bucket
1 {?p → alice,?o → orgax}
2 {?p → eve,?o → orgax}
3
● Hash the value that μinput binds to the join variable
● Insert μinput into the corresponding input hash table
hfct(bob) = 3μinput = {?p → bob,?o → acme}
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 16
How SHJ Processes Incoming Solution
SHJ Operator
# Bucket
1 {?p → alice,?i → yoga}
2
3 {?p → bob,?i → tea}, {?p → bob,?i → chess}
# Bucket
1 {?p → alice,?o → orgax}
2 {?p → eve,?o → orgax}
3 {?p → bob,?o → acme}
● Hash the value that μinput binds to the join variable
● Insert μinput into the corresponding input hash table
● Probe into the other hash table to find join candidates
● Merge μinput with each join candidate, push results to output
{?p → bob,?o → acme,?i → tea}
hfct(bob) = 3
{?p → bob,?o → acme,?i → chess}
μinput = {?p → bob,?o → acme}
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 17
Outline
 Separated Execution
 Integrated Execution
➢ General Idea and Properties
➢ Push-Based Implementation [LT10, LT11]
➢ Link Traversal Based Query Execution
√
√
√
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 18
Link Traversal Based Query Execution
… is the combination of
integrated execution and
live exploration
(i.e., the push-based approach can be
used as an implementation of LTBQE)
An even closer combination presents the
following pull-based implementation approach ...
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 19
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
Seed: <http://.../orgaX>
Pipeline of Link Traversing Iterators
I3
I2
I1
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 20
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
tp2
= ( ?p , ex:interested_in , ?b ) I2
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
Seed: <http://.../orgaX>
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 21
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
Seed: <http://.../orgaX>
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
tp2
= ( ?p , ex:interested_in , ?b ) I2
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
query-local
dataset
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 22
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
Seed: <http://.../orgaX>
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
tp2
= ( ?p , ex:interested_in , ?b ) I2
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
query-local
dataset
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 23
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
Seed: <http://.../orgaX>
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
tp2
= ( ?p , ex:interested_in , ?b ) I2
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
query-local
dataset
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 24
query-local
dataset
Next?
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
tp2
= ( ?p , ex:interested_in , ?b ) I2
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 25
query-local
dataset
Next?
Next?
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
tp2
= ( ?p , ex:interested_in , ?b ) I2
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 26
query-local
dataset
Next?
Next?
Next?
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
tp2
= ( ?p , ex:interested_in , ?b ) I2
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 27
Next?
Next?
Next?
tp2
= ( ?p , ex:interested_in , ?b ) I2
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
:
<http://.../alice> ex:affiliated_with <http://.../orgaX>
:
query-local
dataset
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 28
Next?
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
:
<http://.../alice> ex:affiliated_with <http://.../orgaX>
:
query-local
dataset
{ ?p = <http://.../alice> }
Next?
tp2
= ( ?p , ex:interested_in , ?b ) I2
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 29
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
query-local
dataset
{ ?p = <http://.../alice> }
Next?
Next?
tp2
= ( ?p , ex:interested_in , ?b ) I2
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 30
Next?
Next?
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
tp2
= ( ?p , ex:interested_in , ?b )
tp2
' = ( <http://.../alice> , ex:interested_in , ?b )
I2
query-local
dataset
{ ?p = <http://.../alice> }
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 31
Next?
Next?
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
tp2
= ( ?p , ex:interested_in , ?b )
tp2
' = ( <http://.../alice> , ex:interested_in , ?b )
I2
query-local
dataset
{ ?p = <http://.../alice> }
:
<http://.../alice> ex:interested_in <http://.../b1>
:
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 32
Next?
Next?
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
tp2
= ( ?p , ex:interested_in , ?b )
tp2
' = ( <http://.../alice> , ex:interested_in , ?b )
I2
{ ?p = <http://.../alice> }
:
<http://.../alice> ex:interested_in <http://.../b1>
:
query-local
dataset
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 33
Next?
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
tp2
= ( ?p , ex:interested_in , ?b )
tp2
' = ( <http://.../alice> , ex:interested_in , ?b )
I2
{ ?p = <http://.../alice> }
:
<http://.../alice> ex:interested_in <http://.../b1>
:
query-local
dataset
{ ?p = <http://.../alice> , ?b = <http://.../b1> }
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 34
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
Next?
{ ?p = <http://.../alice> }
query-local
dataset
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
tp2
= ( ?p , ex:interested_in , ?b )
tp2
' = ( <http://.../alice> , ex:interested_in , ?b )
I2
{ ?p = <http://.../alice> , ?b = <http://.../b1> }
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 35
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
Next?
{ ?p = <http://.../alice> }
query-local
dataset
tp3
= ( ?b , rdf:type , <http://.../Book> )
tp3
' = ( <http://.../b1> , rdf:type , <http://.../Book> )
I3
tp2
= ( ?p , ex:interested_in , ?b )
tp2
' = ( <http://.../alice> , ex:interested_in , ?b )
I2
{ ?p = <http://.../alice> , ?b = <http://.../b1> }
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 36
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
Next?
{ ?p = <http://.../alice> }
tp3
= ( ?b , rdf:type , <http://.../Book> )
tp3
' = ( <http://.../b1> , rdf:type , <http://.../Book> )
I3
tp2
= ( ?p , ex:interested_in , ?b )
tp2
' = ( <http://.../alice> , ex:interested_in , ?b )
I2
{ ?p = <http://.../alice> , ?b = <http://.../b1> }
query-local
dataset
:
<http://.../Book> rdfs:subClassOf <http://.../CreativeWork>
:
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 37
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
Next?
{ ?p = <http://.../alice> }
tp3
= ( ?b , rdf:type , <http://.../Book> )
tp3
' = ( <http://.../b1> , rdf:type , <http://.../Book> )
I3
tp2
= ( ?p , ex:interested_in , ?b )
tp2
' = ( <http://.../alice> , ex:interested_in , ?b )
I2
{ ?p = <http://.../alice> , ?b = <http://.../b1> }
query-local
dataset
:
<http://.../b1> rdf:type <http://.../Book>
:
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 38
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
Next?
{ ?p = <http://.../alice> }
tp3
= ( ?b , rdf:type , <http://.../Book> )
tp3
' = ( <http://.../b1> , rdf:type , <http://.../Book> )
I3
tp2
= ( ?p , ex:interested_in , ?b )
tp2
' = ( <http://.../alice> , ex:interested_in , ?b )
I2
{ ?p = <http://.../alice> , ?b = <http://.../b1> }
:
<http://.../b1> rdf:type <http://.../Book>
:
query-local
dataset
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 39
{ ?p = <http://.../alice> , ?b = <http://.../b1> }
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
{ ?p = <http://.../alice> }
tp3
= ( ?b , rdf:type , <http://.../Book> )
tp3
' = ( <http://.../b1> , rdf:type , <http://.../Book> )
I3
tp2
= ( ?p , ex:interested_in , ?b )
tp2
' = ( <http://.../alice> , ex:interested_in , ?b )
I2
{ ?p = <http://.../alice> , ?b = <http://.../b1> }
query-local
dataset
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 40
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
tp3
= ( ?b , rdf:type , <http://.../Book> )
tp3
' = ( <http://.../b1> , rdf:type , <http://.../Book> )
I3
tp2
= ( ?p , ex:interested_in , ?b )
tp2
' = ( <http://.../alice> , ex:interested_in , ?b )
I2
Pipeline of Link Traversing Iterators
{ ?p = <http://.../alice> }
{ ?p = <http://.../alice> , ?b = <http://.../b1> }
Next?
query-local
dataset
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 41
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
tp2
= ( ?p , ex:interested_in , ?b )
tp2
' = ( <http://.../alice> , ex:interested_in , ?b )
I2
Pipeline of Link Traversing Iterators
{ ?p = <http://.../alice> }
Next?
Next?
query-local
dataset
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 42
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
tp2
= ( ?p , ex:interested_in , ?b )
tp2
' = ( <http://.../alice> , ex:interested_in , ?b )
I2
Pipeline of Link Traversing Iterators
{ ?p = <http://.../alice> }
Next?
Next?
query-local
dataset
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 43
● Deeply intertwines integrated execution + live exploration
● Data retrieval is a side-effect of calling link traversing iterators
● No need for a separate data retrieval operator
● Makes adding LTBQE to existing SPARQL engines easy
● Because those usually use iterators for execution
● Caveat: does not achieve the full flexibility
that is possible with LTBQE
● Iterators evaluate the triple patterns in a fixed order
● Iterators discard each input solution after using it
Pipeline of Link Traversing Iterators
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 44
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
Seed: <http://.../orgaX>
tp2
= ( ?p , ex:interested_in , ?b ) I2
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX>) I1
Alternative Execution Order
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 45
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
Seed: <http://.../orgaX>
tp2
= ( ?p , ex:interested_in , ?b ) I2
Alternative Execution Order
tp3
= ( ?p , ex:affiliated_with , <http://.../orgaX>) I3
tp1
= ( ?b , rdf:type , <http://.../Book> ) I1
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 46
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
Seed: <http://.../orgaX>
tp2
= ( ?p , ex:interested_in , ?b ) I2
query-local
dataset
Iterator Based Execution
tp1
= ( ?b , rdf:type , <http://.../Book> ) I1
tp3
= ( ?p , ex:affiliated_with , <http://.../orgaX>) I3
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 47
tp3
= ( ?p , ex:affiliated_with , <http://.../orgaX>) I3
tp2
= ( ?p , ex:interested_in , ?b ) I2
tp1
= ( ?b , rdf:type , <http://.../Book> ) I1
:
<http://.../alice> ex:affiliated_with <http://.../orgaX>
:
query-local
dataset
Alternative Execution Order
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 48
Next?:
<http://.../alice> ex:affiliated_with <http://.../orgaX>
:
query-local
dataset
Next?
tp1
= ( ?b , rdf:type , <http://.../Book> ) I1
Alternative Execution Order
Next?
tp2
= ( ?p , ex:interested_in , ?b ) I2
tp3
= ( ?p , ex:affiliated_with , <http://.../orgaX>) I3
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 49
Next?:
<http://.../alice> ex:affiliated_with <http://.../orgaX>
:
query-local
dataset
Next?
tp1
= ( ?b , rdf:type , <http://.../Book> ) I1
Alternative Execution Order
END!
tp2
= ( ?p , ex:interested_in , ?b ) I2
tp3
= ( ?p , ex:affiliated_with , <http://.../orgaX>) I3
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 50
query-local
dataset
tp1
= ( ?b , rdf:type , <http://.../Book> ) I1
tp2
= ( ?p , ex:interested_in , ?b ) I2
tp3
= ( ?p , ex:affiliated_with , <http://.../orgaX>) I3
END!
END!
END!
Computed query
result may depend
on the order of triple patterns
= logical query execution plan
Alternative Execution Order
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 51
Outline
 Separated Execution
 Integrated Execution
➢ General Idea and Properties
➢ Push-Based Implementation [LT10, LT11]
➢ Link Traversal Based Query Execution
√
√
√
√
Next part: 5. Query Planning and Optimization ...
WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 52
These slides have been created by
Olaf Hartig
for the
WWW 2013 tutorial on
Link Data Query Processing
Tutorial Website: http://db.uwaterloo.ca/LDQTut2013/
This work is licensed under a
Creative Commons Attribution-Share Alike 3.0 License
(http://creativecommons.org/licenses/by-sa/3.0/)

More Related Content

What's hot

IEEE IRI 16 - Clustering Web Pages based on Structure and Style Similarity
IEEE IRI 16 - Clustering Web Pages based on Structure and Style SimilarityIEEE IRI 16 - Clustering Web Pages based on Structure and Style Similarity
IEEE IRI 16 - Clustering Web Pages based on Structure and Style SimilarityThamme Gowda
 
Joins in a distributed world - Lucian Precup
Joins in a distributed world - Lucian Precup Joins in a distributed world - Lucian Precup
Joins in a distributed world - Lucian Precup distributed matters
 
“Open Data Web” – A Linked Open Data Repository Built with CKAN
“Open Data Web” – A Linked Open Data Repository Built with CKAN“Open Data Web” – A Linked Open Data Repository Built with CKAN
“Open Data Web” – A Linked Open Data Repository Built with CKANChengjen Lee
 
The FLuID Meta Model: Incrementally Compute Schema-level Indices for the Web...
The FLuID Meta Model: Incrementally Compute  Schema-level Indices for the Web...The FLuID Meta Model: Incrementally Compute  Schema-level Indices for the Web...
The FLuID Meta Model: Incrementally Compute Schema-level Indices for the Web...Till Blume
 
Are Linked Datasets fit for Open-domain Question Answering? A Quality Assessment
Are Linked Datasets fit for Open-domain Question Answering? A Quality AssessmentAre Linked Datasets fit for Open-domain Question Answering? A Quality Assessment
Are Linked Datasets fit for Open-domain Question Answering? A Quality AssessmentHarsh Thakkar
 
Detection of Related Semantic Datasets Based on Frequent Subgraph Mining
Detection of Related Semantic Datasets Based on Frequent Subgraph MiningDetection of Related Semantic Datasets Based on Frequent Subgraph Mining
Detection of Related Semantic Datasets Based on Frequent Subgraph MiningMikel Emaldi Manrique
 
2015 TaPP - Interoperability for Provenance-aware Databases using PROV and JSON
2015 TaPP - Interoperability for Provenance-aware Databases using PROV and JSON2015 TaPP - Interoperability for Provenance-aware Databases using PROV and JSON
2015 TaPP - Interoperability for Provenance-aware Databases using PROV and JSONBoris Glavic
 
eNanoMapper database, search tools and templates
eNanoMapper database, search tools and templateseNanoMapper database, search tools and templates
eNanoMapper database, search tools and templatesNina Jeliazkova
 
SF Python Meetup: TextRank in Python
SF Python Meetup: TextRank in PythonSF Python Meetup: TextRank in Python
SF Python Meetup: TextRank in PythonPaco Nathan
 
RDF-Gen: Generating RDF from streaming and archival data
RDF-Gen: Generating RDF from streaming and archival dataRDF-Gen: Generating RDF from streaming and archival data
RDF-Gen: Generating RDF from streaming and archival dataGiorgos Santipantakis
 
Achieving time effective federated information from scalable rdf data using s...
Achieving time effective federated information from scalable rdf data using s...Achieving time effective federated information from scalable rdf data using s...
Achieving time effective federated information from scalable rdf data using s...తేజ దండిభట్ల
 
Interactive exploration of complex relational data sets in a web - SemWeb.Pro...
Interactive exploration of complex relational data sets in a web - SemWeb.Pro...Interactive exploration of complex relational data sets in a web - SemWeb.Pro...
Interactive exploration of complex relational data sets in a web - SemWeb.Pro...Logilab
 
Elasticsearch - basics and beyond
Elasticsearch - basics and beyondElasticsearch - basics and beyond
Elasticsearch - basics and beyondErnesto Reig
 
Optimized index structures for querying rdf from the web
Optimized index structures for querying rdf from the webOptimized index structures for querying rdf from the web
Optimized index structures for querying rdf from the webMahdi Atawneh
 
Instance Matching
Instance Matching Instance Matching
Instance Matching Robert Isele
 
Automatic creation of mappings between classification systems
Automatic creation of mappings between classification systemsAutomatic creation of mappings between classification systems
Automatic creation of mappings between classification systemsMagnus Pfeffer
 
Automatic creation of mappings between classification systems for bibliograph...
Automatic creation of mappings between classification systems for bibliograph...Automatic creation of mappings between classification systems for bibliograph...
Automatic creation of mappings between classification systems for bibliograph...Magnus Pfeffer
 
Relational to Graph - Import
Relational to Graph - ImportRelational to Graph - Import
Relational to Graph - ImportNeo4j
 

What's hot (20)

IEEE IRI 16 - Clustering Web Pages based on Structure and Style Similarity
IEEE IRI 16 - Clustering Web Pages based on Structure and Style SimilarityIEEE IRI 16 - Clustering Web Pages based on Structure and Style Similarity
IEEE IRI 16 - Clustering Web Pages based on Structure and Style Similarity
 
Joins in a distributed world - Lucian Precup
Joins in a distributed world - Lucian Precup Joins in a distributed world - Lucian Precup
Joins in a distributed world - Lucian Precup
 
“Open Data Web” – A Linked Open Data Repository Built with CKAN
“Open Data Web” – A Linked Open Data Repository Built with CKAN“Open Data Web” – A Linked Open Data Repository Built with CKAN
“Open Data Web” – A Linked Open Data Repository Built with CKAN
 
The FLuID Meta Model: Incrementally Compute Schema-level Indices for the Web...
The FLuID Meta Model: Incrementally Compute  Schema-level Indices for the Web...The FLuID Meta Model: Incrementally Compute  Schema-level Indices for the Web...
The FLuID Meta Model: Incrementally Compute Schema-level Indices for the Web...
 
Are Linked Datasets fit for Open-domain Question Answering? A Quality Assessment
Are Linked Datasets fit for Open-domain Question Answering? A Quality AssessmentAre Linked Datasets fit for Open-domain Question Answering? A Quality Assessment
Are Linked Datasets fit for Open-domain Question Answering? A Quality Assessment
 
Detection of Related Semantic Datasets Based on Frequent Subgraph Mining
Detection of Related Semantic Datasets Based on Frequent Subgraph MiningDetection of Related Semantic Datasets Based on Frequent Subgraph Mining
Detection of Related Semantic Datasets Based on Frequent Subgraph Mining
 
2015 TaPP - Interoperability for Provenance-aware Databases using PROV and JSON
2015 TaPP - Interoperability for Provenance-aware Databases using PROV and JSON2015 TaPP - Interoperability for Provenance-aware Databases using PROV and JSON
2015 TaPP - Interoperability for Provenance-aware Databases using PROV and JSON
 
eNanoMapper database, search tools and templates
eNanoMapper database, search tools and templateseNanoMapper database, search tools and templates
eNanoMapper database, search tools and templates
 
SF Python Meetup: TextRank in Python
SF Python Meetup: TextRank in PythonSF Python Meetup: TextRank in Python
SF Python Meetup: TextRank in Python
 
RDF-Gen: Generating RDF from streaming and archival data
RDF-Gen: Generating RDF from streaming and archival dataRDF-Gen: Generating RDF from streaming and archival data
RDF-Gen: Generating RDF from streaming and archival data
 
Achieving time effective federated information from scalable rdf data using s...
Achieving time effective federated information from scalable rdf data using s...Achieving time effective federated information from scalable rdf data using s...
Achieving time effective federated information from scalable rdf data using s...
 
Interactive exploration of complex relational data sets in a web - SemWeb.Pro...
Interactive exploration of complex relational data sets in a web - SemWeb.Pro...Interactive exploration of complex relational data sets in a web - SemWeb.Pro...
Interactive exploration of complex relational data sets in a web - SemWeb.Pro...
 
Oshs_9_11_2015
Oshs_9_11_2015Oshs_9_11_2015
Oshs_9_11_2015
 
Graph databases
Graph databasesGraph databases
Graph databases
 
Elasticsearch - basics and beyond
Elasticsearch - basics and beyondElasticsearch - basics and beyond
Elasticsearch - basics and beyond
 
Optimized index structures for querying rdf from the web
Optimized index structures for querying rdf from the webOptimized index structures for querying rdf from the web
Optimized index structures for querying rdf from the web
 
Instance Matching
Instance Matching Instance Matching
Instance Matching
 
Automatic creation of mappings between classification systems
Automatic creation of mappings between classification systemsAutomatic creation of mappings between classification systems
Automatic creation of mappings between classification systems
 
Automatic creation of mappings between classification systems for bibliograph...
Automatic creation of mappings between classification systems for bibliograph...Automatic creation of mappings between classification systems for bibliograph...
Automatic creation of mappings between classification systems for bibliograph...
 
Relational to Graph - Import
Relational to Graph - ImportRelational to Graph - Import
Relational to Graph - Import
 

Viewers also liked

Tools for capacity planning, measurement of capacity, capacity planning process
Tools for capacity planning, measurement of capacity, capacity planning processTools for capacity planning, measurement of capacity, capacity planning process
Tools for capacity planning, measurement of capacity, capacity planning processRohan Monis
 
Getting Things Done met David Allen - Masterclass met ScaleUp Company 22 apri...
Getting Things Done met David Allen - Masterclass met ScaleUp Company 22 apri...Getting Things Done met David Allen - Masterclass met ScaleUp Company 22 apri...
Getting Things Done met David Allen - Masterclass met ScaleUp Company 22 apri...Erno Hannink
 
Nationale Groeimasterclass 2015 een terugblik #ngmc2015 #ngm15
Nationale Groeimasterclass 2015 een terugblik #ngmc2015 #ngm15Nationale Groeimasterclass 2015 een terugblik #ngmc2015 #ngm15
Nationale Groeimasterclass 2015 een terugblik #ngmc2015 #ngm15Erno Hannink
 
The Focused Creator: Learn the art of follow through and achieve your goals
The Focused Creator: Learn the art of follow through and achieve your goalsThe Focused Creator: Learn the art of follow through and achieve your goals
The Focused Creator: Learn the art of follow through and achieve your goalsJake Jorgovan
 
Direct Marketing 101 Workshop 5
Direct Marketing 101   Workshop 5Direct Marketing 101   Workshop 5
Direct Marketing 101 Workshop 5patmcgraw
 
Strategic plan on a page
Strategic plan on a pageStrategic plan on a page
Strategic plan on a pageNeighborSpace
 
Direct Marketing 101 Workshop 1
Direct Marketing 101   Workshop 1Direct Marketing 101   Workshop 1
Direct Marketing 101 Workshop 1patmcgraw
 
Understanding People: Personality Traits and DISC Model
Understanding People: Personality Traits and DISC ModelUnderstanding People: Personality Traits and DISC Model
Understanding People: Personality Traits and DISC ModelMohammad Tawfik
 
12 Habits of Effective Lean Leadership
12 Habits of Effective Lean Leadership12 Habits of Effective Lean Leadership
12 Habits of Effective Lean LeadershipEm Campbell-Pretty
 
Disc Intro for teambuild
Disc Intro for teambuildDisc Intro for teambuild
Disc Intro for teambuildBrent Green
 
Ceo 4 dx of execution
Ceo 4 dx of executionCeo 4 dx of execution
Ceo 4 dx of executionAIESEC
 
DiSC in a Nutshell - Quick View
DiSC in a Nutshell - Quick ViewDiSC in a Nutshell - Quick View
DiSC in a Nutshell - Quick Viewiamcollinlam
 
Network Marketing Explained
Network Marketing ExplainedNetwork Marketing Explained
Network Marketing Explainedtraderbiju
 
Meeting Management
Meeting ManagementMeeting Management
Meeting Managementbucpunar
 
Health & Well-being: Science, Medical Education And Public Health
Health & Well-being: Science, Medical Education And Public HealthHealth & Well-being: Science, Medical Education And Public Health
Health & Well-being: Science, Medical Education And Public HealthThe Rockefeller Foundation
 
Leading effective meetings slides
Leading effective meetings slidesLeading effective meetings slides
Leading effective meetings slidesLaura Staley
 
7 Steps Project Execution Process
7 Steps Project Execution Process7 Steps Project Execution Process
7 Steps Project Execution ProcessC K Vishwakarma
 

Viewers also liked (20)

Capacity planning
Capacity planningCapacity planning
Capacity planning
 
Tools for capacity planning, measurement of capacity, capacity planning process
Tools for capacity planning, measurement of capacity, capacity planning processTools for capacity planning, measurement of capacity, capacity planning process
Tools for capacity planning, measurement of capacity, capacity planning process
 
Getting Things Done met David Allen - Masterclass met ScaleUp Company 22 apri...
Getting Things Done met David Allen - Masterclass met ScaleUp Company 22 apri...Getting Things Done met David Allen - Masterclass met ScaleUp Company 22 apri...
Getting Things Done met David Allen - Masterclass met ScaleUp Company 22 apri...
 
Telework: The Who, What, When, Where & Why
Telework: The Who, What, When, Where & WhyTelework: The Who, What, When, Where & Why
Telework: The Who, What, When, Where & Why
 
Nationale Groeimasterclass 2015 een terugblik #ngmc2015 #ngm15
Nationale Groeimasterclass 2015 een terugblik #ngmc2015 #ngm15Nationale Groeimasterclass 2015 een terugblik #ngmc2015 #ngm15
Nationale Groeimasterclass 2015 een terugblik #ngmc2015 #ngm15
 
The Focused Creator: Learn the art of follow through and achieve your goals
The Focused Creator: Learn the art of follow through and achieve your goalsThe Focused Creator: Learn the art of follow through and achieve your goals
The Focused Creator: Learn the art of follow through and achieve your goals
 
Direct Marketing 101 Workshop 5
Direct Marketing 101   Workshop 5Direct Marketing 101   Workshop 5
Direct Marketing 101 Workshop 5
 
Strategic plan on a page
Strategic plan on a pageStrategic plan on a page
Strategic plan on a page
 
Direct Marketing 101 Workshop 1
Direct Marketing 101   Workshop 1Direct Marketing 101   Workshop 1
Direct Marketing 101 Workshop 1
 
Understanding People: Personality Traits and DISC Model
Understanding People: Personality Traits and DISC ModelUnderstanding People: Personality Traits and DISC Model
Understanding People: Personality Traits and DISC Model
 
12 Habits of Effective Lean Leadership
12 Habits of Effective Lean Leadership12 Habits of Effective Lean Leadership
12 Habits of Effective Lean Leadership
 
Disc Intro for teambuild
Disc Intro for teambuildDisc Intro for teambuild
Disc Intro for teambuild
 
Ceo 4 dx of execution
Ceo 4 dx of executionCeo 4 dx of execution
Ceo 4 dx of execution
 
DiSC in a Nutshell - Quick View
DiSC in a Nutshell - Quick ViewDiSC in a Nutshell - Quick View
DiSC in a Nutshell - Quick View
 
Network Marketing Explained
Network Marketing ExplainedNetwork Marketing Explained
Network Marketing Explained
 
Meeting Management
Meeting ManagementMeeting Management
Meeting Management
 
Health & Well-being: Science, Medical Education And Public Health
Health & Well-being: Science, Medical Education And Public HealthHealth & Well-being: Science, Medical Education And Public Health
Health & Well-being: Science, Medical Education And Public Health
 
Persuasion
PersuasionPersuasion
Persuasion
 
Leading effective meetings slides
Leading effective meetings slidesLeading effective meetings slides
Leading effective meetings slides
 
7 Steps Project Execution Process
7 Steps Project Execution Process7 Steps Project Execution Process
7 Steps Project Execution Process
 

Similar to Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 Ed.)

Go and Uber’s time series database m3
Go and Uber’s time series database m3Go and Uber’s time series database m3
Go and Uber’s time series database m3Rob Skillington
 
Monitoring Kafka w/ Prometheus
Monitoring Kafka w/ PrometheusMonitoring Kafka w/ Prometheus
Monitoring Kafka w/ Prometheuskawamuray
 
Creating Open Data with Open Source (beta2)
Creating Open Data with Open Source (beta2)Creating Open Data with Open Source (beta2)
Creating Open Data with Open Source (beta2)Sammy Fung
 
PhD Thesis: Mining abstractions in scientific workflows
PhD Thesis: Mining abstractions in scientific workflowsPhD Thesis: Mining abstractions in scientific workflows
PhD Thesis: Mining abstractions in scientific workflowsdgarijo
 
Collaborative Workflow Development and Experimentation in the Digital Humanities
Collaborative Workflow Development and Experimentation in the Digital HumanitiesCollaborative Workflow Development and Experimentation in the Digital Humanities
Collaborative Workflow Development and Experimentation in the Digital Humanitiescneudecker
 
How to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesHow to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesPerforce
 
Querying Linked Data with SPARQL (2010)
Querying Linked Data with SPARQL (2010)Querying Linked Data with SPARQL (2010)
Querying Linked Data with SPARQL (2010)Olaf Hartig
 
.NET @ apache.org
 .NET @ apache.org .NET @ apache.org
.NET @ apache.orgTed Husted
 
Reactive database access with Slick3
Reactive database access with Slick3Reactive database access with Slick3
Reactive database access with Slick3takezoe
 
Virtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OO
Virtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OOVirtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OO
Virtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OOPaolo Cristofaro
 
Apache Spark Structured Streaming for Machine Learning - StrataConf 2016
Apache Spark Structured Streaming for Machine Learning - StrataConf 2016Apache Spark Structured Streaming for Machine Learning - StrataConf 2016
Apache Spark Structured Streaming for Machine Learning - StrataConf 2016Holden Karau
 
JCConf 2016 - Google Dataflow 小試
JCConf 2016 - Google Dataflow 小試JCConf 2016 - Google Dataflow 小試
JCConf 2016 - Google Dataflow 小試Simon Su
 
About Flink streaming
About Flink streamingAbout Flink streaming
About Flink streaming용휘 김
 
Web Traffic Time Series Forecasting
Web Traffic  Time Series ForecastingWeb Traffic  Time Series Forecasting
Web Traffic Time Series ForecastingBillTubbs
 
Plugin-based software design with Ruby and RubyGems
Plugin-based software design with Ruby and RubyGemsPlugin-based software design with Ruby and RubyGems
Plugin-based software design with Ruby and RubyGemsSadayuki Furuhashi
 
An Inter-Wiki Page Data Processor for a M2M System @Matsue, 1sep., Eskm2013
An Inter-Wiki Page Data Processor for a M2M System  @Matsue, 1sep., Eskm2013An Inter-Wiki Page Data Processor for a M2M System  @Matsue, 1sep., Eskm2013
An Inter-Wiki Page Data Processor for a M2M System @Matsue, 1sep., Eskm2013Takashi Yamanoue
 
OQGraph @ SCaLE 11x 2013
OQGraph @ SCaLE 11x 2013OQGraph @ SCaLE 11x 2013
OQGraph @ SCaLE 11x 2013Antony T Curtis
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixC4Media
 
Встраиваем python для появления аналитики в проекте на С++. Александр Боргард...
Встраиваем python для появления аналитики в проекте на С++. Александр Боргард...Встраиваем python для появления аналитики в проекте на С++. Александр Боргард...
Встраиваем python для появления аналитики в проекте на С++. Александр Боргард...corehard_by
 
High Performance NodeJS
High Performance NodeJSHigh Performance NodeJS
High Performance NodeJSDicoding
 

Similar to Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 Ed.) (20)

Go and Uber’s time series database m3
Go and Uber’s time series database m3Go and Uber’s time series database m3
Go and Uber’s time series database m3
 
Monitoring Kafka w/ Prometheus
Monitoring Kafka w/ PrometheusMonitoring Kafka w/ Prometheus
Monitoring Kafka w/ Prometheus
 
Creating Open Data with Open Source (beta2)
Creating Open Data with Open Source (beta2)Creating Open Data with Open Source (beta2)
Creating Open Data with Open Source (beta2)
 
PhD Thesis: Mining abstractions in scientific workflows
PhD Thesis: Mining abstractions in scientific workflowsPhD Thesis: Mining abstractions in scientific workflows
PhD Thesis: Mining abstractions in scientific workflows
 
Collaborative Workflow Development and Experimentation in the Digital Humanities
Collaborative Workflow Development and Experimentation in the Digital HumanitiesCollaborative Workflow Development and Experimentation in the Digital Humanities
Collaborative Workflow Development and Experimentation in the Digital Humanities
 
How to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesHow to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse Branches
 
Querying Linked Data with SPARQL (2010)
Querying Linked Data with SPARQL (2010)Querying Linked Data with SPARQL (2010)
Querying Linked Data with SPARQL (2010)
 
.NET @ apache.org
 .NET @ apache.org .NET @ apache.org
.NET @ apache.org
 
Reactive database access with Slick3
Reactive database access with Slick3Reactive database access with Slick3
Reactive database access with Slick3
 
Virtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OO
Virtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OOVirtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OO
Virtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OO
 
Apache Spark Structured Streaming for Machine Learning - StrataConf 2016
Apache Spark Structured Streaming for Machine Learning - StrataConf 2016Apache Spark Structured Streaming for Machine Learning - StrataConf 2016
Apache Spark Structured Streaming for Machine Learning - StrataConf 2016
 
JCConf 2016 - Google Dataflow 小試
JCConf 2016 - Google Dataflow 小試JCConf 2016 - Google Dataflow 小試
JCConf 2016 - Google Dataflow 小試
 
About Flink streaming
About Flink streamingAbout Flink streaming
About Flink streaming
 
Web Traffic Time Series Forecasting
Web Traffic  Time Series ForecastingWeb Traffic  Time Series Forecasting
Web Traffic Time Series Forecasting
 
Plugin-based software design with Ruby and RubyGems
Plugin-based software design with Ruby and RubyGemsPlugin-based software design with Ruby and RubyGems
Plugin-based software design with Ruby and RubyGems
 
An Inter-Wiki Page Data Processor for a M2M System @Matsue, 1sep., Eskm2013
An Inter-Wiki Page Data Processor for a M2M System  @Matsue, 1sep., Eskm2013An Inter-Wiki Page Data Processor for a M2M System  @Matsue, 1sep., Eskm2013
An Inter-Wiki Page Data Processor for a M2M System @Matsue, 1sep., Eskm2013
 
OQGraph @ SCaLE 11x 2013
OQGraph @ SCaLE 11x 2013OQGraph @ SCaLE 11x 2013
OQGraph @ SCaLE 11x 2013
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFix
 
Встраиваем python для появления аналитики в проекте на С++. Александр Боргард...
Встраиваем python для появления аналитики в проекте на С++. Александр Боргард...Встраиваем python для появления аналитики в проекте на С++. Александр Боргард...
Встраиваем python для появления аналитики в проекте на С++. Александр Боргард...
 
High Performance NodeJS
High Performance NodeJSHigh Performance NodeJS
High Performance NodeJS
 

More from Olaf Hartig

A Context-Based Semantics for SPARQL Property Paths over the Web
A Context-Based Semantics for SPARQL Property Paths over the WebA Context-Based Semantics for SPARQL Property Paths over the Web
A Context-Based Semantics for SPARQL Property Paths over the WebOlaf Hartig
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...Olaf Hartig
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...Olaf Hartig
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...Olaf Hartig
 
An Overview on PROV-AQ: Provenance Access and Query
An Overview on PROV-AQ: Provenance Access and QueryAn Overview on PROV-AQ: Provenance Access and Query
An Overview on PROV-AQ: Provenance Access and QueryOlaf Hartig
 
(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)
(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)
(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)Olaf Hartig
 
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...Olaf Hartig
 
The Impact of Data Caching of on Query Execution for Linked Data
The Impact of Data Caching of on Query Execution for Linked DataThe Impact of Data Caching of on Query Execution for Linked Data
The Impact of Data Caching of on Query Execution for Linked DataOlaf Hartig
 
How Caching Improves Efficiency and Result Completeness for Querying Linked Data
How Caching Improves Efficiency and Result Completeness for Querying Linked DataHow Caching Improves Efficiency and Result Completeness for Querying Linked Data
How Caching Improves Efficiency and Result Completeness for Querying Linked DataOlaf Hartig
 
A Main Memory Index Structure to Query Linked Data
A Main Memory Index Structure to Query Linked DataA Main Memory Index Structure to Query Linked Data
A Main Memory Index Structure to Query Linked DataOlaf Hartig
 
Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...
Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...
Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...Olaf Hartig
 
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)Olaf Hartig
 
Answers to usual issues in getting started with consuming Linked Data (2010)
Answers to usual issues in getting started with consuming Linked Data (2010)Answers to usual issues in getting started with consuming Linked Data (2010)
Answers to usual issues in getting started with consuming Linked Data (2010)Olaf Hartig
 
Linked Data on the Web
Linked Data on the WebLinked Data on the Web
Linked Data on the WebOlaf Hartig
 
Executing SPARQL Queries of the Web of Linked Data
Executing SPARQL Queries of the Web of Linked DataExecuting SPARQL Queries of the Web of Linked Data
Executing SPARQL Queries of the Web of Linked DataOlaf Hartig
 
Using Web Data Provenance for Quality Assessment
Using Web Data Provenance for Quality AssessmentUsing Web Data Provenance for Quality Assessment
Using Web Data Provenance for Quality AssessmentOlaf Hartig
 
Answers to usual issues in getting started with consuming Linked Data
Answers to usual issues in getting started with consuming Linked DataAnswers to usual issues in getting started with consuming Linked Data
Answers to usual issues in getting started with consuming Linked DataOlaf Hartig
 
Querying Linked Data with SPARQL
Querying Linked Data with SPARQLQuerying Linked Data with SPARQL
Querying Linked Data with SPARQLOlaf Hartig
 
Querying Trust in RDF Data with tSPARQL
Querying Trust in RDF Data with tSPARQLQuerying Trust in RDF Data with tSPARQL
Querying Trust in RDF Data with tSPARQLOlaf Hartig
 
Database Researchers Map
Database Researchers MapDatabase Researchers Map
Database Researchers MapOlaf Hartig
 

More from Olaf Hartig (20)

A Context-Based Semantics for SPARQL Property Paths over the Web
A Context-Based Semantics for SPARQL Property Paths over the WebA Context-Based Semantics for SPARQL Property Paths over the Web
A Context-Based Semantics for SPARQL Property Paths over the Web
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...
 
An Overview on PROV-AQ: Provenance Access and Query
An Overview on PROV-AQ: Provenance Access and QueryAn Overview on PROV-AQ: Provenance Access and Query
An Overview on PROV-AQ: Provenance Access and Query
 
(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)
(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)
(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)
 
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
 
The Impact of Data Caching of on Query Execution for Linked Data
The Impact of Data Caching of on Query Execution for Linked DataThe Impact of Data Caching of on Query Execution for Linked Data
The Impact of Data Caching of on Query Execution for Linked Data
 
How Caching Improves Efficiency and Result Completeness for Querying Linked Data
How Caching Improves Efficiency and Result Completeness for Querying Linked DataHow Caching Improves Efficiency and Result Completeness for Querying Linked Data
How Caching Improves Efficiency and Result Completeness for Querying Linked Data
 
A Main Memory Index Structure to Query Linked Data
A Main Memory Index Structure to Query Linked DataA Main Memory Index Structure to Query Linked Data
A Main Memory Index Structure to Query Linked Data
 
Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...
Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...
Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...
 
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)
 
Answers to usual issues in getting started with consuming Linked Data (2010)
Answers to usual issues in getting started with consuming Linked Data (2010)Answers to usual issues in getting started with consuming Linked Data (2010)
Answers to usual issues in getting started with consuming Linked Data (2010)
 
Linked Data on the Web
Linked Data on the WebLinked Data on the Web
Linked Data on the Web
 
Executing SPARQL Queries of the Web of Linked Data
Executing SPARQL Queries of the Web of Linked DataExecuting SPARQL Queries of the Web of Linked Data
Executing SPARQL Queries of the Web of Linked Data
 
Using Web Data Provenance for Quality Assessment
Using Web Data Provenance for Quality AssessmentUsing Web Data Provenance for Quality Assessment
Using Web Data Provenance for Quality Assessment
 
Answers to usual issues in getting started with consuming Linked Data
Answers to usual issues in getting started with consuming Linked DataAnswers to usual issues in getting started with consuming Linked Data
Answers to usual issues in getting started with consuming Linked Data
 
Querying Linked Data with SPARQL
Querying Linked Data with SPARQLQuerying Linked Data with SPARQL
Querying Linked Data with SPARQL
 
Querying Trust in RDF Data with tSPARQL
Querying Trust in RDF Data with tSPARQLQuerying Trust in RDF Data with tSPARQL
Querying Trust in RDF Data with tSPARQL
 
Database Researchers Map
Database Researchers MapDatabase Researchers Map
Database Researchers Map
 

Recently uploaded

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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 interpreternaman860154
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
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 MenDelhi Call girls
 
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 MenDelhi Call girls
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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 Nanonetsnaman860154
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 

Recently uploaded (20)

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
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
 
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
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 

Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 Ed.)

  • 1. Linked Data Query Processing Tutorial at the 22nd International World Wide Web Conference (WWW 2013) May 14, 2013 http://db.uwaterloo.ca/LDQTut2013/ 4. Execution Process Olaf Hartig University of Waterloo
  • 2. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 2 Outline  Separated Execution  Integrated Execution ➢ General Idea and Properties ➢ Push-Based Implementation [LT10, LT11] ➢ Link Traversal Based Query Execution
  • 3. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 3 … clearly separate data retrieval and result construction into two consecutive phases Separated Execution Approaches Query-local data http://mdb.../Paul http://geo.../Berlin http://mdb.../Ric http://geo.../Rome ?loc?actor GET http://.../movie2449 1 2
  • 4. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 4 Properties of Separated Execution Query-local data http://mdb.../Paul http://geo.../Berlin http://mdb.../Ric http://geo.../Rome ?loc?actor GET http://.../movie2449 1 2 ● Advantage: straightforward to implement ● Can be combined with any source selection strategy ● A traditional query execution plan might then be used for constructing the result ● Downside: First solutions cannot be reported before data retrieval has been completed
  • 5. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 5 Query-local data http://mdb.../Paul http://geo.../Berlin http://mdb.../Ric http://geo.../Rome ?loc?actor GET http://.../movie2449 Integrated Execution Approaches … intertwine data retrieval and result construction
  • 6. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 6 Query-local data http://mdb.../Paul http://geo.../Berlin http://mdb.../Ric http://geo.../Rome ?loc?actor GET http://.../movie2449 Integrated Execution Approaches ● Implementations may report first solutions early ● For monotonic queries ● Implementations may process data in a streaming manner ● May require less query-local memory (b/c query-local dataset need not be materialized) ● Can also be combined with any source selection strategy … intertwine data retrieval and result construction
  • 7. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 7 Outline  Separated Execution  Integrated Execution ➢ General Idea and Properties ➢ Push-Based Implementation [LT10, LT11] ➢ Link Traversal Based Query Execution √ √
  • 8. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 8 Push-Based Implementation TP Operator TP Operator TP Operator Join Operator Join Operator ● Each operator runs as an asynchronous thread ● Connected via message queues Data Retrieval Operator
  • 9. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 9 Push-Based Implementation TP Operator TP Operator TP Operator Join Operator Join Operator ● Each operator runs as an asynchronous thread ● Connected via message queues ● Data retrieval operator ● May apply any possible source selection strategy ● Usually, implemented via multiple lookup threads ● Pushes any incoming matching triple to the corresponding triple pattern operator Data Retrieval Operator
  • 10. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 10 Push-Based Implementation (Example) TP Operator ( ?p, interested in, ?i ) TP Operator ( ?p, affiliated with, orgax ) TP Operator ( ?i, rdf:type, Book ) Join Operator Join Operator Data Retrieval Operator
  • 11. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 11 Push-Based Implementation (Example) TP Operator ( ?p, interested in, ?i ) TP Operator ( ?p, affiliated with, orgax ) TP Operator ( ?i, rdf:type, Book ) Join Operator Join Operator Data Retrieval Operator { ?p → alice } ( alice, affiliated with, orgax ) ( alice, affiliated with, orgax )
  • 12. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 12 Push-Based Implementation (Example) TP Operator ( ?p, interested in, ?i ) TP Operator ( ?p, affiliated with, orgax ) TP Operator ( ?i, rdf:type, Book ) Join Operator Join Operator Data Retrieval Operator { ?p → alice } ( alice, interested in, yoga ) { ?p → alice, ?i → yoga } ( alice, interested in, yoga ) { ?p → alice, ?i → yoga }
  • 13. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 13 Symmetric Hash Join (SHJ) SHJ Operator # Bucket 1 {?p → alice,?i → yoga} 2 3 {?p → bob,?i → tea}, {?p → bob,?i → chess} # Bucket 1 {?p → alice,?o → orgax} 2 {?p → eve,?o → orgax} 3 ● Maintains a hash table for each input ● Same hash function for both tables ● Each bucket contains a set of input solutions
  • 14. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 14 How SHJ Processes Incoming Solution SHJ Operator # Bucket 1 {?p → alice,?i → yoga} 2 3 {?p → bob,?i → tea}, {?p → bob,?i → chess} # Bucket 1 {?p → alice,?o → orgax} 2 {?p → eve,?o → orgax} 3 ● Hash the value that μinput binds to the join variable μinput = {?p → bob,?o → acme}
  • 15. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 15 How SHJ Processes Incoming Solution SHJ Operator # Bucket 1 {?p → alice,?i → yoga} 2 3 {?p → bob,?i → tea}, {?p → bob,?i → chess} # Bucket 1 {?p → alice,?o → orgax} 2 {?p → eve,?o → orgax} 3 ● Hash the value that μinput binds to the join variable ● Insert μinput into the corresponding input hash table hfct(bob) = 3μinput = {?p → bob,?o → acme}
  • 16. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 16 How SHJ Processes Incoming Solution SHJ Operator # Bucket 1 {?p → alice,?i → yoga} 2 3 {?p → bob,?i → tea}, {?p → bob,?i → chess} # Bucket 1 {?p → alice,?o → orgax} 2 {?p → eve,?o → orgax} 3 {?p → bob,?o → acme} ● Hash the value that μinput binds to the join variable ● Insert μinput into the corresponding input hash table ● Probe into the other hash table to find join candidates ● Merge μinput with each join candidate, push results to output {?p → bob,?o → acme,?i → tea} hfct(bob) = 3 {?p → bob,?o → acme,?i → chess} μinput = {?p → bob,?o → acme}
  • 17. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 17 Outline  Separated Execution  Integrated Execution ➢ General Idea and Properties ➢ Push-Based Implementation [LT10, LT11] ➢ Link Traversal Based Query Execution √ √ √
  • 18. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 18 Link Traversal Based Query Execution … is the combination of integrated execution and live exploration (i.e., the push-based approach can be used as an implementation of LTBQE) An even closer combination presents the following pull-based implementation approach ...
  • 19. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 19 ?p ex:affiliated_with <http://.../orgaX> ?p ex:interested_in ?b ?b rdf:type <http://.../Book> Query Seed: <http://.../orgaX> Pipeline of Link Traversing Iterators I3 I2 I1
  • 20. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 20 ?p ex:affiliated_with <http://.../orgaX> ?p ex:interested_in ?b ?b rdf:type <http://.../Book> Query tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 tp2 = ( ?p , ex:interested_in , ?b ) I2 tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 Seed: <http://.../orgaX> Pipeline of Link Traversing Iterators
  • 21. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 21 ?p ex:affiliated_with <http://.../orgaX> ?p ex:interested_in ?b ?b rdf:type <http://.../Book> Query Seed: <http://.../orgaX> tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 tp2 = ( ?p , ex:interested_in , ?b ) I2 tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 query-local dataset Pipeline of Link Traversing Iterators
  • 22. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 22 ?p ex:affiliated_with <http://.../orgaX> ?p ex:interested_in ?b ?b rdf:type <http://.../Book> Query Seed: <http://.../orgaX> tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 tp2 = ( ?p , ex:interested_in , ?b ) I2 tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 query-local dataset Pipeline of Link Traversing Iterators
  • 23. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 23 ?p ex:affiliated_with <http://.../orgaX> ?p ex:interested_in ?b ?b rdf:type <http://.../Book> Query Seed: <http://.../orgaX> tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 tp2 = ( ?p , ex:interested_in , ?b ) I2 tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 query-local dataset Pipeline of Link Traversing Iterators
  • 24. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 24 query-local dataset Next? tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 tp2 = ( ?p , ex:interested_in , ?b ) I2 tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 Pipeline of Link Traversing Iterators
  • 25. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 25 query-local dataset Next? Next? tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 tp2 = ( ?p , ex:interested_in , ?b ) I2 tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 Pipeline of Link Traversing Iterators
  • 26. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 26 query-local dataset Next? Next? Next? tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 tp2 = ( ?p , ex:interested_in , ?b ) I2 tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 Pipeline of Link Traversing Iterators
  • 27. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 27 Next? Next? Next? tp2 = ( ?p , ex:interested_in , ?b ) I2 tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 : <http://.../alice> ex:affiliated_with <http://.../orgaX> : query-local dataset Pipeline of Link Traversing Iterators
  • 28. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 28 Next? tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 : <http://.../alice> ex:affiliated_with <http://.../orgaX> : query-local dataset { ?p = <http://.../alice> } Next? tp2 = ( ?p , ex:interested_in , ?b ) I2 tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 Pipeline of Link Traversing Iterators
  • 29. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 29 tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 query-local dataset { ?p = <http://.../alice> } Next? Next? tp2 = ( ?p , ex:interested_in , ?b ) I2 tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 Pipeline of Link Traversing Iterators
  • 30. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 30 Next? Next? tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 tp2 = ( ?p , ex:interested_in , ?b ) tp2 ' = ( <http://.../alice> , ex:interested_in , ?b ) I2 query-local dataset { ?p = <http://.../alice> } Pipeline of Link Traversing Iterators
  • 31. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 31 Next? Next? tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 tp2 = ( ?p , ex:interested_in , ?b ) tp2 ' = ( <http://.../alice> , ex:interested_in , ?b ) I2 query-local dataset { ?p = <http://.../alice> } : <http://.../alice> ex:interested_in <http://.../b1> : Pipeline of Link Traversing Iterators
  • 32. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 32 Next? Next? tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 tp2 = ( ?p , ex:interested_in , ?b ) tp2 ' = ( <http://.../alice> , ex:interested_in , ?b ) I2 { ?p = <http://.../alice> } : <http://.../alice> ex:interested_in <http://.../b1> : query-local dataset Pipeline of Link Traversing Iterators
  • 33. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 33 Next? tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 tp2 = ( ?p , ex:interested_in , ?b ) tp2 ' = ( <http://.../alice> , ex:interested_in , ?b ) I2 { ?p = <http://.../alice> } : <http://.../alice> ex:interested_in <http://.../b1> : query-local dataset { ?p = <http://.../alice> , ?b = <http://.../b1> } Pipeline of Link Traversing Iterators
  • 34. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 34 tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 Next? { ?p = <http://.../alice> } query-local dataset tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 tp2 = ( ?p , ex:interested_in , ?b ) tp2 ' = ( <http://.../alice> , ex:interested_in , ?b ) I2 { ?p = <http://.../alice> , ?b = <http://.../b1> } Pipeline of Link Traversing Iterators
  • 35. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 35 tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 Next? { ?p = <http://.../alice> } query-local dataset tp3 = ( ?b , rdf:type , <http://.../Book> ) tp3 ' = ( <http://.../b1> , rdf:type , <http://.../Book> ) I3 tp2 = ( ?p , ex:interested_in , ?b ) tp2 ' = ( <http://.../alice> , ex:interested_in , ?b ) I2 { ?p = <http://.../alice> , ?b = <http://.../b1> } Pipeline of Link Traversing Iterators
  • 36. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 36 tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 Next? { ?p = <http://.../alice> } tp3 = ( ?b , rdf:type , <http://.../Book> ) tp3 ' = ( <http://.../b1> , rdf:type , <http://.../Book> ) I3 tp2 = ( ?p , ex:interested_in , ?b ) tp2 ' = ( <http://.../alice> , ex:interested_in , ?b ) I2 { ?p = <http://.../alice> , ?b = <http://.../b1> } query-local dataset : <http://.../Book> rdfs:subClassOf <http://.../CreativeWork> : Pipeline of Link Traversing Iterators
  • 37. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 37 tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 Next? { ?p = <http://.../alice> } tp3 = ( ?b , rdf:type , <http://.../Book> ) tp3 ' = ( <http://.../b1> , rdf:type , <http://.../Book> ) I3 tp2 = ( ?p , ex:interested_in , ?b ) tp2 ' = ( <http://.../alice> , ex:interested_in , ?b ) I2 { ?p = <http://.../alice> , ?b = <http://.../b1> } query-local dataset : <http://.../b1> rdf:type <http://.../Book> : Pipeline of Link Traversing Iterators
  • 38. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 38 tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 Next? { ?p = <http://.../alice> } tp3 = ( ?b , rdf:type , <http://.../Book> ) tp3 ' = ( <http://.../b1> , rdf:type , <http://.../Book> ) I3 tp2 = ( ?p , ex:interested_in , ?b ) tp2 ' = ( <http://.../alice> , ex:interested_in , ?b ) I2 { ?p = <http://.../alice> , ?b = <http://.../b1> } : <http://.../b1> rdf:type <http://.../Book> : query-local dataset Pipeline of Link Traversing Iterators
  • 39. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 39 { ?p = <http://.../alice> , ?b = <http://.../b1> } tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 { ?p = <http://.../alice> } tp3 = ( ?b , rdf:type , <http://.../Book> ) tp3 ' = ( <http://.../b1> , rdf:type , <http://.../Book> ) I3 tp2 = ( ?p , ex:interested_in , ?b ) tp2 ' = ( <http://.../alice> , ex:interested_in , ?b ) I2 { ?p = <http://.../alice> , ?b = <http://.../b1> } query-local dataset Pipeline of Link Traversing Iterators
  • 40. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 40 tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 tp3 = ( ?b , rdf:type , <http://.../Book> ) tp3 ' = ( <http://.../b1> , rdf:type , <http://.../Book> ) I3 tp2 = ( ?p , ex:interested_in , ?b ) tp2 ' = ( <http://.../alice> , ex:interested_in , ?b ) I2 Pipeline of Link Traversing Iterators { ?p = <http://.../alice> } { ?p = <http://.../alice> , ?b = <http://.../b1> } Next? query-local dataset
  • 41. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 41 tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 tp2 = ( ?p , ex:interested_in , ?b ) tp2 ' = ( <http://.../alice> , ex:interested_in , ?b ) I2 Pipeline of Link Traversing Iterators { ?p = <http://.../alice> } Next? Next? query-local dataset
  • 42. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 42 tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I1 tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 tp2 = ( ?p , ex:interested_in , ?b ) tp2 ' = ( <http://.../alice> , ex:interested_in , ?b ) I2 Pipeline of Link Traversing Iterators { ?p = <http://.../alice> } Next? Next? query-local dataset
  • 43. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 43 ● Deeply intertwines integrated execution + live exploration ● Data retrieval is a side-effect of calling link traversing iterators ● No need for a separate data retrieval operator ● Makes adding LTBQE to existing SPARQL engines easy ● Because those usually use iterators for execution ● Caveat: does not achieve the full flexibility that is possible with LTBQE ● Iterators evaluate the triple patterns in a fixed order ● Iterators discard each input solution after using it Pipeline of Link Traversing Iterators
  • 44. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 44 ?p ex:affiliated_with <http://.../orgaX> ?p ex:interested_in ?b ?b rdf:type <http://.../Book> Query Seed: <http://.../orgaX> tp2 = ( ?p , ex:interested_in , ?b ) I2 tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I1 Alternative Execution Order
  • 45. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 45 ?p ex:affiliated_with <http://.../orgaX> ?p ex:interested_in ?b ?b rdf:type <http://.../Book> Query Seed: <http://.../orgaX> tp2 = ( ?p , ex:interested_in , ?b ) I2 Alternative Execution Order tp3 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I3 tp1 = ( ?b , rdf:type , <http://.../Book> ) I1
  • 46. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 46 ?p ex:affiliated_with <http://.../orgaX> ?p ex:interested_in ?b ?b rdf:type <http://.../Book> Query Seed: <http://.../orgaX> tp2 = ( ?p , ex:interested_in , ?b ) I2 query-local dataset Iterator Based Execution tp1 = ( ?b , rdf:type , <http://.../Book> ) I1 tp3 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I3
  • 47. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 47 tp3 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I3 tp2 = ( ?p , ex:interested_in , ?b ) I2 tp1 = ( ?b , rdf:type , <http://.../Book> ) I1 : <http://.../alice> ex:affiliated_with <http://.../orgaX> : query-local dataset Alternative Execution Order
  • 48. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 48 Next?: <http://.../alice> ex:affiliated_with <http://.../orgaX> : query-local dataset Next? tp1 = ( ?b , rdf:type , <http://.../Book> ) I1 Alternative Execution Order Next? tp2 = ( ?p , ex:interested_in , ?b ) I2 tp3 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I3
  • 49. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 49 Next?: <http://.../alice> ex:affiliated_with <http://.../orgaX> : query-local dataset Next? tp1 = ( ?b , rdf:type , <http://.../Book> ) I1 Alternative Execution Order END! tp2 = ( ?p , ex:interested_in , ?b ) I2 tp3 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I3
  • 50. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 50 query-local dataset tp1 = ( ?b , rdf:type , <http://.../Book> ) I1 tp2 = ( ?p , ex:interested_in , ?b ) I2 tp3 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I3 END! END! END! Computed query result may depend on the order of triple patterns = logical query execution plan Alternative Execution Order
  • 51. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 51 Outline  Separated Execution  Integrated Execution ➢ General Idea and Properties ➢ Push-Based Implementation [LT10, LT11] ➢ Link Traversal Based Query Execution √ √ √ √ Next part: 5. Query Planning and Optimization ...
  • 52. WWW 2013 Tutorial on Linked Data Query Processing [ Execution Process ] 52 These slides have been created by Olaf Hartig for the WWW 2013 tutorial on Link Data Query Processing Tutorial Website: http://db.uwaterloo.ca/LDQTut2013/ This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License (http://creativecommons.org/licenses/by-sa/3.0/)