77
Evaluation of Partial Path Queries on XML Data Stefanos Souldatos (NTUA, GREECE) Xiaoying Wu (NJIT, USA) Dimitri Theodoratos (NJIT, USA) Theodore Dalamagas (NTUA, GREECE) Timos Sellis (NTUA, GREECE)

Evaluation of Partial Path Queries on XML Data

  • Upload
    oria

  • View
    59

  • Download
    0

Embed Size (px)

DESCRIPTION

Evaluation of Partial Path Queries on XML Data. Stefanos Souldatos (NTUA, GREECE) Xiaoying Wu (NJIT, USA) Dimitri Theodoratos (NJIT, USA) Theodore Dalamagas (NTUA, GREECE) Timos Sellis (NTUA, GREECE). Evaluation of Partial Path Queries on XML Data. Partial path queries Query processing - PowerPoint PPT Presentation

Citation preview

Page 1: Evaluation of Partial  Path Queries on XML Data

Evaluation of Partial Path Queries on XML Data

Stefanos Souldatos (NTUA, GREECE)Xiaoying Wu (NJIT, USA)Dimitri Theodoratos (NJIT, USA)Theodore Dalamagas (NTUA, GREECE)Timos Sellis (NTUA, GREECE)

Page 2: Evaluation of Partial  Path Queries on XML Data

Partial path queries

Query processing

Query evaluation

Experiments

Conclusion

Evaluation of Partial Path Queries on XML Data

Page 3: Evaluation of Partial  Path Queries on XML Data

3

Difficulties on Querying XML Data

Creta

theHotel.grtheHotel.gr

CretaCreta

CityCity

CityCity

ChaniaChania

IslandIsland

AthensAthens

IslandIslandLocationLocation

PorosPoros

CityCity

HeraklioHeraklioCenterCenter

Athens Creta

Page 4: Evaluation of Partial  Path Queries on XML Data

4

Difficulties on Querying XML Data

Creta

Search problemName: Xiaoying WuPlace: Athens Center, HeraklioPurpose: Sightseeing

Problem:

structural difference

Search problemName: Xiaoying WuPlace: Athens Center, HeraklioPurpose: Sightseeing

Problem:

structural difference

Parthenon (438 BC)

Phaistos’ Disk (1700

BC)

theHotel.grtheHotel.gr

CretaCreta

CityCity

CityCity

ChaniaChania

IslandIsland

AthensAthens

IslandIslandLocationLocation

PorosPoros

CityCity

HeraklioHeraklioCenterCenter

Athens Creta

Page 5: Evaluation of Partial  Path Queries on XML Data

5

Difficulties on Querying XML Data

Creta

Search problemName: Theodore DalamagasPlace: IslandsPurpose: Sea sports

Problem:

structural inconsistency

Search problemName: Theodore DalamagasPlace: IslandsPurpose: Sea sports

Problem:

structural inconsistency

theHotel.grtheHotel.gr

CretaCreta

CityCity

CityCity

ChaniaChania

IslandIsland

AthensAthens

IslandIslandLocationLocation

PorosPoros

CityCity

HeraklioHeraklioCenterCenter

Athens Creta

Windsurf

Jet ski

Page 6: Evaluation of Partial  Path Queries on XML Data

6

Difficulties on Querying XML Data

Creta

Search problem Name: Dimitri TheodoratosPlace: HeraklioPurpose: HDMS Conference

Problem:

unknown structure

Search problem Name: Dimitri TheodoratosPlace: HeraklioPurpose: HDMS Conference

Problem:

unknown structure

theHotel.grtheHotel.gr

CretaCreta

CityCity

CityCity

ChaniaChania

IslandIsland

AthensAthens

IslandIslandLocationLocation

PorosPoros

CityCity

HeraklioHeraklioCenterCenter

Athens Creta

HDMS 2008

Page 7: Evaluation of Partial  Path Queries on XML Data

7

Difficulties on Querying XML Data

Creta

theHotel.grtheHotel.gr

Search problem Name: Stefanos SouldatosPlace: Any islandPurpose: Escape from PhD!

Problem:

multiple sources

Search problem Name: Stefanos SouldatosPlace: Any islandPurpose: Escape from PhD!

Problem:

multiple sources

hotels.grhotels.gr

holidays.grholidays.gr

1400 islands

Page 8: Evaluation of Partial  Path Queries on XML Data

8

Difficulties on Querying XML Data

Creta

theHotel.grtheHotel.gr

CretaCreta

CityCity

CityCity

ChaniaChania

IslandIsland

AthensAthens

IslandIslandLocationLocation

PorosPoros

CityCity

HeraklioHeraklioCenterCenter

Athens Creta

Can we use existing query languages (XPath, XQuery) to express our queries?

Can we use existing techniques to evaluate our queries?

Page 9: Evaluation of Partial  Path Queries on XML Data

9

Path Queries in XPath

theHotel.grtheHotel.gr

CityCity IslandIsland

partial path queries

theHotel.grtheHotel.gr

CityCity

IslandIsland

theHotel.grtheHotel.gr

CityCity

IslandIsland

//theHotel.gr [descendant-or-self::*[ancestor-or-self::City] [ancestor-or-self::Island]]

/theHotel.gr/City//Island//theHotel.gr//City [descendant-or-self::*[ancestor-or-self::Island]]

no structure(keywords)

full structure(path patterns)

Page 10: Evaluation of Partial  Path Queries on XML Data

10

Partial Path Queries

root node (optional)

query node labelled by “a”

child relationship

descendant relationship

r

aa

b

r

c

da

c

partial path query

Page 11: Evaluation of Partial  Path Queries on XML Data

11

Partial Path Queries

a

b

r

c

da

cQUERY

PROCESSING a

b

r

c

d

a

partial path query partial path query

in canonical form

QUERYEVALUATION

Page 12: Evaluation of Partial  Path Queries on XML Data

Evaluation of Partial Path Queries on XML Data

Partial path queries

Query processing

Query evaluation

Experiments

Conclusion

Page 13: Evaluation of Partial  Path Queries on XML Data

13

Query Processing

a

b

r

c

da

c

1. Full form2. Satisfiability3. Redundant nodes4. Canonical form

Page 14: Evaluation of Partial  Path Queries on XML Data

14

Query Processing

a

b

r

c

da

c

IR1

INFERENCE RULES(IR1) |- r//ai

(IR2) x/y |- x//y (IR3) x//y, y//z |- x//z(IR4) x/ai, x//bj |- ai//bj(IR5) ai/x, bj//x |- bj//ai(IR6) x/y, y/w, x//z, z//w |- x/z(IR7) x/y, x//z, w/z, w//y |- x/z(IR8) x/y, y/w, x/z |- z/w(IR9) x//y, y//w, x/z |- z//w(IR10) x/y, w/y, w/z |- x/z(IR11) x//y, w/y, w//z |- x//z(IR12) x/y, y/w, z/w |- x/z(IR13) x//y, y//w, z/w |- x//z

x,y,z,w: query nodesai/bj: nodes labelled by a/b

1. Full form2. Satisfiability3. Redundant nodes4. Canonical form

Page 15: Evaluation of Partial  Path Queries on XML Data

15

Query Processing

a

b

r

c

da

cIR4

1. Full form2. Satisfiability3. Redundant nodes4. Canonical form

INFERENCE RULES(IR1) |- r//ai(IR2) x/y |- x//y (IR3) x//y, y//z |- x//z(IR4) x/ai, x//bj |- ai//bj(IR5) ai/x, bj//x |- bj//ai(IR6) x/y, y/w, x//z, z//w |- x/z(IR7) x/y, x//z, w/z, w//y |- x/z(IR8) x/y, y/w, x/z |- z/w(IR9) x//y, y//w, x/z |- z//w(IR10) x/y, w/y, w/z |- x/z(IR11) x//y, w/y, w//z |- x//z(IR12) x/y, y/w, z/w |- x/z(IR13) x//y, y//w, z/w |- x//z

x,y,z,w: query nodesai/bj: nodes labelled by a/b

Page 16: Evaluation of Partial  Path Queries on XML Data

16

Query Processing

a

b

r

c

da

c

IR4

1. Full form2. Satisfiability3. Redundant nodes4. Canonical form

INFERENCE RULES(IR1) |- r//ai(IR2) x/y |- x//y (IR3) x//y, y//z |- x//z(IR4) x/ai, x//bj |- ai//bj(IR5) ai/x, bj//x |- bj//ai(IR6) x/y, y/w, x//z, z//w |- x/z(IR7) x/y, x//z, w/z, w//y |- x/z(IR8) x/y, y/w, x/z |- z/w(IR9) x//y, y//w, x/z |- z//w(IR10) x/y, w/y, w/z |- x/z(IR11) x//y, w/y, w//z |- x//z(IR12) x/y, y/w, z/w |- x/z(IR13) x//y, y//w, z/w |- x//z

x,y,z,w: query nodesai/bj: nodes labelled by a/b

Page 17: Evaluation of Partial  Path Queries on XML Data

17

Query Processing

a

b

r

c

d

a

c

1. Full form2. Satisfiability3. Redundant nodes4. Canonical form

INFERENCE RULES(IR1) |- r//ai(IR2) x/y |- x//y (IR3) x//y, y//z |- x//z(IR4) x/ai, x//bj |- ai//bj(IR5) ai/x, bj//x |- bj//ai(IR6) x/y, y/w, x//z, z//w |- x/z(IR7) x/y, x//z, w/z, w//y |- x/z(IR8) x/y, y/w, x/z |- z/w(IR9) x//y, y//w, x/z |- z//w(IR10) x/y, w/y, w/z |- x/z(IR11) x//y, w/y, w//z |- x//z(IR12) x/y, y/w, z/w |- x/z(IR13) x//y, y//w, z/w |- x//z

x,y,z,w: query nodesai/bj: nodes labelled by a/b

Page 18: Evaluation of Partial  Path Queries on XML Data

18

Query Processing

a

b

r

c

d

a

c

1. Full form2. Satisfiability3. Redundant nodes4. Canonical form

yx

A query is unsatisfiable if its full form contains a trivial

cycle:

Page 19: Evaluation of Partial  Path Queries on XML Data

19

Query Processing

c

a

b

r

c

d

a

1. Full form2. Satisfiability3. Redundant nodes4. Canonical form

yx

y

yz

y

yx

yz

yx

y

zy

A node y is redundant if one of the following patterns occur:

a)

b)

c)

d)

Page 20: Evaluation of Partial  Path Queries on XML Data

20

Query Processing

a

b

r

c

d

a

1. Full form2. Satisfiability3. Redundant nodes4. Canonical form

canonical form of satisfiable query

=full form

– IR2 – IR3 – redundant nodes

canonical form of satisfiable query

=full form

– IR2 – IR3 – redundant nodes

The canonical form of a query is a directed acyclic graph

(dag)

Page 21: Evaluation of Partial  Path Queries on XML Data

Evaluation of Partial Path Queries on XML Data

Partial path queries

Query processing

Query evaluation

Experiments

Conclusion

Page 22: Evaluation of Partial  Path Queries on XML Data

22

Evaluation Algorithms

Based on PathStack [Bruno et al. ’02]

Produce all possible path queries… Decompose into root-to-leaf paths… PartialMJ: Decompose a spanning tree into paths…

Extending PathStack [Bruno et al. ’02]

PartialPathStack: Produce a topological order of the query nodes and extend PathStack to handle it…

Page 23: Evaluation of Partial  Path Queries on XML Data

24

Based on PathStack

dc

e

b

r

a

g

fd

c

e

b

r

a

g

fd

c

e

b

r

a

g

f

c

e

b

r

a

d

g

fd

c

e

b

r

a

g

f

1. Producing all possible path queries…

Page 24: Evaluation of Partial  Path Queries on XML Data

25

Based on PathStack

d

c

e

b

r

a

g

f

c

e

b

r

a

d

g

fd

c

e

b

r

a

g

f

d

c

e

b

r

a

g

f

d

c

b

r

a

e

g

f

1. Producing all possible path queries…

Page 25: Evaluation of Partial  Path Queries on XML Data

26

Based on PathStack

c

e

b

r

a

d

g

f

Problems:

too many queries to evaluate

multiple traversal of the XML tree

1. Producing all possible path queries…

Page 26: Evaluation of Partial  Path Queries on XML Data

27

b

r

a

d

g

f

r

ac

de

Based on PathStack

2. Decomposing into root-to-leaf paths…

b

r

a

de

r

ac

d

g

f

Page 27: Evaluation of Partial  Path Queries on XML Data

28

Based on PathStack

2. Decomposing into root-to-leaf paths…

b

r

a

d

g

f

r

ac

de

b

r

a

de

r

ac

d

g

f

PathStack

Page 28: Evaluation of Partial  Path Queries on XML Data

29

b

r

a

d

g

f

r

ac

de

Based on PathStack

2. Decomposing into root-to-leaf paths…

b

r

a

de

r

ac

d

g

fProblems:

path overlaps

more than one components to evaluate

intermediate results

Page 29: Evaluation of Partial  Path Queries on XML Data

30

Based on PathStack

PartialMJ. Using a spanning tree…

Remove edges to create a spanning tree

b

r

a

d

g

f

r

acb

r

a

de

Page 30: Evaluation of Partial  Path Queries on XML Data

31

Based on PathStack

PartialMJ. Using a spanning tree…

b

r

a

d

g

f

r

acb

r

a

de

c

e

b

r

a

d

g

f

Page 31: Evaluation of Partial  Path Queries on XML Data

32

Based on PathStack

PartialMJ. Using a spanning tree…

b

r

a

d

g

f

r

acb

r

a

de

c

e

b

r

a

d

g

f

PathStack

Page 32: Evaluation of Partial  Path Queries on XML Data

33

Based on PathStack

PartialMJ. Using a spanning tree…

b

r

a

d

g

f

r

acb

r

a

de

c

e

b

r

a

d

g

f

Join conditions (identity, structural, path)

Page 33: Evaluation of Partial  Path Queries on XML Data

34

Based on PathStack

PartialMJ. Using a spanning tree…

b

r

a

d

g

f

r

acb

r

a

de

c

e

b

r

a

d

g

f

Join conditions (identity, structural, path)

Page 34: Evaluation of Partial  Path Queries on XML Data

35

Based on PathStack

PartialMJ. Using a spanning tree…

b

r

a

d

g

f

r

acb

r

a

de

c

e

b

r

a

d

g

f

Join conditions (identity, structural, path)

Page 35: Evaluation of Partial  Path Queries on XML Data

36

Based on PathStack

PartialMJ. Using a spanning tree…

b

r

a

d

g

f

r

acb

r

a

de

c

e

b

r

a

d

g

f

Page 36: Evaluation of Partial  Path Queries on XML Data

37

Based on PathStack

PartialMJ. Using a spanning tree…

c

e

b

r

a

d

g

f Problems:

path overlaps

more than one components to evaluate

intermediate results

Page 37: Evaluation of Partial  Path Queries on XML Data

38

Extending PathStack

dc

e

b

r

a

g

f

PartialPathStack. Employ a topological order…

c

e

b

r

a

d

g

f

Page 38: Evaluation of Partial  Path Queries on XML Data

39

Extending PathStack

PartialPathStack. Employ a topological order…

c

e

b

r

a

d

g

fd

c

e

b

r

a

g

f

PartialPathStack

Page 39: Evaluation of Partial  Path Queries on XML Data

40

PartialPathStack Examplequerytree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

db

r

a

c esink

nodes

results

Page 40: Evaluation of Partial  Path Queries on XML Data

41

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r

sink nodes

results

Page 41: Evaluation of Partial  Path Queries on XML Data

42

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

results

Page 42: Evaluation of Partial  Path Queries on XML Data

43

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1 b1

sink nodes

results

Page 43: Evaluation of Partial  Path Queries on XML Data

44

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1 b1 d1

sink nodes

results

Page 44: Evaluation of Partial  Path Queries on XML Data

45

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1 b1 d1 c1

sink nodes

results

Page 45: Evaluation of Partial  Path Queries on XML Data

46

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

results

OUTPUT!!!

Page 46: Evaluation of Partial  Path Queries on XML Data

47

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

results

OUTPUT!!!

Page 47: Evaluation of Partial  Path Queries on XML Data

48

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

results

OUTPUT!!!

Page 48: Evaluation of Partial  Path Queries on XML Data

49

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

results

OUTPUT!!!

Page 49: Evaluation of Partial  Path Queries on XML Data

50

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

results

OUTPUT!!!

Page 50: Evaluation of Partial  Path Queries on XML Data

51

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

OUTPUT!!!

results

ra1b1d1c1e1

Page 51: Evaluation of Partial  Path Queries on XML Data

52

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

results

ra1b1d1c1e1

d2

Page 52: Evaluation of Partial  Path Queries on XML Data

53

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

d2 c2

OUTPUT!!!

results

ra1b1d1c1e1

Page 53: Evaluation of Partial  Path Queries on XML Data

54

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

d2 c2

OUTPUT!!!

results

ra1b1d1c1e1

Page 54: Evaluation of Partial  Path Queries on XML Data

55

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

d2 c2

OUTPUT!!!

results

ra1b1d1c1e1

Page 55: Evaluation of Partial  Path Queries on XML Data

56

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

d2 c2

OUTPUT!!!

results

ra1b1d1c1e1

Page 56: Evaluation of Partial  Path Queries on XML Data

57

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

d2 c2

OUTPUT!!!

results

ra1b1d1c1e1

Page 57: Evaluation of Partial  Path Queries on XML Data

58

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

d2 c2

OUTPUT!!!

results

ra1b1d1c1e1

ra1b1d1c2e1

Page 58: Evaluation of Partial  Path Queries on XML Data

59

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

d2 c2

results

ra1b1d1c1e1

ra1b1d1c2e1

Page 59: Evaluation of Partial  Path Queries on XML Data

60

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

d2

results

ra1b1d1c1e1

ra1b1d1c2e1

e2

OUTPUT!!!

Page 60: Evaluation of Partial  Path Queries on XML Data

61

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

d2

results

ra1b1d1c1e1

ra1b1d1c2e1

e2

OUTPUT!!!

Page 61: Evaluation of Partial  Path Queries on XML Data

62

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

d2

results

ra1b1d1c1e1

ra1b1d1c2e1

e2

OUTPUT!!!

Page 62: Evaluation of Partial  Path Queries on XML Data

63

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

d2

results

ra1b1d1c1e1

ra1b1d1c2e1

e2

OUTPUT!!!

Page 63: Evaluation of Partial  Path Queries on XML Data

64

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

d2

results

ra1b1d1c1e1

ra1b1d1c2e1

e2

OUTPUT!!!

Page 64: Evaluation of Partial  Path Queries on XML Data

65

PartialPathStack Exampletree

Sr Sa Sb Sd Sc Se

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

query

db

r

a

c e

r a1

sink nodes

b1 d1 c1 e1

d2

results

ra1b1d1c1e1

ra1b1d1c2e1

ra1b1d1c1e2

e2

OUTPUT!!!

Page 65: Evaluation of Partial  Path Queries on XML Data

66

PartialPathStack Examplequerytree

d2

e1

c1

d1

c2 e2

d1

b1

a1

r

db

r

a

c e

results

ra1b1d1c1e1

ra1b1d1c2e1

ra1b1d1c1e2

only one component to evaluate

no intermediate results

Page 66: Evaluation of Partial  Path Queries on XML Data

67

Evaluation Algorithms

Problems:

Algorithm:

Many queries /

components to evaluate

Path overlaps

Intermediate results

Produce all path queries…

Decompose into paths…

PartialMJ (spanning tree)

PartialPathStack

Page 67: Evaluation of Partial  Path Queries on XML Data

68

PartialPathStack vs PathStack

PathStack• Path queries• Indegree = 1• Outdegree = 1• O(input + output)

d

c

e

b

r

a

g

f

d

c

e

b

r

a

g

f

PartialPathStack• Partial path queries• Indegree > 1• Outdegree > 1• O(input*indegree + output*outdegree)

Page 68: Evaluation of Partial  Path Queries on XML Data

Evaluation of Partial Path Queries on XML Data

Partial path queries

Query processing

Query evaluation

Experiments

Conclusion

Page 69: Evaluation of Partial  Path Queries on XML Data

70

Queries Used in the Experiments

d

c

e

b

r

a

f

d

c

eb

r

a

f d

e

r

a

fc

b

d

e

r

a

fc

b

Q1/Q5 Q2/Q6 Q3/Q7 Q4/Q8

Page 70: Evaluation of Partial  Path Queries on XML Data

71

Experiment 1

Execution time on Treebank…2.5 million nodes

Page 71: Evaluation of Partial  Path Queries on XML Data

72

Experiment 1

path queries

Execution time on Treebank…2.5 million nodes

Page 72: Evaluation of Partial  Path Queries on XML Data

73

Experiment 1

too many results

Execution time on Treebank…2.5 million nodes

Page 73: Evaluation of Partial  Path Queries on XML Data

74

Experiment 1

2.5 million nodes(IBM AlphaWorks

XML generator)

Execution time on Synthetic data…

Page 74: Evaluation of Partial  Path Queries on XML Data

75

Experiment 2

PartialMJ

PartialPathStack

PartialPathStack

PartialMJ

PartialPathStack

PartialMJ

Q2

Q3 Q7

Execution time varying the size of the XML tree…(1 - 3 million nodes)

Page 75: Evaluation of Partial  Path Queries on XML Data

Evaluation of Partial Path Queries on XML Data

Partial path queries

Query processing

Query evaluation

Experiments

Conclusion

Page 76: Evaluation of Partial  Path Queries on XML Data

77

Conclusion

Evaluation Containment

Heuristics for

Containment

Partial Path Queries CIKM ’07 SSDBM ’06 CIKM ’06

Queries with repetitions

? SSDBM ’06 CIKM ’06

Partial Tree Queries ? SSDBM ’06 CIKM ’06

Page 77: Evaluation of Partial  Path Queries on XML Data

Questions?

Partial path queries

Query processing

Query evaluation

Experiments

Conclusion