SlideShare a Scribd company logo
Linked Data Query Processing
Tutorial at the 22nd International World Wide Web Conference (WWW 2013)
May 14, 2013
http://db.uwaterloo.ca/LDQTut2013/
5. Query Planning
and Optimization
Olaf Hartig
University of Waterloo
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 2
Query Plan Selection
● Possible assessment criteria:
● Benefit (size of computed query result)
● Cost (overall query execution time)
● Response time (time for returning k solutions)
● To select from candidate plans, criteria must be estimated
● For index-based source selection: estimation may be
based on information recorded in the index [HHK+10]
● For (pure) live exploration: estimation impossible
● No a-priori information available
● Use heuristics instead
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 3
Outline
 Heuristics-Based Planning
 Optimizing Link Traversing Iterators
➢ Prefetching
➢ Postponing
 Source Ranking
➢ Harth et al. [HHK+10, UHK+11]
➢ Ladwig and Tran [LT10]
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 4
Heuristics-Based Plan Selection [Har11a]
● Four rules:
● DEPENDENCY RULE
● SEED RULE
● INSTANCE SEED RULE
● FILTER RULE
● Tailored to LTBQE implemented by link traversing iterators
● Assumptions about queries:
● Query pattern refers to instance data
● URIs mentioned in the query pattern are the seed URIs
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 5
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
DEPENDENCY RULE
● Dependency: a variable from each triple pattern already
occurs in one of the preceding triple patterns
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX>) I1
tp2
= ( ?p , ex:interested_in , ?b ) I2
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
Use a dependency respecting query plan
√
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 6
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
DEPENDENCY RULE
● Dependency: a variable from each triple pattern already
occurs in one of the preceding triple patterns
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX>) I1
tp2
= ( ?p , ex:interested_in , ?b ) I2
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
Use a dependency respecting query plan
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 7
?p ex:affiliated_with <http://.../orgaX>
?p ex:interested_in ?b
?b rdf:type <http://.../Book>
Query
DEPENDENCY RULE
● Dependency: a variable from each triple pattern already
occurs in one of the preceding triple patterns
● Rationale:
Avoid
cartesian
products
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX>) I1
tp2
= ( ?b , rdf:type , <http://.../Book> ) I2
tp3
= ( ?p , ex:interested_in , ?b ) I3
Use a dependency respecting query plan
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 8
Recall assumption:
seed URIs = URIs in the query
SEED RULE
● Seed triple pattern of a plan
… is the first triple pattern in the plan, and
… contains at least one HTTP URI
● Rationale:
Good starting 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
√
√
√
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 9
INSTANCE SEED RULE
● Patterns to avoid:
✗ ?s ex:any_property ?o
✗ ?s rdf:type ex:any_class
● Rationale: URIs for vocabulary terms usually resolve to
vocabulary 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
√
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 10
FILTER RULE
● Filtering triple pattern: each variable already occurs in one
of the preceding triple patterns
● For each valuation
consumed as input
a filtering TP can
only report 1 or 0
valuations as
output
● Rationale: Reduce
cost
tp2
= ( ?p , ex:interested_in , ?b ) I2
tp3
= ( ?b , rdf:type , <http://.../Book> ) I3
Use a plan where all filtering triple patterns are
as close to the first triple pattern as possible
{ ?p = <http://.../alice> }
{ ?p = <http://.../alice> , ?b = <http://.../b1> }
tp2
' = ( <http://.../alice> , ex:interested_in , ?b )
tp3
' = ( <http://.../b1> , rdf:type , <http://.../Book> )
tp1
= ( ?p , ex:affiliated_with , <http://.../orgaX>) I1
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 11
Outline
 Heuristics-Based Planning
 Optimizing Link Traversing Iterators
➢ Prefetching
➢ Postponing
 Source Ranking
➢ Harth et al. [HHK+10, UHK+11]
➢ Ladwig and Tran [LT10]
√
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 12
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> }
Link Traversing Iterators May Block!
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 13
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> }
Link Traversing Iterators May Block!
Initiate look-up(s)
and wait
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 14
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> }
Link Traversing Iterators May Block!
Initiate look-up(s)
and wait
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 15
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> }
Prefetching of URIs [HBF09]
Ensure look-up
is finished
Initiate
look-up
in the
background
Initiate look-up(s)
and wait
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 16
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> }
Prefetching of URIs [HBF09]
Wait until look-up
is finished
Initiate
look-up
in the
background
Initiate look-up(s)
and wait
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 17
Postponing Iterator [HBF09]
● Idea: temporarily reject an input solution
if processing it would cause blocking
● Enabled by an extension of the iterator paradigm:
● New function POSTPONE: treat the element most recently
reported by GETNEXT as if it
has not yet been reported
(i.e., “take back” this element)
● Adjusted GETNEXT: either return a (new) next element or
return a formerly postponed element
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 19
Outline
 Heuristics-Based Planning
 Optimizing Link Traversing Iterators
➢ Prefetching
➢ Postponing
 Source Ranking
➢ Harth et al. [HHK+10, UHK+11]
➢ Ladwig and Tran [LT10]
√
√
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 20
General Idea of Source Ranking
Rank the URIs resulting from source selection
such that
the ranking represents a priority for lookup
● Possible objectives:
● Report first solutions as early as possible
● Minimize time for computing the first k solutions
● Maximize the number of solutions computed in a
given amount of time
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 21
Harth et al. [HHK+10, UHK+11]
● For triple patterns this number is directly available:
● Recall, each QTree bucket stores a set of (URI,count)-pairs
● All query-relevant buckets are known after source selection
For any URI u (selected by the QTree-based approach), let:
rank(u) :═ estimated number of solutions that u contributes to
Root
B
C
AA1
A2
B2
B1
Root
A B
A1 A2
C
B1 B2
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 22
Harth et al. [HHK+10, UHK+11]
● For triple patterns this number is directly available:
● Recall, each QTree bucket stores a set of (URI,count)-pairs
● All query-relevant buckets are known after source selection
● For BGPs, estimate the number recursively:
● Recursively determine regions of join-able data
(based on overlapping QTree buckets for each triple pattern)
● For each of these regions, recursively estimate number of
triples the URI contributes to the region
● Factor in the estimated join result cardinality of these regions
(estimated based on overlap between contributing buckets)
For any URI u (selected by the QTree-based approach), let:
rank(u) :═ estimated number of solutions that u contributes to
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 23
Ladwig and Tran [LT10]
● Multiple scores
● Triple pattern cardinality
● Triple frequency – inverse source frequency (TF–ISF)
● (URI-specific) join pattern cardinality
● Incoming links
● Assumption: pre-populated index that stores triple pattern
cardinalities and join pattern cardinalities for each URI
● Aggregation of the scores to obtain ranks
● For indexed URIs: weighted summation of all scores
● For non-indexed URIs: weighting of (currently known) in-links
● Ranking is refined at run-time
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 24
Metric: Triple Pattern Cardinality [LT10]
● Rationale: data that contains many matching triples
is likely to contribute to many solutions
● Requirement: pre-populated index that stores the cardinalities
● Caveat: some triple patterns have a high
cardinality for almost all URIs
● Example: (?x, rdf:type, ?y)
● These patterns do not discriminate URIs
For a selected URI u, and a triple pattern tp (from the query), let:
card(u, tp) :═ number of triples in the data of u that match tp
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 25
Metric: TF–ISF [LT10]
● Idea: adopt TF-IDF concept to weight triple patterns
● Triple Frequency – Inverse Source Frequency (TF–ISF)
● Rationale:
● Importance positively correlates to the number of matching
triples that occur in the data for a URI
● Importance negatively correlates to how often matching
triples occur for all known URIs (i.e., all indexed URIs)
For a selected URI u, a triple pattern tp, and a set of all known
URIs Uknown , let:
tf.isf (u ,tp):=card (u ,tp) ∗ log
( ∣U known∣
{r∈U known ∣ card (r ,tp)>0})
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 26
Metric: Join Pattern Cardinality [LT10]
● Rationale: data that matches pairs of (joined) triple patterns
is highly relevant, because it matches a larger
part of the query
● Requirement: these join cardinalities are also pre-computed
and stored in a pre-populated index
For a selected URI u, two triple pattern tpi and tpj , and
query variable v, let:
card(u, tpi , tpj , v) :═ number of solutions produced
by joining tpi and tpj on variable v
using only the data from u
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 27
Ladwig and Tran [LT10]
● Multiple scores
● Triple pattern cardinality
● Triple frequency – inverse source frequency (TF–ISF)
● (URI-specific) join pattern cardinality
● Incoming links
● Assumption: pre-populated index that stores triple pattern
cardinalities and join pattern cardinalities for each URI
● Aggregation of the scores to obtain ranks
● For indexed URIs: weighted summation of all scores
● For non-indexed URIs: weighting of (currently known) in-links
● Ranking is refined at run-time
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 28
Refinement at Run-Time [LT10]
● During query execution information becomes available
(1) intermediate join results (2) more incoming links
● Use it to adjust scores & ranking (for integrated execution)
● Re-estimate join pattern cardinalities based on samples of
intermediate results (available from hash tables in SHJ)
● Parameters for influencing behavior of ranking process:
● Invalid score threshold: re-rank when the number of URIs
with invalid scores passes this threshold
● Sample size: larger samples give better estimates, but make
the process more costly
● Re-sampling threshold: reuse cached estimates unless the
hash table of join operators grows past this threshold
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 29
Outline
 Heuristics-Based Planning
 Optimizing Link Traversing Iterators
➢ Prefetching
➢ Postponing
 Source Ranking
➢ Harth et al. [HHK+10, UHK+11]
➢ Ladwig and Tran [LT10]
√
√
√
WWW 2013 Tutorial on Linked Data Query Processing [ Introduction ] 30
Tutorial Outline
(1) Introduction
(2) Theoretical Foundations
(3) Source Selection Strategies
(4) Execution Process
(5) Query Planning and Optimization
… Thanks!
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 31
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/)
(Some of the slides in this slide set have been inspired by
slides from Günter Ladwig [LT10] – Thanks!)
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 32
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/)
(Slides 24 - 26, 33, and 34 are inspired by slides
from Günter Ladwig [LT10] – Thanks!)
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 33
Backup Slides
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 34
Metric: Links to Results [LT10]
● Rationale: a URI is more relevant if data from
many relevant URIs mention it
● Links are only discovered at run-time
The “links to results” of a selected URI u is defined by:
where Uprocessed is the set of URIs whose data has already been
processed and links( u1 , u2 ) are the links to URI u1 mentioned
in the data from URI u2.
links(u):={l ∈links(u ,uprocessed )∣u processed ∈U processed }
WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 35
Metric: Retrieval Cost [LT10]
● Rationale: URIs are more relevant the faster their data can
be retrieved
● Size is available in the pre-populated index
● Bandwidth for any particular host can be approximated
based on past experience or average performance
recorded during the query execution process
The retrieval cost of a selected URI u is defined by:
cost( u) :═ Agg( size(u) , bandwidth(u) )
where size(u) is the of the data from u, and bandwidth(u) is the
bandwidth of the Web server that hosts u.

More Related Content

What's hot

A Workshop on R
A Workshop on RA Workshop on R
A Workshop on R
Ajay Ohri
 
Predicting the relevance of search results for e-commerce systems
Predicting the relevance of search results for e-commerce systemsPredicting the relevance of search results for e-commerce systems
Predicting the relevance of search results for e-commerce systems
Universiti Technologi Malaysia (UTM)
 
Hacktoberfest 2020 - Intro to Knowledge Graphs
Hacktoberfest 2020 - Intro to Knowledge GraphsHacktoberfest 2020 - Intro to Knowledge Graphs
Hacktoberfest 2020 - Intro to Knowledge Graphs
ArangoDB Database
 
Querying the Web of Data
Querying the Web of DataQuerying the Web of Data
Querying the Web of Data
Rinke Hoekstra
 
ParlBench: a SPARQL-benchmark for electronic publishing applications.
ParlBench: a SPARQL-benchmark for electronic publishing applications.ParlBench: a SPARQL-benchmark for electronic publishing applications.
ParlBench: a SPARQL-benchmark for electronic publishing applications.
Tatiana Tarasova
 
Benchmarking graph databases on the problem of community detection
Benchmarking graph databases on the problem of community detectionBenchmarking graph databases on the problem of community detection
Benchmarking graph databases on the problem of community detection
Symeon Papadopoulos
 
OQGraph at MySQL Users Conference 2011
OQGraph at MySQL Users Conference 2011OQGraph at MySQL Users Conference 2011
OQGraph at MySQL Users Conference 2011Antony T Curtis
 
Efficient Data Storage for Analytics with Apache Parquet 2.0
Efficient Data Storage for Analytics with Apache Parquet 2.0Efficient Data Storage for Analytics with Apache Parquet 2.0
Efficient Data Storage for Analytics with Apache Parquet 2.0Cloudera, Inc.
 
How to use Parquet as a basis for ETL and analytics
How to use Parquet as a basis for ETL and analyticsHow to use Parquet as a basis for ETL and analytics
How to use Parquet as a basis for ETL and analytics
Julien Le Dem
 
Efficient Data Storage for Analytics with Parquet 2.0 - Hadoop Summit 2014
Efficient Data Storage for Analytics with Parquet 2.0 - Hadoop Summit 2014Efficient Data Storage for Analytics with Parquet 2.0 - Hadoop Summit 2014
Efficient Data Storage for Analytics with Parquet 2.0 - Hadoop Summit 2014
Julien Le Dem
 
Data science at the command line
Data science at the command lineData science at the command line
Data science at the command line
Sharat Chikkerur
 
Mapreduce in Search
Mapreduce in SearchMapreduce in Search
Mapreduce in Search
Amund Tveit
 
Multimodal Features for Search and Hyperlinking of Video Content
Multimodal Features for Search and Hyperlinking of Video ContentMultimodal Features for Search and Hyperlinking of Video Content
Multimodal Features for Search and Hyperlinking of Video Content
Petra Galuscakova
 
Rdf conjunctive query selectivity estimation
Rdf conjunctive query selectivity estimationRdf conjunctive query selectivity estimation
Rdf conjunctive query selectivity estimation
INRIA-OAK
 
Graph Analytics with ArangoDB
Graph Analytics with ArangoDBGraph Analytics with ArangoDB
Graph Analytics with ArangoDB
ArangoDB Database
 
Data Wrangling and Visualization Using Python
Data Wrangling and Visualization Using PythonData Wrangling and Visualization Using Python
Data Wrangling and Visualization Using Python
MOHITKUMAR1379
 
Introduction to data analysis using R
Introduction to data analysis using RIntroduction to data analysis using R
Introduction to data analysis using R
Victoria López
 
LD4KD 2015 - Demos and tools
LD4KD 2015 - Demos and toolsLD4KD 2015 - Demos and tools
LD4KD 2015 - Demos and tools
Vrije Universiteit Amsterdam
 
Enabling Precise Identification and Citability of Dynamic Data: Recommendatio...
Enabling Precise Identification and Citability of Dynamic Data: Recommendatio...Enabling Precise Identification and Citability of Dynamic Data: Recommendatio...
Enabling Precise Identification and Citability of Dynamic Data: Recommendatio...
Research Data Alliance
 
Optimization Techniques
Optimization TechniquesOptimization Techniques
Optimization Techniques
Joud Khattab
 

What's hot (20)

A Workshop on R
A Workshop on RA Workshop on R
A Workshop on R
 
Predicting the relevance of search results for e-commerce systems
Predicting the relevance of search results for e-commerce systemsPredicting the relevance of search results for e-commerce systems
Predicting the relevance of search results for e-commerce systems
 
Hacktoberfest 2020 - Intro to Knowledge Graphs
Hacktoberfest 2020 - Intro to Knowledge GraphsHacktoberfest 2020 - Intro to Knowledge Graphs
Hacktoberfest 2020 - Intro to Knowledge Graphs
 
Querying the Web of Data
Querying the Web of DataQuerying the Web of Data
Querying the Web of Data
 
ParlBench: a SPARQL-benchmark for electronic publishing applications.
ParlBench: a SPARQL-benchmark for electronic publishing applications.ParlBench: a SPARQL-benchmark for electronic publishing applications.
ParlBench: a SPARQL-benchmark for electronic publishing applications.
 
Benchmarking graph databases on the problem of community detection
Benchmarking graph databases on the problem of community detectionBenchmarking graph databases on the problem of community detection
Benchmarking graph databases on the problem of community detection
 
OQGraph at MySQL Users Conference 2011
OQGraph at MySQL Users Conference 2011OQGraph at MySQL Users Conference 2011
OQGraph at MySQL Users Conference 2011
 
Efficient Data Storage for Analytics with Apache Parquet 2.0
Efficient Data Storage for Analytics with Apache Parquet 2.0Efficient Data Storage for Analytics with Apache Parquet 2.0
Efficient Data Storage for Analytics with Apache Parquet 2.0
 
How to use Parquet as a basis for ETL and analytics
How to use Parquet as a basis for ETL and analyticsHow to use Parquet as a basis for ETL and analytics
How to use Parquet as a basis for ETL and analytics
 
Efficient Data Storage for Analytics with Parquet 2.0 - Hadoop Summit 2014
Efficient Data Storage for Analytics with Parquet 2.0 - Hadoop Summit 2014Efficient Data Storage for Analytics with Parquet 2.0 - Hadoop Summit 2014
Efficient Data Storage for Analytics with Parquet 2.0 - Hadoop Summit 2014
 
Data science at the command line
Data science at the command lineData science at the command line
Data science at the command line
 
Mapreduce in Search
Mapreduce in SearchMapreduce in Search
Mapreduce in Search
 
Multimodal Features for Search and Hyperlinking of Video Content
Multimodal Features for Search and Hyperlinking of Video ContentMultimodal Features for Search and Hyperlinking of Video Content
Multimodal Features for Search and Hyperlinking of Video Content
 
Rdf conjunctive query selectivity estimation
Rdf conjunctive query selectivity estimationRdf conjunctive query selectivity estimation
Rdf conjunctive query selectivity estimation
 
Graph Analytics with ArangoDB
Graph Analytics with ArangoDBGraph Analytics with ArangoDB
Graph Analytics with ArangoDB
 
Data Wrangling and Visualization Using Python
Data Wrangling and Visualization Using PythonData Wrangling and Visualization Using Python
Data Wrangling and Visualization Using Python
 
Introduction to data analysis using R
Introduction to data analysis using RIntroduction to data analysis using R
Introduction to data analysis using R
 
LD4KD 2015 - Demos and tools
LD4KD 2015 - Demos and toolsLD4KD 2015 - Demos and tools
LD4KD 2015 - Demos and tools
 
Enabling Precise Identification and Citability of Dynamic Data: Recommendatio...
Enabling Precise Identification and Citability of Dynamic Data: Recommendatio...Enabling Precise Identification and Citability of Dynamic Data: Recommendatio...
Enabling Precise Identification and Citability of Dynamic Data: Recommendatio...
 
Optimization Techniques
Optimization TechniquesOptimization Techniques
Optimization Techniques
 

Similar to Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimization" (WWW 2013 Ed.)

212 building googlebot - deview - google drive
212 building googlebot - deview - google drive212 building googlebot - deview - google drive
212 building googlebot - deview - google driveNAVER D2
 
ntcir14centre-overview
ntcir14centre-overviewntcir14centre-overview
ntcir14centre-overview
Tetsuya Sakai
 
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
Rob Skillington
 
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...
Olaf Hartig
 
Web Traffic Time Series Forecasting
Web Traffic  Time Series ForecastingWeb Traffic  Time Series Forecasting
Web Traffic Time Series Forecasting
BillTubbs
 
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
Holden Karau
 
Grokking TechTalk #20: PostgreSQL Internals 101
Grokking TechTalk #20: PostgreSQL Internals 101Grokking TechTalk #20: PostgreSQL Internals 101
Grokking TechTalk #20: PostgreSQL Internals 101
Grokking VN
 
Data pipelines from zero to solid
Data pipelines from zero to solidData pipelines from zero to solid
Data pipelines from zero to solid
Lars Albertsson
 
MySQL Optimizer Overview
MySQL Optimizer OverviewMySQL Optimizer Overview
MySQL Optimizer Overview
Olav Sandstå
 
Kibana: Real-World Examples
Kibana: Real-World ExamplesKibana: Real-World Examples
Kibana: Real-World Examples
Salvatore Cordiano
 
[Paper Reading]Orca: A Modular Query Optimizer Architecture for Big Data
[Paper Reading]Orca: A Modular Query Optimizer Architecture for Big Data[Paper Reading]Orca: A Modular Query Optimizer Architecture for Big Data
[Paper Reading]Orca: A Modular Query Optimizer Architecture for Big Data
PingCAP
 
Efficient top-k queries processing in column-family distributed databases
Efficient top-k queries processing in column-family distributed databasesEfficient top-k queries processing in column-family distributed databases
Efficient top-k queries processing in column-family distributed databasesRui Vieira
 
Mapreduce Algorithms
Mapreduce AlgorithmsMapreduce Algorithms
Mapreduce Algorithms
Amund Tveit
 
Landmark Retrieval & Recognition
Landmark Retrieval & RecognitionLandmark Retrieval & Recognition
Landmark Retrieval & Recognition
kenluck2001
 
MySQL Optimizer Overview
MySQL Optimizer OverviewMySQL Optimizer Overview
MySQL Optimizer Overview
Olav Sandstå
 
Beyond EXPLAIN: Query Optimization From Theory To Code
Beyond EXPLAIN: Query Optimization From Theory To CodeBeyond EXPLAIN: Query Optimization From Theory To Code
Beyond EXPLAIN: Query Optimization From Theory To Code
Yuto Hayamizu
 
Job Queues Overview
Job Queues OverviewJob Queues Overview
Job Queues Overview
joeyrobert
 
Ledingkart Meetup #2: Scaling Search @Lendingkart
Ledingkart Meetup #2: Scaling Search @LendingkartLedingkart Meetup #2: Scaling Search @Lendingkart
Ledingkart Meetup #2: Scaling Search @Lendingkart
Mukesh Singh
 
Cost-Based Optimizer in Apache Spark 2.2 Ron Hu, Sameer Agarwal, Wenchen Fan ...
Cost-Based Optimizer in Apache Spark 2.2 Ron Hu, Sameer Agarwal, Wenchen Fan ...Cost-Based Optimizer in Apache Spark 2.2 Ron Hu, Sameer Agarwal, Wenchen Fan ...
Cost-Based Optimizer in Apache Spark 2.2 Ron Hu, Sameer Agarwal, Wenchen Fan ...
Databricks
 

Similar to Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimization" (WWW 2013 Ed.) (20)

212 building googlebot - deview - google drive
212 building googlebot - deview - google drive212 building googlebot - deview - google drive
212 building googlebot - deview - google drive
 
ntcir14centre-overview
ntcir14centre-overviewntcir14centre-overview
ntcir14centre-overview
 
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
 
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...
 
Web Traffic Time Series Forecasting
Web Traffic  Time Series ForecastingWeb Traffic  Time Series Forecasting
Web Traffic Time Series Forecasting
 
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
 
Grokking TechTalk #20: PostgreSQL Internals 101
Grokking TechTalk #20: PostgreSQL Internals 101Grokking TechTalk #20: PostgreSQL Internals 101
Grokking TechTalk #20: PostgreSQL Internals 101
 
Data pipelines from zero to solid
Data pipelines from zero to solidData pipelines from zero to solid
Data pipelines from zero to solid
 
MySQL Optimizer Overview
MySQL Optimizer OverviewMySQL Optimizer Overview
MySQL Optimizer Overview
 
Kibana: Real-World Examples
Kibana: Real-World ExamplesKibana: Real-World Examples
Kibana: Real-World Examples
 
[Paper Reading]Orca: A Modular Query Optimizer Architecture for Big Data
[Paper Reading]Orca: A Modular Query Optimizer Architecture for Big Data[Paper Reading]Orca: A Modular Query Optimizer Architecture for Big Data
[Paper Reading]Orca: A Modular Query Optimizer Architecture for Big Data
 
Efficient top-k queries processing in column-family distributed databases
Efficient top-k queries processing in column-family distributed databasesEfficient top-k queries processing in column-family distributed databases
Efficient top-k queries processing in column-family distributed databases
 
Mapreduce Algorithms
Mapreduce AlgorithmsMapreduce Algorithms
Mapreduce Algorithms
 
Landmark Retrieval & Recognition
Landmark Retrieval & RecognitionLandmark Retrieval & Recognition
Landmark Retrieval & Recognition
 
MySQL Optimizer Overview
MySQL Optimizer OverviewMySQL Optimizer Overview
MySQL Optimizer Overview
 
Beyond EXPLAIN: Query Optimization From Theory To Code
Beyond EXPLAIN: Query Optimization From Theory To CodeBeyond EXPLAIN: Query Optimization From Theory To Code
Beyond EXPLAIN: Query Optimization From Theory To Code
 
Job Queues Overview
Job Queues OverviewJob Queues Overview
Job Queues Overview
 
Ledingkart Meetup #2: Scaling Search @Lendingkart
Ledingkart Meetup #2: Scaling Search @LendingkartLedingkart Meetup #2: Scaling Search @Lendingkart
Ledingkart Meetup #2: Scaling Search @Lendingkart
 
Cost-Based Optimizer in Apache Spark 2.2 Ron Hu, Sameer Agarwal, Wenchen Fan ...
Cost-Based Optimizer in Apache Spark 2.2 Ron Hu, Sameer Agarwal, Wenchen Fan ...Cost-Based Optimizer in Apache Spark 2.2 Ron Hu, Sameer Agarwal, Wenchen Fan ...
Cost-Based Optimizer in Apache Spark 2.2 Ron Hu, Sameer Agarwal, Wenchen Fan ...
 
Spark Meetup
Spark MeetupSpark Meetup
Spark Meetup
 

More from Olaf Hartig

LDQL: A Query Language for the Web of Linked Data
LDQL: A Query Language for the Web of Linked DataLDQL: A Query Language for the Web of Linked Data
LDQL: A Query Language for the Web of Linked Data
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 Web
Olaf 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 Query
Olaf 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
 
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
Olaf 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 Data
Olaf 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
 
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
 
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 Web
Olaf 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 Data
Olaf 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 Assessment
Olaf 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 Data
Olaf Hartig
 
Querying Linked Data with SPARQL
Querying Linked Data with SPARQLQuerying Linked Data with SPARQL
Querying Linked Data with SPARQL
Olaf 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 tSPARQL
Olaf Hartig
 

More from Olaf Hartig (20)

LDQL: A Query Language for the Web of Linked Data
LDQL: A Query Language for the Web of Linked DataLDQL: A Query Language for the Web of Linked Data
LDQL: A Query Language for the Web of Linked Data
 
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...
 
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)
 
Querying Linked Data with SPARQL (2010)
Querying Linked Data with SPARQL (2010)Querying Linked Data with SPARQL (2010)
Querying Linked Data with SPARQL (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)
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
 

Recently uploaded

De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 

Recently uploaded (20)

De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 

Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimization" (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/ 5. Query Planning and Optimization Olaf Hartig University of Waterloo
  • 2. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 2 Query Plan Selection ● Possible assessment criteria: ● Benefit (size of computed query result) ● Cost (overall query execution time) ● Response time (time for returning k solutions) ● To select from candidate plans, criteria must be estimated ● For index-based source selection: estimation may be based on information recorded in the index [HHK+10] ● For (pure) live exploration: estimation impossible ● No a-priori information available ● Use heuristics instead
  • 3. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 3 Outline  Heuristics-Based Planning  Optimizing Link Traversing Iterators ➢ Prefetching ➢ Postponing  Source Ranking ➢ Harth et al. [HHK+10, UHK+11] ➢ Ladwig and Tran [LT10]
  • 4. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 4 Heuristics-Based Plan Selection [Har11a] ● Four rules: ● DEPENDENCY RULE ● SEED RULE ● INSTANCE SEED RULE ● FILTER RULE ● Tailored to LTBQE implemented by link traversing iterators ● Assumptions about queries: ● Query pattern refers to instance data ● URIs mentioned in the query pattern are the seed URIs
  • 5. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 5 ?p ex:affiliated_with <http://.../orgaX> ?p ex:interested_in ?b ?b rdf:type <http://.../Book> Query DEPENDENCY RULE ● Dependency: a variable from each triple pattern already occurs in one of the preceding triple patterns tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I1 tp2 = ( ?p , ex:interested_in , ?b ) I2 tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 Use a dependency respecting query plan √
  • 6. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 6 ?p ex:affiliated_with <http://.../orgaX> ?p ex:interested_in ?b ?b rdf:type <http://.../Book> Query DEPENDENCY RULE ● Dependency: a variable from each triple pattern already occurs in one of the preceding triple patterns tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I1 tp2 = ( ?p , ex:interested_in , ?b ) I2 tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 Use a dependency respecting query plan
  • 7. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 7 ?p ex:affiliated_with <http://.../orgaX> ?p ex:interested_in ?b ?b rdf:type <http://.../Book> Query DEPENDENCY RULE ● Dependency: a variable from each triple pattern already occurs in one of the preceding triple patterns ● Rationale: Avoid cartesian products tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I1 tp2 = ( ?b , rdf:type , <http://.../Book> ) I2 tp3 = ( ?p , ex:interested_in , ?b ) I3 Use a dependency respecting query plan
  • 8. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 8 Recall assumption: seed URIs = URIs in the query SEED RULE ● Seed triple pattern of a plan … is the first triple pattern in the plan, and … contains at least one HTTP URI ● Rationale: Good starting 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 √ √ √
  • 9. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 9 INSTANCE SEED RULE ● Patterns to avoid: ✗ ?s ex:any_property ?o ✗ ?s rdf:type ex:any_class ● Rationale: URIs for vocabulary terms usually resolve to vocabulary 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 √
  • 10. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 10 FILTER RULE ● Filtering triple pattern: each variable already occurs in one of the preceding triple patterns ● For each valuation consumed as input a filtering TP can only report 1 or 0 valuations as output ● Rationale: Reduce cost tp2 = ( ?p , ex:interested_in , ?b ) I2 tp3 = ( ?b , rdf:type , <http://.../Book> ) I3 Use a plan where all filtering triple patterns are as close to the first triple pattern as possible { ?p = <http://.../alice> } { ?p = <http://.../alice> , ?b = <http://.../b1> } tp2 ' = ( <http://.../alice> , ex:interested_in , ?b ) tp3 ' = ( <http://.../b1> , rdf:type , <http://.../Book> ) tp1 = ( ?p , ex:affiliated_with , <http://.../orgaX>) I1
  • 11. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 11 Outline  Heuristics-Based Planning  Optimizing Link Traversing Iterators ➢ Prefetching ➢ Postponing  Source Ranking ➢ Harth et al. [HHK+10, UHK+11] ➢ Ladwig and Tran [LT10] √
  • 12. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 12 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> } Link Traversing Iterators May Block!
  • 13. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 13 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> } Link Traversing Iterators May Block! Initiate look-up(s) and wait
  • 14. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 14 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> } Link Traversing Iterators May Block! Initiate look-up(s) and wait
  • 15. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 15 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> } Prefetching of URIs [HBF09] Ensure look-up is finished Initiate look-up in the background Initiate look-up(s) and wait
  • 16. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 16 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> } Prefetching of URIs [HBF09] Wait until look-up is finished Initiate look-up in the background Initiate look-up(s) and wait
  • 17. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 17 Postponing Iterator [HBF09] ● Idea: temporarily reject an input solution if processing it would cause blocking ● Enabled by an extension of the iterator paradigm: ● New function POSTPONE: treat the element most recently reported by GETNEXT as if it has not yet been reported (i.e., “take back” this element) ● Adjusted GETNEXT: either return a (new) next element or return a formerly postponed element
  • 18. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 19 Outline  Heuristics-Based Planning  Optimizing Link Traversing Iterators ➢ Prefetching ➢ Postponing  Source Ranking ➢ Harth et al. [HHK+10, UHK+11] ➢ Ladwig and Tran [LT10] √ √
  • 19. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 20 General Idea of Source Ranking Rank the URIs resulting from source selection such that the ranking represents a priority for lookup ● Possible objectives: ● Report first solutions as early as possible ● Minimize time for computing the first k solutions ● Maximize the number of solutions computed in a given amount of time
  • 20. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 21 Harth et al. [HHK+10, UHK+11] ● For triple patterns this number is directly available: ● Recall, each QTree bucket stores a set of (URI,count)-pairs ● All query-relevant buckets are known after source selection For any URI u (selected by the QTree-based approach), let: rank(u) :═ estimated number of solutions that u contributes to Root B C AA1 A2 B2 B1 Root A B A1 A2 C B1 B2
  • 21. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 22 Harth et al. [HHK+10, UHK+11] ● For triple patterns this number is directly available: ● Recall, each QTree bucket stores a set of (URI,count)-pairs ● All query-relevant buckets are known after source selection ● For BGPs, estimate the number recursively: ● Recursively determine regions of join-able data (based on overlapping QTree buckets for each triple pattern) ● For each of these regions, recursively estimate number of triples the URI contributes to the region ● Factor in the estimated join result cardinality of these regions (estimated based on overlap between contributing buckets) For any URI u (selected by the QTree-based approach), let: rank(u) :═ estimated number of solutions that u contributes to
  • 22. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 23 Ladwig and Tran [LT10] ● Multiple scores ● Triple pattern cardinality ● Triple frequency – inverse source frequency (TF–ISF) ● (URI-specific) join pattern cardinality ● Incoming links ● Assumption: pre-populated index that stores triple pattern cardinalities and join pattern cardinalities for each URI ● Aggregation of the scores to obtain ranks ● For indexed URIs: weighted summation of all scores ● For non-indexed URIs: weighting of (currently known) in-links ● Ranking is refined at run-time
  • 23. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 24 Metric: Triple Pattern Cardinality [LT10] ● Rationale: data that contains many matching triples is likely to contribute to many solutions ● Requirement: pre-populated index that stores the cardinalities ● Caveat: some triple patterns have a high cardinality for almost all URIs ● Example: (?x, rdf:type, ?y) ● These patterns do not discriminate URIs For a selected URI u, and a triple pattern tp (from the query), let: card(u, tp) :═ number of triples in the data of u that match tp
  • 24. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 25 Metric: TF–ISF [LT10] ● Idea: adopt TF-IDF concept to weight triple patterns ● Triple Frequency – Inverse Source Frequency (TF–ISF) ● Rationale: ● Importance positively correlates to the number of matching triples that occur in the data for a URI ● Importance negatively correlates to how often matching triples occur for all known URIs (i.e., all indexed URIs) For a selected URI u, a triple pattern tp, and a set of all known URIs Uknown , let: tf.isf (u ,tp):=card (u ,tp) ∗ log ( ∣U known∣ {r∈U known ∣ card (r ,tp)>0})
  • 25. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 26 Metric: Join Pattern Cardinality [LT10] ● Rationale: data that matches pairs of (joined) triple patterns is highly relevant, because it matches a larger part of the query ● Requirement: these join cardinalities are also pre-computed and stored in a pre-populated index For a selected URI u, two triple pattern tpi and tpj , and query variable v, let: card(u, tpi , tpj , v) :═ number of solutions produced by joining tpi and tpj on variable v using only the data from u
  • 26. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 27 Ladwig and Tran [LT10] ● Multiple scores ● Triple pattern cardinality ● Triple frequency – inverse source frequency (TF–ISF) ● (URI-specific) join pattern cardinality ● Incoming links ● Assumption: pre-populated index that stores triple pattern cardinalities and join pattern cardinalities for each URI ● Aggregation of the scores to obtain ranks ● For indexed URIs: weighted summation of all scores ● For non-indexed URIs: weighting of (currently known) in-links ● Ranking is refined at run-time
  • 27. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 28 Refinement at Run-Time [LT10] ● During query execution information becomes available (1) intermediate join results (2) more incoming links ● Use it to adjust scores & ranking (for integrated execution) ● Re-estimate join pattern cardinalities based on samples of intermediate results (available from hash tables in SHJ) ● Parameters for influencing behavior of ranking process: ● Invalid score threshold: re-rank when the number of URIs with invalid scores passes this threshold ● Sample size: larger samples give better estimates, but make the process more costly ● Re-sampling threshold: reuse cached estimates unless the hash table of join operators grows past this threshold
  • 28. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 29 Outline  Heuristics-Based Planning  Optimizing Link Traversing Iterators ➢ Prefetching ➢ Postponing  Source Ranking ➢ Harth et al. [HHK+10, UHK+11] ➢ Ladwig and Tran [LT10] √ √ √
  • 29. WWW 2013 Tutorial on Linked Data Query Processing [ Introduction ] 30 Tutorial Outline (1) Introduction (2) Theoretical Foundations (3) Source Selection Strategies (4) Execution Process (5) Query Planning and Optimization … Thanks!
  • 30. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 31 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/) (Some of the slides in this slide set have been inspired by slides from Günter Ladwig [LT10] – Thanks!)
  • 31. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 32 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/) (Slides 24 - 26, 33, and 34 are inspired by slides from Günter Ladwig [LT10] – Thanks!)
  • 32. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 33 Backup Slides
  • 33. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 34 Metric: Links to Results [LT10] ● Rationale: a URI is more relevant if data from many relevant URIs mention it ● Links are only discovered at run-time The “links to results” of a selected URI u is defined by: where Uprocessed is the set of URIs whose data has already been processed and links( u1 , u2 ) are the links to URI u1 mentioned in the data from URI u2. links(u):={l ∈links(u ,uprocessed )∣u processed ∈U processed }
  • 34. WWW 2013 Tutorial on Linked Data Query Processing [ Query Planning and Optimization ] 35 Metric: Retrieval Cost [LT10] ● Rationale: URIs are more relevant the faster their data can be retrieved ● Size is available in the pre-populated index ● Bandwidth for any particular host can be approximated based on past experience or average performance recorded during the query execution process The retrieval cost of a selected URI u is defined by: cost( u) :═ Agg( size(u) , bandwidth(u) ) where size(u) is the of the data from u, and bandwidth(u) is the bandwidth of the Web server that hosts u.