• Aucun résultat trouvé

Querying Probabilistic XML Databases

N/A
N/A
Protected

Academic year: 2022

Partager "Querying Probabilistic XML Databases"

Copied!
41
0
0

Texte intégral

(1)

Querying Probabilistic XML Databases

Asma Souihli

Sept. 21st 2012

Network and Computer Science Department

(2)

XML

for semi-structured

data (tree-like structure)

(3)

Probabilistic Data - PrXML

Jung-Hee Yun and Chin-Wan Chung, 2012.

3

(4)

Context

Uncertainty

(5)

Context

 In many of these tasks, information is described in a semi-structured manner

 Especially when the source (e.g., XML or HTML) is already in this form

 Representation by means of a hierarchy of nodes is natural

5

(6)

Outline

1. PrXML Models

Local Dependency

Long-distance Dependency

2. Querying P-documents

Types of Queries

Probabilistic Lineage Complexity of Queries

3. The ProApproX System

Computation Algorithms

Lineage Decomposition Techniques Evaluation Plans

Experiments

4. Conclusions

(7)

PrXML Models Local Dependency

Local dependency

(mux and ind nodes)

7

(8)

Long-distance dependency

(Conjunction of independent events  cie)

Local dependency

(mux and ind nodes)

Parent node

Child Child

0.3 0.7

Ancestor node

Child Child

e2 e3 Λe4

. . .

Parent node

Parent node

. . .

e2

Parent node

Child Child

e1 ¬e1

Tractable translation

PrXML{ind,mux}

PrXML{cie}

PrXML{cie}

S. Abiteboul, B. Kimelfeld, Y. Sagiv,

(With e1 = 0.3)

Child

PrXML Models Long-distance Dependency

(9)

Repository

t1 t2

Employee

Name Details

work

Place Place

Telecom Paristech

Gaumont Pathé

Contact

Phone e-mail e-mail address

0622330011 souihli@enst.fr

asma.souihli@gmail.com

Paris 13 Asma Souihli

. . . . . .

e2

e3 e4 Λ¬e5

address

Paris 15 e5

e1 e1

e6 e7

e8

Example

Pr (e1) = .9 Pr (e2) = .8 Pr (e3) = .4 Pr (e4) = .1 Pr (e5) = .6 Pr (e6) = .3 Pr (e7) = .2 Pr (e8) = .8

9

(10)

Outline

1. PrXML Models

Local Dependency

Long-distance Dependency

2. Querying P-documents

Types of Queries

Probabilistic Lineage Complexity of Queries

3. The ProApproX System

Computation Algorithms

Lineage Decomposition Techniques Evaluation Plans

Experiments

4. Conclusions

(11)

Querying P-documents Types of Queries

o Tree Pattern Queries (TPQ)

o Tree Pattern Queries with joins (TPQJ)

11

A B C

A B

C D A

B

C D

(12)

Example

 Q1: / Employee [Name= "Asma Souihli"] // e-mail / text()

enst.fr: e2 Λ e8 Λ e1 C1

gmail.com: e2 Λ e8 Λ e6 C2

sap.com: e2 Λ e9 Λ e10 C3

gmail.com : e2 Λ e9 Λ e6 C4

Repository

t1

Employee

Name Details

Contact

e-mail e-mail

souihli@enst.fr

asma.souihli@gmail.com Asma Souihli

e2

e1 e6

e8

t2

e-mail e-mail

asma.souihli@gmail.com

e10 e6

Contact

souihli@sap.com

e9

e1 = .9 e2 = .8 e9 = .6 e10 = .7 e6 = .3 e8 = .8

(13)

Querying PrXML Probabilistic Lineage

 Probability to find an e-mail:

Pr(Q1) = Pr( C1 V C2 V C3 V C4 )

 Possible results:

Pr(

asma.souihli@gmail.com

) = Pr( C2 V C4 ) Pr(

souihli@enst.fr

) = Pr( C1 )

Pr(

souihli@sap.com

) =

Pr( C3 )

Probabilistic lineage

(DNF shape)

13

(14)

 When is a linear computation possible?

o if C

1

and C

2

are independent, then:

Pr(C1 ∧ C2) = Pr(C1) × Pr(C2)

Pr(C1 ∨ C2) = 1 − ( (1 − Pr(C1) ) × (1 − Pr(C2)) )

o if C

1

and C

2

are inconsistent (mutually exclusive), then:

Pr(C1 ∨ C2) = Pr(C1) + Pr(C2)

V

+

Λ

Querying PrXML Probabilistic Lineage

(15)

Back to the Example

Pr(

@enst.fr

) = Pr(

C1

) = Pr(e

2

Λ e

8

Λ e

1

) = .8 x .8 x.9 = 0.576

Pr(

@sap.com

)

=

Pr(

C3

) = 0.336

Pr(

@gmail.com

) = Pr(

C2 VC4

)

= (e2 Λ e8 Λ e6) V ( e2 Λ e9 Λ e6)

Factorization:

Pr

(@gmail.com) = (e2 Λ e6) Λ (e8 V e9) = .8 x .3 x (1 -(1-.8)(1-.6))

= 0.2208

e1 = .9 e2 = .8 e9 = .6 e10 = .7 e6 = .3 e8 = .8

15

(16)

Pr(Q1)

= Pr( C1 V C2 V C3 V C4 )

= Pr [ (e2 Λ e8 Λ e1) V (e2 Λ e8 Λ e6 ) V (e2 Λ e9 Λ e10 ) V (e2 Λ e9 Λ e6 ) ]

Factorization:

= Pr [e2 Λ ( (e8 Λ (e1 V e6 ) ) V (e9 Λ (e10 V e6 ) ) ) ]

Difficult to evaluate !

e1 = .9 e2 = .8 e9 = .6 e10 = .7 e6 = .3 e8 = .8

Querying PrXML Probabilistic Lineage

(17)

Solutions..

 One possible (naïve) way, is to find the truth value assignments that satisfy the propositional formula (probabilistic lineage)

(out of 2

#literals

possible assignments/worlds !)

 And sum the probabilities of these satisfying assignments to get the answer

e1 e2 e6 e8 e9 e10 Probability C1 V C2 V C3 V C4

false false false false false false 0.0845 false false false false false false true 0.3345 false false false false false true false 0.87 false

17

(18)

 Probabilities of the satisfying assignments for the DNF (lineage formula) : #P-Hard problem

o No polynomial time algorithm for the exact solution if P≠NP

o #P problems ask "how many" rather than "are there any“

How many graph coloring using k colors are there for a particular graph G?

Querying PrXML Complexity of Queries

(19)

 A union of sets (clauses) problem:

#P-Hard problem

19

J j

j J

k

|J|J {1,...,n}

J n

1 k

1 k n

1 i

i

n 1

C C

where:

) (C Pr )

1 ( )

C ( Pr

s:

ple become ion princi

ion-exclus the inclus

. . .C auses C ilistic cl

ent probab For depend

) C (C

) - (C )

(C )

C (C

) (e ).

(e ) .

(e )

C (C

) (e ) .

(e )

(C

) (e ) .

(e )

(C

2 1

2 1

2 1

3 2

1 2

1

3 2

2

2 1

1

Pr Pr

Pr Pr

Pr Pr

Pr Pr

Pr Pr

Pr

Pr Pr

Pr

Querying PrXML Complexity of Queries

(20)

Outline

1. PrXML Models

Local Dependency

Long-distance Dependency

2. Querying P-documents

Types of Queries

Probabilistic Lineage Complexity of Queries

3. The ProApproX System

Computation Algorithms

Lineage Decomposition Techniques Evaluation Plans

Experiments

4. Conclusions

(21)

Translates into a probabilistic database with only cie nodes

Translates the user query into a lineage query

21

Query translation

BaseX

(querying) PrXML database

ProApproX (Processing)

Lineage

preprocessing Compilation Exploration (best

execution plan) Computation

User input : XPath Query

Q

5 Result Pr(Q) Answer

1 2 3

4

User Interface

The ProApproX System

[CIKM 2012, SIGMOD 2011]

(22)

Back to the Example

Q1: / Employee [Name= "Asma Souihli"] // e-mail / text()

To get the lineage for the boolean projection :

for $x1 in /employee

for $x2 in $x1/name[.="Asma Souihli"]

for $x3 in $x1//email/text() let $leaves:=($x2,$x3)

let $atts:=(for $i in $leaves return $i/ancestor-or-self::*/attribute(event)) return text{distinct-values(for $att in $atts return string($att))}

 To get lineages of answers:

for $val in distinct-values(/employee [name="Asma Souihli"]//email/text()) order by $val

return <match>

{$val}{

for $x1 in /employee

for $x2 in $x1/name[.="Asma Souihli "]

for $x3 in $x1//email/text() let $leaves:=($x2,$x3)

let $atts:=(for $i in $leaves return $i/ancestor-or-self::*/attribute(event)) where $x3=$val

return <clause>{distinct-values(for $att in $atts return string($att))}</clause>

(23)

Translates into a probabilistic database with only cie nodes

Translates the user query into a lineage query

Is built on top of a native XML DBMS

Processes the lineage formula to get the probability of the query (and of each matching answer)

23

Query translation

BaseX

(querying) PrXML database

ProApproX (Processing)

Lineage

preprocessing Compilation Exploration (best

execution plan) Computation

User input : XPath Query

Q

5 Result Pr(Q) Answer

1 2 3

4

User Interface

The ProApproX System

[CIKM 2012, SIGMOD 2011]

(24)

Additive approximation:

o For a fixed error ε and a DNF F, A(F) is an additive

ε-approximation of Pr(F) with a probability of at least δ (a fixed reliability factor) if:

Pr(F) - ε A(F) ≤ Pr(F) + ε

Multiplicative Approximation

o For a fixed error ε, a DNF F, A(F) is an multiplicative

ε-approximation of Pr(F) with a probability of at least δ if:

(1 - ε) Pr(F) ≤ A(F) ≤ (1 + ε) Pr(F)

The ProApproX System Computation Algorithms

(25)

DEMO 1

[SIGMOD 2011]

25

(26)

26

The ProApproX System Computation Algorithms

Exact Computations:

o The naïve algorithm – Possible worlds

Finding the satisfying assignments out of 2#variables possible truth value assignments

𝑂 (2

n

)

o The sieve algorithm – The inclusion-exclusion principle

Exponential in the number of clauses m

𝑂 (2

m

)

(27)

Approximations:

o Naïve Monte Carlo sampling for additive app. :

Linear but could take exponentially many samples to converge to a good approximation for low probabilities

o Biased Monte Carlo sampling for multiplicative app. :

Running time grows in 𝑂(𝑛3ln 𝑛) in the number of clauses

o Self-Adjusting Coverage Algorithm for the DNF probability problem:

Linear in the length of F times ln(1/𝛿) /𝜀2

27

M. Karp, M. Luby, and N. Madras. 1989

Kimelfeld, Kosharovsky, and Sagiv.

2009

The ProApproX System Computation Algorithms

(28)

The ProApproX System Computation Algorithms

Possibility to derive a multiplicative approximation from an additive approximation (and vice versa)

Cost models and cost constants:

(29)

29

e3 Λ (e4 V e5) Factorization

Exact /naïve Algo. OR Approximation

Pr(F)

+

V

Λ V Λ

The ProApproX System

Lineage Decomposition Techniques

(e6 Λ e8)

(e1 Λ e2) V (e3 Λ e4) V (e3 Λ e5) V (¬e3) V (e6 Λ e7) V V (e8)

F

=

(30)

DEMO 2

[CIKM 2012]

(31)

 Propagation of 𝜀 (and 𝛿) :

 Many possible values for 𝜀

1

and 𝜀

2

can be found

 Best assignments are not always obvious

31

The ProApproX System

Evaluation Plans

Proposition1. Let 𝜙 = 𝜓1 𝜓2, and assume p̃1 and p̃2 are additive

approximations of Pr(𝜓1) and Pr(𝜓2), to a factor of 𝜀1and 𝜀2, respectively.

Then 1-(1- p̃1)(1- p̃2) is an additive approximation of Pr(𝜙) to a factor of 𝜀 if:

𝜀

1

+ 𝜀

2

+ 𝜀

1

𝜀

2

𝜀

V

(32)

The ProApproX System

Possible Evaluation Plans

Deterministic exploration:

cost𝜓1=1

cost𝜙=200

cost𝜓2=35

cost𝜓3=8

cost𝜓4=6 cost𝜓7=1

cost𝜓8=15

cost𝜓5=3 cost𝜓6=2

cost𝜓9=8 cost𝜓10=12

cost𝜓11=10 cost𝜓12=9

(33)

Running time of the different algorithms on the MondialDB dataset

The ProApproX System Experiments

33

(34)

Proportion of time (MondialDB - Best Tree )

Relative error on the probabilities computed by the algorithm on the MondialDB over each non join query with respect to the

exact probability values (𝜀 = 0.1, 𝛿 = 95%)

The ProApproX System Experiments

(35)

Running time of the different algorithms on a given query of

the movie dataset.

(times greater than 5s are not shown)

The ProApproX System Experiments

35

(36)

Running time of the different algorithms on the synthetic dataset

The ProApproX System Experiments

(37)

Outline

1. PrXML Models

Local Dependency

Long-distance Dependency

2. Querying P-documents

Types of Queries

Probabilistic Lineage Complexity of Queries

3. The ProApproX System

Lineage Decomposition Techniques Computation Algorithms

Demo

Evaluation Plans Experiments

4. Conclusions

37

(38)

Contributions

 We have introduced an original optimizer-like approach to evaluating query results over

probabilistic XML

 Over a more expressive PrXML model

 Positive tree-pattern queries, possibly with joins

[Submitted ICDE 2013]

(39)

Contributions

 Main observation - optimal probability evaluation algorithm to use depends on the characteristics of the formula:

o Few variables naïve algorithm o Few clauses sieve algorithm

o Monte-Carlo is very good at approximating high probabilities

o Sometimes the structure of a query makes the probability of a query easy to evaluate (EvalDP)

o Refined approximation methods best when everything else fails (coverage)

39

(40)

 Exploiting the structure of the query to obtain factorized lineage

 Most evaluation algorithms scale effortlessly (with the exception of the self-adjusting coverage algorithm, which requires synchronization)

o distribute the probability computation over multi-core or distributed architectures

 Processing DNFs, but the technique could probably be extended to arbitrary formulas

 Define the range of negated TPQ queries having a DNF lineage

Perspectives

(41)

Thank you.

Références

Documents relatifs

Our system, ProApproX, has the characteristic of not relying on a single algorithm to evaluate the probability of a lineage formula but of deciding on the algorithm to be used based

 Processes the lineage formula to get the probability of the query (and of each matching

The demonstration presents the graphical user interface of ProApproX 2.0, that allows a user to input an XPath query and approximation parameters, and lists query results with

Reconciling Web Data Models with the Actual Web Applying Probabilistic XML to Web data Formal Models for Web Content Acquisition.. Applying Probabilistic XML to

Proof PrXML {mux,det} poly o PrXML {ind,mux} is trivial, because a det node is a special case of an ind node (i.e., every child is chosen with probability 1).. We efficiently

As our focus in this paper is on polynomial time algorithms for view-based rewriting, it is thus natural to ask if view-based rewriting over probabilistic data remains tractable

The abstract production rules listed in Table 2 (written using EBNF) connect the terms of syntactic domains from the previous section into logical parts with suitable level of

Many problems, such as query answering [8], have been studied over such repre- sentations; however, to our knowledge, the possibility problem (P OSS ) has not been specifically