sparql cost-based query optimization - wu viennapolleres/swqueryoptws/rvaeci4.pdf · 2013-09-23 ·...

35
1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal, Eduardo Ruiz Dept. Computer Science and Information Technology Universidad Simón Bolívar Caracas, Venezuela Workshop “Query Optimization for the Semantic Web” Madrid, Spain, May 2007 Universidad Simón Bolívar

Upload: others

Post on 04-Apr-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

1

SPARQL Cost-based Query

Optimization

Edna Ruckhaus , Dr. María Esther Vidal, Eduardo Ruiz

Dept. Computer Science and Information Technology

Universidad Simón Bolívar

Caracas, Venezuela

Workshop “Query Optimization for the Semantic Web”Madrid, Spain, May 2007

Universidad

Simón Bolívar

Page 2: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

2

Our Objective

• Define techniques to execute SPARQLqueries efficiently:– We consider basic and optional patterns,

union of patterns, filters

– Other systems translate SPARQL to Datalog(Polleres, 2006).• We add efficient physical operators

• We introduce cost-based optimizationtechniques

http://www.ldc.usb.ve/~ruckhaus/oneql

Page 3: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

3

Outline

• Motivation

• Our Approach– DOB

– Physical Operators

– Cost-Based Query Optimization

– SPARQL to DOB

• Initial Experimental Results

• Conclusions and Future Work

Page 4: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

4

Ontology Query

Domain Ontologies

Annotated Web Sources

Agent thatdiscovers andselects Web

sources

Large amountof inferredknowledge

Infe

ren

ce

Se

rvic

e

Explicit knowledge

Page 5: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

5

Query Languages for theSemantic WebSPARQL

• RDF query language

–Triple-based

• Select-from-where syntax

–Different triple/graph patterns

• The output of a SPARQL query is

–The subset of the input set of triplesthat satisfy the patterns

Page 6: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

6

Query Evaluation Steps

Query Optimizer

Query Engine

Query Parser

Catalog

The objectiveis to find a

plan to efficientlyevaluate the

input query

Page 7: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

7

Answering Web ontologyqueries efficiently

• Different strategies to retrieve and combineRDF triples

• Different plans to evaluate each strategy

– Induce operations that are not relevant to theresult

– Traverse the same input multiple times

Size of

knowledge

Evaluation

strategy

Order of

Strategy (plan)

Query evaluation costDifferent plans may

have different cost

Page 8: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

8

An example

Page 9: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

9

Different Evaluation Plans“All the different types of Faculties that have written

conference papers on the Semantic Web”

• Plan I1. Subclasses of Faculty class

2. For each subclass, its instances

3. For each instance, if the instance has written conferencepapers on the Semantic Web, return the instance andthe class it belongs to

• Plan II1. Instances and the most specific classes they belong to

2. Subclasses of the Faculty class

3. Instances that have written conference papers on theSemantic Web

4. For each instance in 3. that belongs to a class in 2.return the instance and class

Page 10: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

10

Answering Web ontologyqueries efficiently

Cost of evaluation plan depends on cost of computing

explicit and inferred knowledge.

Cost-based optimization techniques for relational databases.(Based on statistics on the data)

Good for basic knowledge

Does not scale for inferred knowledge

Sampling techniques are good for estimating statisticalcharacteristics where data is not known a priori

Page 11: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

11

Our general approach

• We represent an ontology as aDeductive Ontology Base (Datalogplus built-ins) composed of a set ofextensional ground predicates(EOB) and a set of intensionalpredicates (IOB) representing I

Page 12: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

12

Our general approach

Cost model is a combination of:

1. Predicate cost-based reordering strategy similarto relational databases

– Depends on cost and cardinality of each predicate• Cost and cardinality of basic knowledge• Cost and cardinality of inferred knowledge not known a

priori

2. Adaptive Sampling Technique (Lipton et al,1990) for cost and cardinality of predicates thatrepresent inferred knowledge

3. The objective function is to minimize the numberof intermediate inferences to answer the query.

Page 13: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

13

Previous work• DOB formalism

• Ontologies:– OWL Lite, XmlOnto

• Queries– DOB conjunctive queries

– RDQL queries

– SPARQL Select queries with basic patterns

• Logical operator: Join

• Physical operators:– Nested-Loop, Block Nested-Loop and Hash

• Query optimization– Cost-based (Hybrid cost model)

– Cost-based + Magic Sets rewriting

Page 14: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

14

The OneQL system

Page 15: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

15

Our formalismDeductive Ontology Base• A DOB query is a rule

q:Q(X) Y B(X,Y)

• Predicates in the body B of a rule or querya1 op1 … opn-1 an

• DOB algebra operators opi:– Join

– Left Outer Join

– Union

• Each logical operator corresponds to one ormore physical operators– The cost function for each physical operator has

been defined

Page 16: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

16

DOB - Defining cardinality

The cardinality of areSubClasses(S,’Faculty’) correspondsto the number of valid instantiations, the valuationsthat evaluate to true in the Minimal Perfect ModelI of O

The cardinality of a predicate p is the number of valid instantiations of p

A valuation is a function :V C

(areSubClasses(S,’Faculty’))={Lecturer, PostDoc, Professor,

VistingProfessor, AssistantProfessor, AssociateProfessor,FullProfessor, Chair, Dean, Article, Publication,…}

Card(areSubClasses(S,’Faculty’))=9

Page 17: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

17

DOB - Defining cost

Given an ontology O and a predicate p, aproof tree may be defined for p

areSubClasses(S,’Faculty’)

subClassOf(‘Lecturer’,’Faculty’)

areSubClasses(‘FullProfessor’,’Faculty’))

subClassOf(‘FullProfessor’,’Professor’)

subClassOf(‘Professor’,’Faculty’)

areSubClasses(‘Professor’,’Faculty’)

areSubClasses(‘Lecturer’,’Faculty’)

areSubClasses(C1,C2):-subClassOf(C1,C2).areSubClasses(C1,C3):-subClassOf(C1,C3),areSubClasses(C3,C2).

………

Page 18: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

18

DOB - Defining cost

The valuations needed to define all the valid instantiationsin the proof tree correspond to the intermediateinferred facts of p

(1)

(40)(1)(1)

(3,980)

(40) (646)

The cost of a predicate p is the number of

intermediate inferred facts for p

subClassOf(‘Lecturer’,’Faculty’)

areSubClasses(S,’Faculty’)

areSubClasses(‘FullProfessor’,’Faculty’))

subClassOf(‘FullProfessor’,’Professor’)

subClassOf(‘Professor’,’Faculty’)

areSubClasses(‘Professor’,’Faculty’)

areSubClasses(‘Lecturer’,’Faculty’)

Page 19: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

19

DOB Semantics

• Correspondence valuation to mapping μ

• Given predicates R1, R2, patterns P1, P2, sets ofvariables V1, V2 , valid instantiations (R1), (R2)and operators for DOB valuations op

Evaluation of DOB operators:

– (R1 R2)I = (R1) (R2)

– (R1 R2)I = (R1) (R2)

– (R1 R2)I = (R1) (R2)

• (R1) (R2) = ( (R1) (R2))

{(X1,NULL)| X1 (R1) ¬ X2 (R2)

Y V1 V2 X1.Y=X2.Y}

Page 20: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

20

DOB physical operators

• Based on concepts of matching instantiationsand join arguments

• Cost metric is the number of intermediate inferredtriples

• Physical Operators:– Join

• Nested-Loop Join

• Block Nested-Loop Join

• Hash Join

– Left Outer Join

• Hash Left Join

– Union

• Union

Page 21: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

21

DOB physical operators

Optional pattern P2

Output

Hashing function

Result

Hash Left

Outer Join

Pattern P1

P1. OPTIONAL {P2}

Hash table

null

Page 22: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

22

DOB physical operators

Hash Left Outer Join• Create direct access table RH with set of valid

instantiations (R2), according to values of joinarguments in R2

• For each valid instantiation (R1)

– Retrieve “directly” matching instantiation (R2) in RH

through the key value

– If matching instantiation found return ( (R1), (R2))

else return (R1)

Cost(R1 R2)=cost(R1)+ cost(R2)

Page 23: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

23

Query Optimization Algorithm

• Dynamic Programming algorithm thattraverses the space of plans– The space is traversed by iterations

• First best orders of size one,

• Second best orders of size two

• … Orders of size n, where n is the size of theinput query.

– For optional patterns R1 R2, R1 takesprecedence over R2 in any ordering.

Page 24: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

24

Hybrid Cost Model -Adaptive Sampling• Identify a sample of the population such

that the mean μ of a function c applied tothe population u, may be estimated with acertain error d and confidence level p.

• Adaptive - Size of sample is re-estimatedas elements are selected from the population– Sampling efficiency vs. Precision

• Function c:– c - cost

– c - cardinality

Page 25: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

25

Adaptive Sampling - ExampleEstimating cardinalitycard(areSubClasses(S,’Faculty’))=(1/nKeys(S1)) x card(areSubClasses(S,S1))

• The population is all the valid instantiations forareSubClasses(S,S1)

• The population is partitioned according to any of its arguments,e.g. S

• There are N possible values for S, e.g. the number of classes inthe ontology, 17

• We randomly sample m partitions (3) of the formareSubClasses(‘classX’,S1), for instanceareSubClasses(’Professor’,S1), areSubClasses(‘article’,S1)..,

card(areSubClasses(S,S1))=( i=1..3 card(areSubClasses(ci,S1))/3) x 17 = 22.66

card(areSubClasses(S,’Faculty’))=(1/4) x 22.66=5.66

Page 26: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

26

Extension Hybrid cost model

Estimating cardinality of Datalog built-ins

• Datalog built-ins correspond to SPARQL built-inunary and binary functions and operators.

• P is a unary or binary built-in:– Select an argument of P and partition P

accordingly.

– card(P) = Y x n, where n is the number ofpartitions, Y is the average partition cardinality

• n is the number of the argument’s datatypeinstances in the ontology

– cost(P)=card(P)

Page 27: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

27

SPARQL Syntax and Semantics

Syntax• SPARQL graph patterns defined recursively in terms of

the “.”, “UNION”, “OPTIONAL” and “FILTER”language constructors.

Semantics• Semantics defined by Gutierrez, et. al. based on an

interpretation function . D

– From pattern expressions to sets of mappings.

– Defined recursively in terms of Join, Left Outer Joinand Union of sets of mappings

Page 28: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

28

SPARQL-DOB translation

• Translation function : P D, P set of valid

graph patterns, D set of DOB queries

• Considers cases for triples that encodeontologies written in OWL:

– Triple where predicate is an RDF property, e.g.rdf:subClassOf, owl:inverseOf

– Triple where predicate is rdf:type

• Special case where object is an RDF class, e.g.rdfs:Class, rdfs:Property

• Translates SPARQL built-in conditions intoDatalog built-ins.

Page 29: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

29

SPARQL-DOB translation

• Base cases:– (BuiltinPredPattern) = (builtinPred)( (subject), (object))

(?C rdfs:subClassOf ex:Faculty) = areSubClasses(?C, ex:Faculty)

– (RegularPattern) = areStatements( (subject), (predicate)

(object))

(?X ex:writes ex:Article) = areStatements(?X, ex:writes, ex:Article)

• Inductive cases:– (P1. OPTIONAL {P2}) = (P1) (P2)

Page 30: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

30

Initial Experimental Results• Ontologies:

– Real-world: Galen, EHR_RM

– Synthetic

• Experiments:

– Real-world - Sun-Fire V440 (1593 MHz) with 16GB RAM.

– Synthetic - SunBlade 150 (650MHz), 1 GB RAM

• System implemented in SWI-Prolog 5.6.1

• Cost metrics– Number of intermediate inferred facts

– Evaluation time

• Sampling parameters:– p = 0.7

– d = 0.2

– k = 7

Page 31: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

31

Experimental resultsPredictive capacity real-world ontologies

Correlation Galen: 0.92Correlation EHR : 0.98

190-9000 domain basicfacts

50-400 queries4 subgoalsCost of each ordering

estimated andevaluated

High correlation.

Problems uniformityand independenceassumption for somepredicates.

Estimates same orderof magnitude thanevaluation cost.

Page 32: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

32

Experimental ResultsGalen and EHR_RM

• Twenty-five queries• All the orders were evaluated

and compared the worstordering against the oneidentified by the optimizer

Ratio of optimal cost

versus the worst is less than

10%, i.e., the cost of the plan

identified by the optimizer is

less than the 10% of the cost

of the worst ordering Optimal plan cost versus the worst

Page 33: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

33

Experimental Results

Cost Improvement

Cost Optimal Ordering/Cost Worst Ordering -Galen

20 queries4 subgoals. Evaluated 24 orderings

Optimizer-generated ordering isbetter than median ordering.

Optimizer-generated ordering isin top 10% with respect to theworst ordering

Cost improvement may dependon the “shape” of the query.

Page 34: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

34

Experimental results

2200 domain basic facts10 ontologies10 chain, 10 star queries3 subgoalsCost each ordering

estimated and evaluated

Correlation synthetic: 0.92

Predictive capacity synthetic ontologies

High correlation.

Page 35: SPARQL Cost-based Query Optimization - WU Viennapolleres/SWQueryOptWS/rvaeci4.pdf · 2013-09-23 · 1 SPARQL Cost-based Query Optimization Edna Ruckhaus , Dr. María Esther Vidal,

35

Conclusions and FutureWork

• Additional physical operators have beendefined for optional patterns and union ofpatterns.

• The optimization algorithm has beenextended taking into account the non-conmutativity of the “. OPTIONAL”operator

• The cost model has been extended to handleSPARQL built-in sampling.

• In the future:

– Extend the definition to nested patterns.

– Compare OneQL with other rule-basedquery engines.