zero-knowledge query planning for an iterator implementation of link traversal based query execution
DESCRIPTION
WiTRANSCRIPT
![Page 1: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/1.jpg)
Zero-KnowledgeQuery Planning
for an Iterator Implementation ofLink Traversal Based Query Execution
Olaf Hartighttp://olafhartig.de/foaf.rdf#olaf
@olafhartig
Database and Information Systems Research GroupHumboldt-Universität zu Berlin
![Page 2: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/2.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 2
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
Iterator Based Execution Plan
tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I
1
tp2 = ( ?p , ex:interested_in , ?b ) I
2
tp3 = ( ?b , rdf:type , <http://.../Book> ) I
3
![Page 3: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/3.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 3
Iterator Based Execution Plan
query-localdataset
Next?
Next?
Next?
tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I
1
tp2 = ( ?p , ex:interested_in , ?b ) I
2
tp3 = ( ?b , rdf:type , <http://.../Book> ) I
3
![Page 4: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/4.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 4
Next?
Next?
Next?
tp2 = ( ?p , ex:interested_in , ?b ) I
2
tp3 = ( ?b , rdf:type , <http://.../Book> ) I
3
Iterator Based Execution Plan
tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I
1
query-localdataset
:
<http://.../alice> ex:affiliated_with <http://.../orgaX>
:
Descriptor object
![Page 5: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/5.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 5
Next?
Next?
Next?
tp2 = ( ?p , ex:interested_in , ?b ) I
2
tp3 = ( ?b , rdf:type , <http://.../Book> ) I
3
Iterator Based Execution Plan
tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I
1
query-localdataset
:
<http://.../alice> ex:affiliated_with <http://.../orgaX>
:
![Page 6: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/6.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 6
Next?
Iterator Based Execution Plan
tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I
1
:
<http://.../alice> ex:affiliated_with <http://.../orgaX>
:
query-localdataset
{ ?p = <http://.../alice> }
Next?
tp2 = ( ?p , ex:interested_in , ?b ) I
2
tp3 = ( ?b , rdf:type , <http://.../Book> ) I
3
![Page 7: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/7.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 7
Next?
Next?
tp3 = ( ?b , rdf:type , <http://.../Book> ) I
3
Iterator Based Execution Plan
tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I
1
tp2 = ( ?p , ex:interested_in , ?b )
tp2' = ( <http://.../alice> , ex:interested_in , ?b )
I2
query-localdataset
{ ?p = <http://.../alice> }
![Page 8: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/8.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 8
Next?
Next?
tp3 = ( ?b , rdf:type , <http://.../Book> ) I
3
Iterator Based Execution Plan
tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I
1
tp2 = ( ?p , ex:interested_in , ?b )
tp2' = ( <http://.../alice> , ex:interested_in , ?b )
I2
query-localdataset
{ ?p = <http://.../alice> }
:
<http://.../alice> ex:interested_in <http://.../b1>
:
![Page 9: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/9.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 9
Next?
tp3 = ( ?b , rdf:type , <http://.../Book> ) I
3
Iterator Based Execution Plan
tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I
1
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-localdataset
{ ?p = <http://.../alice> , ?b = <http://.../b1> }
![Page 10: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/10.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 10
Iterator Based Execution Plan
tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I
1
Next?
{ ?p = <http://.../alice> }
query-localdataset
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> }
![Page 11: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/11.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 11
tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I
1
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> }
Iterator Based Execution Plan
query-localdataset
:
<http://.../Book> rdfs:subClassOf <http://.../CreativeWork>
:
![Page 12: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/12.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 12
tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I
1
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> }
Iterator Based Execution Plan
query-localdataset
:
<http://.../b1> rdf:type <http://.../Book>
:
![Page 13: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/13.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 13
Iterator Based Execution Plan
{ ?p = <http://.../alice> , ?b = <http://.../b1> }
tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX> ) I
1
{ ?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-localdataset
![Page 14: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/14.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 14
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
tp2 = ( ?p , ex:interested_in , ?b ) I
2
Example Query Execution Plan
tp3 = ( ?b , rdf:type , <http://.../Book> ) I
3
tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I
1
![Page 15: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/15.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 15
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
tp2 = ( ?p , ex:interested_in , ?b ) I
2
An Alternative Execution Plan
tp3 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I
3
tp1 = ( ?b , rdf:type , <http://.../Book> ) I
1
![Page 16: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/16.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 16
An Alternative Execution Plan
query-localdataset
Next?
Next?
Next?
tp1 = ( ?b , rdf:type , <http://.../Book> ) I
1
tp2 = ( ?p , ex:interested_in , ?b ) I
2
tp3 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I
3
![Page 17: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/17.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 17
Next?
Next?
Next?
tp2 = ( ?p , ex:interested_in , ?b ) I
2
tp3 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I
3
tp1 = ( ?b , rdf:type , <http://.../Book> ) I
1
An Alternative Execution Plan
query-localdataset
:
<http://.../Book> rdfs:subClassOf <http://.../CreativeWork>
:
![Page 18: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/18.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 18
Next?
Next?
END!
tp2 = ( ?p , ex:interested_in , ?b ) I
2
An Alternative Execution Plan
tp3 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I
3
:
<http://.../Book> rdfs:subClassOf <http://.../CreativeWork>
:
query-localdataset
tp1 = ( ?b , rdf:type , <http://.../Book> ) I
1
![Page 19: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/19.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 19
An Alternative Execution Plan
tp3 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I
3
query-localdataset
END!
END!
tp2 = ( ?p , ex:interested_in , ?b ) I
2
END!
tp1 = ( ?b , rdf:type , <http://.../Book> ) I
1
![Page 20: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/20.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 20
An Alternative Execution Plan
query-localdataset
END!
END!
tp2 = ( ?p , ex:interested_in , ?b ) I
2
END!
tp1 = ( ?b , rdf:type , <http://.../Book> ) I
1
Number of results may depend on the order of triple patterns
= logical query execution plan
tp3 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I
3
![Page 21: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/21.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 21
Query Plan Selection
● Assessment criteria:● Cost (query execution time)● Benefit (number of results)
● Cost and benefit must be estimated without plan execution
● Estimation impossible due to “zero knowledge”
● Heuristic Based Plan Selection● DEPENDENCY RESPECT RULE
● SEED TP RULE
● NO VOCAB SEED RULE
● FILTERING TP RULE
![Page 22: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/22.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 22
SEED TP RULE
● Potential seed triple pattern
… is a triple pattern that contains at least one HTTP URI
● Seed triple pattern of a plan
… is the first triple pattern in the plan and
… is a potential seed triple pattern
● Rationale: goodstarting point
Use a plan with a seed triple pattern
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
√√
√
![Page 23: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/23.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 23
NO VOCAB SEED RULE
● Not only vocabulary term URIs in the seed triple pattern
● Patterns to avoid: ?s ex:any_property ?o
?s rdf:type ex:any_class
● Rationale: URIs for vocabulary term usually resolve tovocabulary definitions with little instance data
Avoid a seed triple pattern with vocabulary terms
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
√
![Page 24: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/24.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 24
FILTERING TP RULE
● Filtering triple pattern: each variable already occurs in oneof the preceding triple patterns
● For each resultconsumed as inputa filtering TP canonly report 1 or 0results as output
● Rationale: Reduce cost
tp2 = ( ?p , ex:interested_in , ?b )
tp2' = ( <http://.../alice> , ex:interested_in , ?b )
I2
tp3 = ( ?b , rdf:type , <http://.../Book> )
tp3' = ( <http://.../b1> , rdf:type , <http://.../Book> )
I3
tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I
1
{ ?p = <http://.../alice> }
{ ?p = <http://.../alice> , ?b = <http://.../b1> }
Use a plan where all filtering triple patterns areas close to the seed triple pattern as possible
![Page 25: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/25.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 25
Evaluation Procedure
● Generate all possible plans
● Execute each plan:● 5 runs (+ 1 initial warm-up run) ● Use an initially empty query-local dataset for each run
● Measure for each plan:● Avg. execution time● Avg. number of descriptor objects retrieved during execution● Avg. number of query results
![Page 26: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/26.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 26
Evaluation Query (Example)
SELECT ?spec ?genus WHERE {
geospecies:4qyn7 gs:inFamily ?fam .
?fam skos:narrowerTransitive ?spec .
?spec skos:closeMatch ?sp2 .
?sp2 rdfs:subClassOf ?genus .
?spec gs:isExpectedIn ?loc .
geospecies:4qyn7 gs:isExpectedIn ?loc
?loc rdf:type gs:State . }
● 2 potential seed triple patterns thatsatisfy our NO SEED VOCAB RULE
● 56 different plans, each contains2 filtering triple patterns
Of what genus are the species that are● classified in the
same family as the American Badger,
● and expected in the same states as the American Badger ?
Picture source: Wikipedia
![Page 27: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/27.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 27
Measurements
1st Filtering TP
Percentage of plans in each group with a filtering TP in specific positions
2nd Filtering TPre
trie
v ed
desc
r. o
b jec
ts
0 30 60 90 120 150 1800
100
200
300
400
query exec. times (in seconds)
quer
y re
sult s
0 30 60 90 120 150 1800
10
20
30
query exec. times (in seconds)
1 2 3 4 5 6 70
50
100
TP position in the ordered BGP1 2 3 4 5 6 7
0
50
100
TP position in the ordered BGP
![Page 28: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/28.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 28
Conclusions
● Approach that uses iterators to implementLink Traversal Based Query Execution
… is sound
… guarantees termination
… cannot guarantee (reachability-) completeness
● Degree of completeness depends onthe query plans (i.e. orders of the BGP)
● Heuristic based plan selection
● Next steps:● Algorithm to generate most suitable plans only● Integrate adaptive query processing techniques
![Page 29: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/29.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 29
Backup Slides
![Page 30: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/30.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 30
Outline
1. Link Traversal BasedQuery Execution
2. Characteristics of theIterator BasedImplementation Approach
3. Query Plan Selection
4. Evaluation
![Page 31: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/31.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 31
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
Link Traversal Based Querying
● Semantics definedin two phases:
1. Reachability
2. Query ResultsDescriptor
object
![Page 32: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/32.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 32
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
Link Traversal Based Querying
● Semantics definedin two phases:
1. Reachability
2. Query Results
![Page 33: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/33.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 33
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
Link Traversal Based Querying
● Semantics definedin two phases:
1. Reachability
2. Query Results
![Page 34: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/34.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 34
Link Traversal Based Querying
● Semantics definedin two phases:
1. Reachability
2. Query Results
● 2 phases do not reflect idea of actual execution strategy● Intertwine query evaluation with the traversal of data links
Reachabledescriptor
object
The mapping μ : V → U B Lis a result to BGP bgp iff:
Condition 1: dom(μ) = vars(bgp)Condition 2: μ[bgp] D
reachable
![Page 35: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/35.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 35
Characteristics
● No need to know all data sources in advance● Never complete w.r.t. all data on the Web
● Reason: reachability based on links that match query patterns● New concept: reachability-completeness
● No guarantee for termination● Reason: Web of Data is infinite (at any point in time)
![Page 36: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/36.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 36
Outline
1. Characteristics of theImplementation Approach
2. Query Plan Selection
3. Evaluation
![Page 37: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/37.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 37
Characteristics
● Sound
● Number of results may depend on order of triple patterns
● Reachability-completeness not guaranteed● Main reason: inflexibility due to fixed order
● Termination is guaranteed● No such guarantee for link traversal based
query execution in general because the Webof Data is infinite (at any point in time)
● Efficient
● Easy to apply in existing query engines
![Page 38: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/38.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 38
Plan Selection Problem
● Number of results may depend on order of triple patterns
➔ Problem: select a suitable plan
= logical query execution plan
![Page 39: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/39.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 39
Outline
1. Link Traversal BasedQuery Execution
2. Characteristics of theIterator BasedImplementation Approach
3. Query Plan Selection
4. Evaluation
![Page 40: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/40.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 40
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
DEPENDENCY RESPECT RULE
● Dependency respect: a variable from each triple pattern already occurs in one of the preceding triple patterns
tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I
1
tp2 = ( ?p , ex:interested_in , ?b ) I
2
tp3 = ( ?b , rdf:type , <http://.../Book> ) I
3
√
Use a dependency respecting query plan
![Page 41: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/41.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 41
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
DEPENDENCY RESPECT RULE
● Dependency respect: a variable from each triple pattern already occurs in one of the preceding triple patterns
tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I
1
tp2 = ( ?p , ex:interested_in , ?b ) I
2
tp3 = ( ?b , rdf:type , <http://.../Book> ) I
3
Use a dependency respecting query plan
![Page 42: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/42.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 42
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
DEPENDENCY RESPECT RULE
Use a dependency respecting query plan
● Dependency respect: a variable from each triple pattern already occurs in one of the preceding triple patterns
● Rationale:Avoidcartesianproducts
tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I
1
tp2 = ( ?b , rdf:type , <http://.../Book> ) I
2
tp3 = ( ?p , ex:interested_in , ?b ) I
3
![Page 43: Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution](https://reader033.vdocument.in/reader033/viewer/2022052619/555066bbb4c905c0448b5491/html5/thumbnails/43.jpg)
Olaf Hartig - Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution 43
These slides have been created byOlaf Hartig
http://olafhartig.de
This work is licensed under aCreative Commons Attribution-Share Alike 3.0 License
(http://creativecommons.org/licenses/by-sa/3.0/)