Type Based XML Projection

Size: px
Start display at page:

Download "Type Based XML Projection"

Transcription

1 1/90, Type Based XML Projection VLDB 2006, Seoul, Korea Véronique Benzaken Dario Colazzo Giuseppe Castagna Kim Nguy ên : Équipe Bases de Données, LRI, Université Paris-Sud 11, Orsay, France : Équipe Langage, DI, École Normale Supérieure, Paris, France

2 2/90, Outline 1 Introduction 2 Notations 3 Algorithm 4 Formal results 5 Experiments 6 Conclusion

3 3/90, Outline 1 Introduction 2 Notations 3 Algorithm 4 Formal results 5 Experiments 6 Conclusion

4 Main memory query (XQuery) processing 4/90,

5 4/90, Main memory query (XQuery) processing Pros : Lightweight system

6 4/90, Main memory query (XQuery) processing Pros : Lightweight system Easy to program and integrate into an existing architecture

7 4/90, Main memory query (XQuery) processing Pros : Lightweight system Easy to program and integrate into an existing architecture Cons : DOM like data-models are memory killers.

8 4/90, Main memory query (XQuery) processing Pros : Lightweight system Easy to program and integrate into an existing architecture Cons : DOM like data-models are memory killers.

9 We can use pruning to reduce the amount of data needed in main memory! 9/90,

10 9/90, We can use pruning to reduce the amount of data needed in main memory! Exemple : for $x in $doc/descendant-or-self::title/child::text() return $x

11 9/90, We can use pruning to reduce the amount of data needed in main memory! Exemple : for $x in $doc/descendant-or-self::title/child::text() return $x <bib> <book year="1994"> <title>tcp/ip Illustrated</title> <author><last>stevens</last><first>w.</first></author> <publisher>addison-wesley</publisher> <price>65.95</price> </book> <book year="1992"> <title>advanced Programming in the Unix environment</title> <author><last>stevens</last><first>w.</first></author> <publisher>addison-wesley</publisher> <price>65.95</price> </book>... </bib>

12 12/90, Projecting XML Documents, Amélie Marian and Jérome Siméon, VLDB Queries + document analysis to compute the pruning : + Algorithm is formally specied + Achieve high precision in pruning Does not take into account backward axis. Performances degrade in the presence of // Indeed, for some queries, pruning the document is more expensive than actually executing the query.

13 13/90, Solution : Queries + type based optimisations By using a DTD and a given set of queries, we can statically infer a projector for the set of queries and use it to prune the document. Main advantages : Ecient : no additional cost at runtime Take into account backward axis Soundness : executing the query on the projected document gives the same result as on the original. Precision (and even exact for a large class of DTDs and queries).

14 14/90, Outline 1 Introduction 2 Notations 3 Algorithm 4 Formal results 5 Experiments 6 Conclusion

15 15/90, Denition (DTD) A DTD is a pair (X, E) where X is a distinguished name (the root) and E is a set of productions of the form where each R i is of the form : {X 1 R 1,..., X n R n } a i [Regexp] or String where a i is a unique tag name and Regexp a regular expression of X i. Names(E) is the set of names occuring in E.

16 16/90, Denition (Projector) For a given DTD (X, E) a type projector for (X, E) is a set of names P such that : 1 P Names(E) 2 X i P there is at least one derivation from X to X i in E

17 17/90, Denition (Pruning) The pruning (or projection) of a document D valid w.r.t a DTD (X, E) with the projector P is a document D where every node not generated by a name in P is erased (replaced by the empty sequence).

18 17/90, Denition (Pruning) The pruning (or projection) of a document D valid w.r.t a DTD (X, E) with the projector P is a document D where every node not generated by a name in P is erased (replaced by the empty sequence). a <!ELEMENT a (b,c)> <!ELEMENT b <!ELEMENT c (d,e)> (d,e)> b c <!ELEMENT d (#PCDATA)> <!ELEMENT e (#PCDATA)> d e

19 for $x in $doc/descendant-or-self::c return $x 19/90,

20 for $x in $doc/descendant-or-self::c return $x X a a[x b, X c ] X b b[x d, X e ] X c c[x d, X e ] X d String X e String <a> <b> <d>lotsofdata</d> <e>superlongstring<e/> </b> <c> <d>bar</d> <e>foo<e/> </c> </a> 19/90,

21 for $x in $doc/descendant-or-self::c return $x X a a[x b, X c ] X b b[x d, X e ] X c c[x d, X e ] X d String X e String <a> <b> <d>lotsofdata</d> <e>superlongstring<e/> </b> <c> <d>bar</d> <e>foo<e/> </c> </a> P = {X a, X c, X d, X e } <a> <b> <d>lotsofdata</d> <e>superlongstring<e/> </b> <c> <d>foo</d> <e>bar<e/> </c> </a> 19/90,

22 for $x in $doc/descendant-or-self::c return $x X a a[x b, X c ] X b b[x d, X e ] X c c[x d, X e ] X d String X e String <a> <b> <d>lotsofdata</d> <e>superlongstring<e/> </b> <c> <d>bar</d> <e>foo<e/> </c> </a> P = {X a, X c, X d, X e } <a> <b> <d>lotsofdata</d> <e>superlongstring<e/> </b> <c> <d>foo</d> <e>bar<e/> </c> </a> 19/90,

23 23/90, Denition (XPath (1.0)) Q ::= Axis :: Test Axis :: Test[Expr] Q/Q Expr := Q Expr op Expr f(expr,..., Expr) Base Axis ::= self child descendant parent ancestor... Test ::= tag node() text() Denition (Simple path) Q ::= Axis :: Test Axis :: Test[Cond] Q/Q SPath ::= Axis :: Test Axis :: Test/SPath Cond := SPath Cond or Cond

24 24/90, Outline 1 Introduction 2 Notations 3 Algorithm 4 Formal results 5 Experiments 6 Conclusion

25 25/90, Overall process Static inference : DTD

26 25/90, Overall process Static inference : DTD Q1 XQuery Q2 Q3 Q4 Q5

27 25/90, Overall process Static inference : DTD XQuery Q2 Q3 Q1 Q4 Q5 P

28 25/90, Overall process Runtime : D1 D3 D2 D1

29 25/90, Overall process Runtime : D1 D3 D2 D1 P

30 25/90, Overall process Runtime : D1 D3 D2 D1 P D 1 D 1 D 2 D 1

31 D1 R3 R2 R1 25/90, Overall process Runtime : D1 D3 D2 D1 P D 1 D 1 D 2 D 1 XQuery Q2 Q3 Q1 Q4 Q5

32 32/90, Static inference Q1 XQuery Q2 Q3 Q4 Q5

33 32/90, Static inference XQuery Q2 Q3 Q1 Q4 Q5 XPath XPath 1 XPath 2 XPath 7 XPath 3 XPath XPath 1 XPath 6 XPath 4 XPath XPath 1 5

34 32/90, Static inference XQuery Q2 Q3 Q1 Q4 Q5 XPath XPath 1 XPath 2 XPath 7 XPath 3 XPath XPath 1 XPath 6 XPath 4 XPath XPath 1 5 SPath XPath 11 SPath 2 SPath 7 SPath 3 SPath XPath 1 XPath 6 SPath 4 SPath SPath 1 5

35 32/90, Static inference XQuery Q2 Q3 Q1 Q4 Q5 XPath XPath 1 XPath 2 XPath 7 XPath 3 XPath XPath 1 XPath 6 XPath 4 XPath XPath 1 5 SPath XPath 11 SPath 2 SPath 7 SPath 3 SPath XPath 1 XPath 6 SPath 4 SPath SPath 1 5 SPath 1

36 32/90, Static inference XQuery Q2 Q3 Q1 Q4 Q5 XPath XPath 1 XPath 2 XPath 7 XPath 3 XPath XPath 1 XPath 6 XPath 4 XPath XPath 1 5 SPath XPath 11 SPath 2 SPath 7 SPath 3 SPath XPath 1 XPath 6 SPath 4 SPath SPath 1 5 SPath 1 DTD

37 32/90, Static inference XQuery Q2 Q3 Q1 Q4 Q5 XPath XPath 1 XPath 2 XPath 7 XPath 3 XPath XPath 1 XPath 6 XPath 4 XPath XPath 1 5 SPath XPath 11 SPath 2 SPath 7 SPath 3 SPath XPath 1 XPath 6 SPath 4 SPath SPath 1 5 SPath 1 Type Projector Inference DTD Type Inference

38 32/90, Static inference XQuery Q2 Q3 Q1 Q4 Q5 XPath XPath 1 XPath 2 XPath 7 XPath 3 XPath XPath 1 XPath 6 XPath 4 XPath XPath 1 5 SPath XPath 11 SPath 2 SPath 7 SPath 3 SPath XPath 1 XPath 6 SPath 4 SPath SPath 1 5 SPath 1 Type Projector Inference DTD Type Inference P1

39 32/90, Static inference XQuery Q2 Q3 Q1 Q4 Q5 XPath XPath 1 XPath 2 XPath 7 XPath 3 XPath XPath 1 XPath 6 XPath 4 XPath XPath 1 5 SPath XPath 11 SPath 2 SPath 7 SPath 3 SPath XPath 1 XPath 6 SPath 4 SPath SPath 1 5 SPath SPath 12 3 DTD Type Projector Inference Type Inference P1 P2 P1

40 32/90, Static inference XQuery Q2 Q3 Q1 Q4 Q5 XPath XPath 1 XPath 2 XPath 7 XPath 3 XPath XPath 1 XPath 6 XPath 4 XPath XPath 1 5 SPath XPath 11 SPath 2 SPath 7 SPath 3 SPath XPath 1 XPath 6 SPath 4 SPath SPath 1 5 SPath SPath 12 3 Type Projector Inference DTD Type Inference P1 P2 P1 P

41 41/90, Type inference typeinf(dtd,{x},path) = T Type T is the set of names of types of nodes in the result.

42 41/90, Type inference typeinf(dtd,{x},path) = T Type T is the set of names of types of nodes in the result. T = query gives an empty result on any document.

43 41/90, Type inference typeinf(dtd,{x},path) = T Type T is the set of names of types of nodes in the result. T = query gives an empty result on any document. /self::a/child::b/child::d

44 Type inference typeinf(dtd,{x},path) = T Type T is the set of names of types of nodes in the result. T = query gives an empty result on any document. /self::a/child::b/child::d 1 typeinf(dtd,{x a },self::a)= {X a } a b c d e 41/90,

45 Type inference typeinf(dtd,{x},path) = T Type T is the set of names of types of nodes in the result. T = query gives an empty result on any document. /self::a/child::b/child::d 1 typeinf(dtd,{x a },self::a)= {X a } 2 typeinf(dtd,{x a },child::b)= {X b } a b c d e 41/90,

46 Type inference typeinf(dtd,{x},path) = T Type T is the set of names of types of nodes in the result. T = query gives an empty result on any document. /self::a/child::b/child::d 1 typeinf(dtd,{x a },self::a)= {X a } 2 typeinf(dtd,{x a },child::b)= {X b } 3 typeinf(dtd,{x b },child::d)= {X d } b a c d e 41/90,

47 Type inference typeinf(dtd,{x},path) = T Type T is the set of names of types of nodes in the result. T = query gives an empty result on any document. /self::a/child::b/child::d 1 typeinf(dtd,{x a },self::a)= {X a } 2 typeinf(dtd,{x a },child::b)= {X b } 3 typeinf(dtd,{x b },child::d)= {X d } P = {X a, X b, X d } b a c d e 41/90,

48 //*/self::b/child::d 48/90,

49 48/90, //*/self::b/child::d 1 typeinf(dtd,{x a },//*) a b c d e

50 48/90, //*/self::b/child::d 1 typeinf(dtd,{x a },//*) a b c d e

51 48/90, //*/self::b/child::d 1 typeinf(dtd,{x a },//*) 1 typeinf(dtd,{x b },self::b/child::d)= {X d } a b c d e

52 48/90, //*/self::b/child::d 1 typeinf(dtd,{x a },//*) 1 typeinf(dtd,{x b },self::b/child::d)= {X d } 2 typeinf(dtd,{x c },self::b/child::d)= b a c d e

53 48/90, //*/self::b/child::d 1 typeinf(dtd,{x a },//*) 1 typeinf(dtd,{x b },self::b/child::d)= {X d } 2 typeinf(dtd,{x c },self::b/child::d)= 3 typeinf(dtd,{x d },self::b/child::d)= b a c d e

54 48/90, //*/self::b/child::d 1 typeinf(dtd,{x a },//*) 1 typeinf(dtd,{x b },self::b/child::d)= {X d } 2 typeinf(dtd,{x c },self::b/child::d)= 3 typeinf(dtd,{x d },self::b/child::d)= 4 typeinf(dtd,{x e },self::b/child::d)= b a c d e

55 48/90, //*/self::b/child::d 1 typeinf(dtd,{x a },//*) 2 typeinf(dtd,{x b },self::b)= {X b } a b c d e

56 48/90, //*/self::b/child::d 1 typeinf(dtd,{x a },//*) 2 typeinf(dtd,{x b },self::b)= {X b } 3 typeinf(dtd,{x b },child::d)= {X d } b a c d e

57 48/90, //*/self::b/child::d 1 typeinf(dtd,{x a },//*) 2 typeinf(dtd,{x b },self::b)= {X b } 3 typeinf(dtd,{x b },child::d)= {X d } P = {X a, X b, X d } b a c d e

58 /self::a/child::b/child::d/parent::node()/child::d 58/90,

59 58/90, /self::a/child::b/child::d/parent::node()/child::d 1 typeinf(dtd,{x a },self::a)= {X a } 2 typeinf(dtd,{x a },child::b)= {X b } 3 typeinf(dtd,{x b },child::d)= {X d } b a c d e

60 58/90, /self::a/child::b/child::d/parent::node()/child::d 1 typeinf(dtd,{x a },self::a)= {X a } 2 typeinf(dtd,{x a },child::b)= {X b } 3 typeinf(dtd,{x b },child::d)= {X d } 4 typeinf(dtd,{x d },parent::node())= {X b, X c } b a c d e

61 58/90, /self::a/child::b/child::d/parent::node()/child::d 1 typeinf(dtd,{x a },{X a },self::a)= {X a } a b c d e

62 58/90, /self::a/child::b/child::d/parent::node()/child::d 1 typeinf(dtd,{x a },{X a },self::a)= {X a } 2 typeinf(dtd,{x a },{X a },child::b)= {X b } a b c d e

63 58/90, /self::a/child::b/child::d/parent::node()/child::d 1 typeinf(dtd,{x a },{X a },self::a)= {X a } 2 typeinf(dtd,{x a },{X a },child::b)= {X b } 3 typeinf(dtd,{x b },{X a, X b },child::d)= {X d } b a c d e

64 58/90, /self::a/child::b/child::d/parent::node()/child::d 1 typeinf(dtd,{x a },{X a },self::a)= {X a } 2 typeinf(dtd,{x a },{X a },child::b)= {X b } 3 typeinf(dtd,{x b },{X a, X b },child::d)= {X d } 4 typeinf(dtd,{x d },{X a, X b, X d },parent:: node())= {X b } b a c d e

65 58/90, /self::a/child::b/child::d/parent::node()/child::d 1 typeinf(dtd,{x a },{X a },self::a)= {X a } 2 typeinf(dtd,{x a },{X a },child::b)= {X b } 3 typeinf(dtd,{x b },{X a, X b },child::d)= {X d } 4 typeinf(dtd,{x d },{X a, X b, X d },parent:: node())= {X b } 5 typeinf(dtd,{x b },{X a, X b, X d },child::d)= {X d } b a c d e

66 58/90, /self::a/child::b/child::d/parent::node()/child::d 1 typeinf(dtd,{x a },{X a },self::a)= {X a } 2 typeinf(dtd,{x a },{X a },child::b)= {X b } 3 typeinf(dtd,{x b },{X a, X b },child::d)= {X d } 4 typeinf(dtd,{x d },{X a, X b, X d },parent:: node())= {X b } 5 typeinf(dtd,{x b },{X a, X b, X d },child::d)= {X d } b a c P = {X a, X b, X d } d e

67 67/90, Outline 1 Introduction 2 Notations 3 Algorithm 4 Formal results 5 Experiments 6 Conclusion

68 68/90, Soundness Theorem (Soundness) Let D be a document valid w.r.t a DTD (X, E) and p a path. Let P the type projector deduced from p. Let D be the projection of D with P. eval(p,d) = eval(p,d )

69 69/90, Completeness Pruning is precise...

70 69/90, Completeness Pruning is precise... Theorem (Completeness) P = {X 1,..., X n } the type projector associated with a path p and a DTD (X, E). Let P = P\{X i }. There exists D a document and it's projection D such that : eval(p,d) eval(p,d ) Completeness holds with : some restrictions on the DTD (star-guarded, non-recursive,... )

71 69/90, Completeness Pruning is precise... Theorem (Completeness) P = {X 1,..., X n } the type projector associated with a path p and a DTD (X, E). Let P = P\{X i }. There exists D a document and it's projection D such that : eval(p,d) eval(p,d ) Completeness holds with : some restrictions on the DTD (star-guarded, non-recursive,... ) some restrictions on the path (no upward axis in predicates,... )

72 69/90, Completeness Pruning is precise... Theorem (Completeness) P = {X 1,..., X n } the type projector associated with a path p and a DTD (X, E). Let P = P\{X i }. There exists D a document and it's projection D such that : eval(p,d) eval(p,d ) Completeness holds with : some restrictions on the DTD (star-guarded, non-recursive,... ) some restrictions on the path (no upward axis in predicates,... )

73 69/90, Completeness Pruning is precise... Theorem (Completeness) P = {X 1,..., X n } the type projector associated with a path p and a DTD (X, E). Let P = P\{X i }. There exists D a document and it's projection D such that : eval(p,d) eval(p,d ) Completeness holds with : some restrictions on the DTD (star-guarded, non-recursive,... ) some restrictions on the path (no upward axis in predicates,... )

74 74/90, Outline 1 Introduction 2 Notations 3 Algorithm 4 Formal results 5 Experiments 6 Conclusion

75 75/90, Protocol : Linux desktop, 512MB Ram, 3Ghz x86 CPU (and no swap). Implementation in OCaml. Validity of the result checked with the Galax query engine. Pruning tested on XMark and XPathMark benchmarks.

76 75/90, Protocol : Linux desktop, 512MB Ram, 3Ghz x86 CPU (and no swap). Implementation in OCaml. Validity of the result checked with the Galax query engine. Pruning tested on XMark and XPathMark benchmarks. Prunning is one pass buerless traversal of the document. In practice, computing the type projector is fast.

77 77/90, Memory (in MB) QM03 QM06 QM07 QM14 QM15 QM19 QP01 QP02 QP03 QP04 QP05 QP06 QP07 QP08 QP09 QP10 QP11 QP12 QP13 QP21 QP23 Original document Query Projected document Axes present in the query Runtime conditions Memory used to process a 56 MB document with Galax.

78 78/90, Gain QM03 QM06 QM07 QM14 QM15 QM19 Original Size (MB) Pruned Size(MB) 25 5, Memory Usage (MB) % of original size Gain in Speed ( faster)

79 79/90, Comparison with previous work Qualitative : type projectors are always comparable and serval times more precise.

80 79/90, Comparison with previous work Qualitative : type projectors are always comparable and serval times more precise. Performances : pruning is linear in time (in the size of the document) and constant in memory. It can be done while validating the document.

81 79/90, Comparison with previous work Qualitative : type projectors are always comparable and serval times more precise. Performances : pruning is linear in time (in the size of the document) and constant in memory. It can be done while validating the document. Features : handles backward as well as following/preceding axes.

82 82/90, Outline 1 Introduction 2 Notations 3 Algorithm 4 Formal results 5 Experiments 6 Conclusion

83 83/90, Conclusion Formal foundations ensure validity of the pruning and it's eciency.

84 83/90, Conclusion Formal foundations ensure validity of the pruning and it's eciency. Handle any XQuery query, either directly or by approximating it.

85 83/90, Conclusion Formal foundations ensure validity of the pruning and it's eciency. Handle any XQuery query, either directly or by approximating it. Whereas approximations are made for runtime conditions, the technique still preserve a high degree of precision.

86 83/90, Conclusion Formal foundations ensure validity of the pruning and it's eciency. Handle any XQuery query, either directly or by approximating it. Whereas approximations are made for runtime conditions, the technique still preserve a high degree of precision. No additional cost at runtime.

87 87/90, Future work Many directions : Adapt our approach to work on untyped documents by using data-guides or path summaries.

88 87/90, Future work Many directions : Adapt our approach to work on untyped documents by using data-guides or path summaries. Extend the formalism to handle XML-Schema rather than DTDs.

89 87/90, Future work Many directions : Adapt our approach to work on untyped documents by using data-guides or path summaries. Extend the formalism to handle XML-Schema rather than DTDs. Integration with classical databases techniques.

90 87/90, Future work Many directions : Adapt our approach to work on untyped documents by using data-guides or path summaries. Extend the formalism to handle XML-Schema rather than DTDs. Integration with classical databases techniques. Integration with a query engine.

Advances in Programming Languages

Advances in Programming Languages T O Y H Advances in Programming Languages APL17: XML processing with CDuce David Aspinall (see final slide for the credits and pointers to sources) School of Informatics The University of Edinburgh Friday

More information

XML databases. Jan Chomicki. University at Buffalo. Jan Chomicki (University at Buffalo) XML databases 1 / 9

XML databases. Jan Chomicki. University at Buffalo. Jan Chomicki (University at Buffalo) XML databases 1 / 9 XML databases Jan Chomicki University at Buffalo Jan Chomicki (University at Buffalo) XML databases 1 / 9 Outline 1 XML data model 2 XPath 3 XQuery Jan Chomicki (University at Buffalo) XML databases 2

More information

Optimizing XML Querying using Type-based Document Projection

Optimizing XML Querying using Type-based Document Projection Optimizing XML Querying using Type-based Document Projection Véronique Benzaken, Giuseppe Castagna, Dario Colazzo, Kim Nguyễn To cite this version: Véronique Benzaken, Giuseppe Castagna, Dario Colazzo,

More information

XML and Databases. Lecture 10 XPath Evaluation using RDBMS. Sebastian Maneth NICTA and UNSW

XML and Databases. Lecture 10 XPath Evaluation using RDBMS. Sebastian Maneth NICTA and UNSW XML and Databases Lecture 10 XPath Evaluation using RDBMS Sebastian Maneth NICTA and UNSW CSE@UNSW -- Semester 1, 2009 Outline 1. Recall pre / post encoding 2. XPath with //, ancestor, @, and text() 3.

More information

XML and Databases. Outline. Outline - Lectures. Outline - Assignments. from Lecture 3 : XPath. Sebastian Maneth NICTA and UNSW

XML and Databases. Outline. Outline - Lectures. Outline - Assignments. from Lecture 3 : XPath. Sebastian Maneth NICTA and UNSW Outline XML and Databases Lecture 10 XPath Evaluation using RDBMS 1. Recall / encoding 2. XPath with //,, @, and text() 3. XPath with / and -sibling: use / size / level encoding Sebastian Maneth NICTA

More information

Schemas for Safe and Efficient XML Processing

Schemas for Safe and Efficient XML Processing Schemas for Safe and Efficient XML Processing Dario Colazzo Université Paris Sud - INRIA Giorgio Ghelli Università di Pisa Carlo Sartiani Università della Basilicata Tutorial Outline Overview of schema

More information

Semi-structured Data. 8 - XPath

Semi-structured Data. 8 - XPath Semi-structured Data 8 - XPath Andreas Pieris and Wolfgang Fischl, Summer Term 2016 Outline XPath Terminology XPath at First Glance Location Paths (Axis, Node Test, Predicate) Abbreviated Syntax What is

More information

XML Technologies. Doc. RNDr. Irena Holubova, Ph.D. Web pages:

XML Technologies. Doc. RNDr. Irena Holubova, Ph.D. Web pages: XML Technologies Doc. RNDr. Irena Holubova, Ph.D. holubova@ksi.mff.cuni.cz Web pages: http://www.ksi.mff.cuni.cz/~holubova/nprg036/ Outline Introduction to XML format, overview of XML technologies DTD

More information

Semantic Subtyping. Alain Frisch (ENS Paris) Giuseppe Castagna (ENS Paris) Véronique Benzaken (LRI U Paris Sud)

Semantic Subtyping.  Alain Frisch (ENS Paris) Giuseppe Castagna (ENS Paris) Véronique Benzaken (LRI U Paris Sud) Semantic Subtyping Alain Frisch (ENS Paris) Giuseppe Castagna (ENS Paris) Véronique Benzaken (LRI U Paris Sud) http://www.cduce.org/ Semantic Subtyping - Groupe de travail BD LRI p.1/28 CDuce A functional

More information

CSE 344 Final Examination

CSE 344 Final Examination CSE 344 Final Examination June 8, 2011, 8:30am - 10:20am Name: This exam is a closed book exam. Question Points Score 1 20 2 20 3 30 4 25 5 35 6 25 7 20 8 25 Total: 200 You have 1h:50 minutes; budget time

More information

Schema-Based Independence Analysis for XML Updates

Schema-Based Independence Analysis for XML Updates Schema-Based Independence Analysis for XML Updates Michael Benedikt University of Oxford michael.benedikt@comlab.ox.ac.uk James Cheney University of Edinburgh jcheney@inf.ed.ac.uk ABSTRACT Query-update

More information

Chapter 13 XML: Extensible Markup Language

Chapter 13 XML: Extensible Markup Language Chapter 13 XML: Extensible Markup Language - Internet applications provide Web interfaces to databases (data sources) - Three-tier architecture Client V Application Programs Webserver V Database Server

More information

Combined Static and Dynamic Analysis for Effective Buffer Minimization in Streaming XQuery Evaluation

Combined Static and Dynamic Analysis for Effective Buffer Minimization in Streaming XQuery Evaluation Combined Static and Dynamic Analysis for Effective Buffer Minimization in Streaming XQuery Evaluation Michael Schmidt Stefanie Scherzinger Christoph Koch Saarland University Database Group, Germany {schmidt,scherzinger,koch}@infosys.uni-sb.de

More information

One of the main selling points of a database engine is the ability to make declarative queries---like SQL---that specify what should be done while

One of the main selling points of a database engine is the ability to make declarative queries---like SQL---that specify what should be done while 1 One of the main selling points of a database engine is the ability to make declarative queries---like SQL---that specify what should be done while leaving the engine to choose the best way of fulfilling

More information

An Algorithm for Streaming XPath Processing with Forward and Backward Axes

An Algorithm for Streaming XPath Processing with Forward and Backward Axes An Algorithm for Streaming XPath Processing with Forward and Backward Axes Charles Barton, Philippe Charles, Deepak Goyal, Mukund Raghavchari IBM T.J. Watson Research Center Marcus Fontoura, Vanja Josifovski

More information

XML and Databases XSLT Stylesheets and Transforms

XML and Databases XSLT Stylesheets and Transforms XML and Databases XSLT Stylesheets and Transforms Kim.Nguyen@nicta.com.au Lecture 11 1 / 38 extensible Stylesheet Language Transformations Outline 1 extensible Stylesheet Language Transformations 2 Templates

More information

XML and Databases. Lecture 9 Properties of XPath. Sebastian Maneth NICTA and UNSW

XML and Databases. Lecture 9 Properties of XPath. Sebastian Maneth NICTA and UNSW XML and Databases Lecture 9 Properties of XPath Sebastian Maneth NICTA and UNSW CSE@UNSW -- Semester 1, 2009 Outline 1. XPath Equivalence 2. No Looking Back: How to Remove Backward Axes 3. Containment

More information

Pathfinder/MonetDB: A High-Performance Relational Runtime for XQuery

Pathfinder/MonetDB: A High-Performance Relational Runtime for XQuery Introduction Problems & Solutions Join Recognition Experimental Results Introduction GK Spring Workshop Waldau: Pathfinder/MonetDB: A High-Performance Relational Runtime for XQuery Database & Information

More information

Databases and Information Systems 1 - XPath queries on XML data streams -

Databases and Information Systems 1 - XPath queries on XML data streams - Databases and Information Systems 1 - XPath queries on XML data streams - Dr. Rita Hartel Fakultät EIM, Institut für Informatik Universität Paderborn WS 211 / 212 XPath - looking forward (1) - why? News

More information

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 27-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 27-1 Slide 27-1 Chapter 27 XML: Extensible Markup Language Chapter Outline Introduction Structured, Semi structured, and Unstructured Data. XML Hierarchical (Tree) Data Model. XML Documents, DTD, and XML Schema.

More information

Querying XML Data. Querying XML has two components. Selecting data. Construct output, or transform data

Querying XML Data. Querying XML has two components. Selecting data. Construct output, or transform data Querying XML Data Querying XML has two components Selecting data pattern matching on structural & path properties typical selection conditions Construct output, or transform data construct new elements

More information

Programming Languages for XML Ou Au delà des standards

Programming Languages for XML Ou Au delà des standards Programming Languages for XML Ou Au delà des standards Véronique Benzaken benzakenlri.fr LRI (UMR 823 CNRS) and Université de Paris Sud Introduction Information on the web What you are not able to do with

More information

XPath. Lecture 36. Robb T. Koether. Wed, Apr 16, Hampden-Sydney College. Robb T. Koether (Hampden-Sydney College) XPath Wed, Apr 16, / 28

XPath. Lecture 36. Robb T. Koether. Wed, Apr 16, Hampden-Sydney College. Robb T. Koether (Hampden-Sydney College) XPath Wed, Apr 16, / 28 XPath Lecture 36 Robb T. Koether Hampden-Sydney College Wed, Apr 16, 2014 Robb T. Koether (Hampden-Sydney College) XPath Wed, Apr 16, 2014 1 / 28 1 XPath 2 Executing XPath Expressions 3 XPath Expressions

More information

A Full Pattern-based Paradigm for XML Query Processing

A Full Pattern-based Paradigm for XML Query Processing A Full Pattern-based Paradigm for XML Query Processing Véronique Benzaken 1, Giuseppe Castagna 2, and Cédric Miachon 2 1 LRI, UMR 8623, C.N.R.S., Université Paris-Sud, Orsay, France 2 C.N.R.S., Département

More information

SFilter: A Simple and Scalable Filter for XML Streams

SFilter: A Simple and Scalable Filter for XML Streams SFilter: A Simple and Scalable Filter for XML Streams Abdul Nizar M., G. Suresh Babu, P. Sreenivasa Kumar Indian Institute of Technology Madras Chennai - 600 036 INDIA nizar@cse.iitm.ac.in, sureshbabuau@gmail.com,

More information

Pruning Nested XQuery Queries

Pruning Nested XQuery Queries Pruning Nested XQuery Queries Bilel Gueni, Talel Abdessalem, Bogdan Cautis LTCI - TELECOM ParisTech Paris France First.Last@Telecom-ParisTech.fr Emmanuel Waller LRI - Université de Paris-Sud Orsay France

More information

Towards microbenchmarking. June 30, 2006

Towards microbenchmarking. June 30, 2006 1 Towards microbenchmarking XQuery June 30, 2006 Ioana Manolescu Cedric Miachon Philippe Michiels INRIA Futurs, France Univ. Paris XI, France Univ. Antwerp, Belgium 2 Plan Micro-benchmark principles Choosing

More information

TDDD43. Theme 1.2: XML query languages. Fang Wei- Kleiner h?p:// TDDD43

TDDD43. Theme 1.2: XML query languages. Fang Wei- Kleiner h?p://  TDDD43 Theme 1.2: XML query languages Fang Wei- Kleiner h?p://www.ida.liu.se/~ Query languages for XML Xpath o Path expressions with conditions o Building block of other standards (XQuery, XSLT, XLink, XPointer,

More information

Shifting Predicates to Inner Sub-Expressions for XQuery Optimization

Shifting Predicates to Inner Sub-Expressions for XQuery Optimization Shifting Predicates to Inner Sub-Expressions for XQuery Optimization Sven Groppe 1, Jinghua Groppe 1, Stefan Böttcher 2 and Marc-André Vollstedt 2 1 University of Innsbruck, Institute of Computer Science,

More information

Towards Schema-Guided XML Query Induction

Towards Schema-Guided XML Query Induction Towards Schema-Guided XML Query Induction Jérôme Champavère Rémi Gilleron Aurélien Lemay Joachim Niehren Université de Lille INRIA, France ICML-2007 Workshop on Challenges and Applications of Grammar Induction

More information

Querying XML. COSC 304 Introduction to Database Systems. XML Querying. Example DTD. Example XML Document. Path Descriptions in XPath

Querying XML. COSC 304 Introduction to Database Systems. XML Querying. Example DTD. Example XML Document. Path Descriptions in XPath COSC 304 Introduction to Database Systems XML Querying Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Querying XML We will look at two standard query languages: XPath

More information

XML, DTD, and XPath. Announcements. From HTML to XML (extensible Markup Language) CPS 116 Introduction to Database Systems. Midterm has been graded

XML, DTD, and XPath. Announcements. From HTML to XML (extensible Markup Language) CPS 116 Introduction to Database Systems. Midterm has been graded XML, DTD, and XPath CPS 116 Introduction to Database Systems Announcements 2 Midterm has been graded Graded exams available in my office Grades posted on Blackboard Sample solution and score distribution

More information

XPathMark: an XPath Benchmark for the XMark Generated Data

XPathMark: an XPath Benchmark for the XMark Generated Data XPathMark: an XPath Benchmark for the XMark Generated Data Massimo Franceschet Informatics Institute, University of Amsterdam, Kruislaan 403 1098 SJ Amsterdam, The Netherlands Dipartimento di Scienze,

More information

Web Data Management. Tree Pattern Evaluation. Philippe Rigaux CNAM Paris & INRIA Saclay

Web Data Management. Tree Pattern Evaluation. Philippe Rigaux CNAM Paris & INRIA Saclay http://webdam.inria.fr/ Web Data Management Tree Pattern Evaluation Serge Abiteboul INRIA Saclay & ENS Cachan Ioana Manolescu INRIA Saclay & Paris-Sud University Philippe Rigaux CNAM Paris & INRIA Saclay

More information

XML Data Management. 5. Extracting Data from XML: XPath

XML Data Management. 5. Extracting Data from XML: XPath XML Data Management 5. Extracting Data from XML: XPath Werner Nutt based on slides by Sara Cohen, Jerusalem 1 Extracting Data from XML Data stored in an XML document must be extracted to use it with various

More information

XML: Extensible Markup Language

XML: Extensible Markup Language XML: Extensible Markup Language CSC 375, Fall 2015 XML is a classic political compromise: it balances the needs of man and machine by being equally unreadable to both. Matthew Might Slides slightly modified

More information

Part XII. Mapping XML to Databases. Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 321

Part XII. Mapping XML to Databases. Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 321 Part XII Mapping XML to Databases Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 321 Outline of this part 1 Mapping XML to Databases Introduction 2 Relational Tree Encoding Dead Ends

More information

Tree-Pattern Queries on a Lightweight XML Processor

Tree-Pattern Queries on a Lightweight XML Processor Tree-Pattern Queries on a Lightweight XML Processor MIRELLA M. MORO Zografoula Vagena Vassilis J. Tsotras Research partially supported by CAPES, NSF grant IIS 0339032, UC Micro, and Lotus Interworks Outline

More information

Course: The XPath Language

Course: The XPath Language 1 / 27 Course: The XPath Language Pierre Genevès CNRS University of Grenoble, 2012 2013 2 / 27 Why XPath? Search, selection and extraction of information from XML documents are essential for any kind of

More information

XML Projection and Streaming Compared and Contrasted. Michael Kay, Saxonica XML Prague 2017

XML Projection and Streaming Compared and Contrasted. Michael Kay, Saxonica XML Prague 2017 XML Projection and Streaming Compared and Contrasted Michael Kay, Saxonica XML Prague 2017 What is XML Projection? Amélie Marian & Jérôme Siméon Take a query as input Work out which parts of the document

More information

Course: The XPath Language

Course: The XPath Language 1 / 30 Course: The XPath Language Pierre Genevès CNRS University of Grenoble Alpes, 2017 2018 2 / 30 Why XPath? Search, selection and extraction of information from XML documents are essential for any

More information

Integrating Path Index with Value Index for XML data

Integrating Path Index with Value Index for XML data Integrating Path Index with Value Index for XML data Jing Wang 1, Xiaofeng Meng 2, Shan Wang 2 1 Institute of Computing Technology, Chinese Academy of Sciences, 100080 Beijing, China cuckoowj@btamail.net.cn

More information

Towards Energy Efficient XPath Evaluation in Wireless Sensor Networks

Towards Energy Efficient XPath Evaluation in Wireless Sensor Networks 1 / 27 Towards Energy Efficient XPath Evaluation in Wireless Sensor Networks N. Hoeller, C. Reinke, J. Neumann, S. Groppe, C. Werner, and V. Linnemann Institute of Information Systems University of Luebeck

More information

Supporting Positional Predicates in Efficient XPath Axis Evaluation for DOM Data Structures

Supporting Positional Predicates in Efficient XPath Axis Evaluation for DOM Data Structures Supporting Positional Predicates in Efficient XPath Axis Evaluation for DOM Data Structures Torsten Grust Jan Hidders Philippe Michiels Roel Vercammen 1 July 7, 2004 Maurice Van Keulen 1 Philippe Michiels

More information

XML Systems & Benchmarks

XML Systems & Benchmarks XML Systems & Benchmarks Christoph Staudt Peter Chiv Saarland University, Germany July 1st, 2003 Main Goals of our talk Part I Show up how databases and XML come together Make clear the problems that arise

More information

Informatics 1: Data & Analysis

Informatics 1: Data & Analysis T O Y H Informatics 1: Data & Analysis Lecture 11: Navigating XML using XPath Ian Stark School of Informatics The University of Edinburgh Tuesday 26 February 2013 Semester 2 Week 6 E H U N I V E R S I

More information

Databases and Information Systems 1. Prof. Dr. Stefan Böttcher

Databases and Information Systems 1. Prof. Dr. Stefan Böttcher 9. XPath queries on XML data streams Prof. Dr. Stefan Böttcher goals of XML stream processing substitution of reverse-axes an automata-based approach to XPath query processing Processing XPath queries

More information

On the Semantics of Updates in a Functional Language

On the Semantics of Updates in a Functional Language On the Semantics of Updates in a Functional Language c Pavel Loupal Department of Computer Science, Faculty of Electrical Engineering, Czech Technical University in Prague, Prague, Karlovo nám. 13, 121

More information

Introduction to Database Systems CSE 444

Introduction to Database Systems CSE 444 Introduction to Database Systems CSE 444 Lecture 25: XML 1 XML Outline XML Syntax Semistructured data DTDs XPath Coverage of XML is much better in new edition Readings Sections 11.1 11.3 and 12.1 [Subset

More information

Query Languages for XML

Query Languages for XML Query Languages for XML XPath XQuery 1 The XPath/XQuery Data Model Corresponding to the fundamental relation of the relational model is: sequence of items. An item is either: 1. A primitive value, e.g.,

More information

Katz_C01.qxd 7/23/03 2:45 PM Page 1. Part I BASICS

Katz_C01.qxd 7/23/03 2:45 PM Page 1. Part I BASICS Katz_C01.qxd 7/23/03 2:45 PM Page 1 Part I BASICS Katz_C01.qxd 7/23/03 2:45 PM Page 2 Katz_C01.qxd 7/23/03 2:45 PM Page 3 Chapter 1 XQUERY: A GUIDED TOUR Jonathan Robie XML (Extensible Markup Language)

More information

Introduction to Data Management CSE 344

Introduction to Data Management CSE 344 Introduction to Data Management CSE 344 Lecture 11: XML and XPath 1 XML Outline What is XML? Syntax Semistructured data DTDs XPath 2 What is XML? Stands for extensible Markup Language 1. Advanced, self-describing

More information

An Encoding of XQuery in Prolog

An Encoding of XQuery in Prolog An Encoding of XQuery in Prolog Jesús M. Almendros-Jiménez Dpto. Lenguajes y Computación, Universidad de Almería jalmen@ual.es Abstract. In this paper we describe the implementation of (a subset of) the

More information

XML Data Management. 6. XPath 1.0 Principles. Werner Nutt

XML Data Management. 6. XPath 1.0 Principles. Werner Nutt XML Data Management 6. XPath 1.0 Principles Werner Nutt 1 XPath Expressions and the XPath Document Model XPath expressions are evaluated over documents XPath operates on an abstract document structure

More information

Indexing XML Data Stored in a Relational Database

Indexing XML Data Stored in a Relational Database Indexing XML Data Stored in a Relational Database Shankar Pal, Istvan Cseri, Oliver Seeliger, Gideon Schaller, Leo Giakoumakis, Vasili Zolotov VLDB 200 Presentation: Alex Bradley Discussion: Cody Brown

More information

XSLT program. XSLT elements. XSLT example. An XSLT program is an XML document containing

XSLT program. XSLT elements. XSLT example. An XSLT program is an XML document containing XSLT CPS 216 Advanced Database Systems Announcements (March 24) 2 Homework #3 will be assigned next Tuesday Reading assignment due next Wednesday XML processing in Lore (VLDB 1999) and Niagara (VLDB 2003)

More information

XPath Lecture 34. Robb T. Koether. Hampden-Sydney College. Wed, Apr 11, 2012

XPath Lecture 34. Robb T. Koether. Hampden-Sydney College. Wed, Apr 11, 2012 XPath Lecture 34 Robb T. Koether Hampden-Sydney College Wed, Apr 11, 2012 Robb T. Koether (Hampden-Sydney College) XPathLecture 34 Wed, Apr 11, 2012 1 / 20 1 XPath Functions 2 Predicates 3 Axes Robb T.

More information

Element Algebra. 1 Introduction. M. G. Manukyan

Element Algebra. 1 Introduction. M. G. Manukyan Element Algebra M. G. Manukyan Yerevan State University Yerevan, 0025 mgm@ysu.am Abstract. An element algebra supporting the element calculus is proposed. The input and output of our algebra are xdm-elements.

More information

Schema-Based XML-to-SQL Query Translation Using Interval Encoding

Schema-Based XML-to-SQL Query Translation Using Interval Encoding 2011 Eighth International Conference on Information Technology: New Generations Schema-Based XML-to-SQL Query Translation Using Interval Encoding Mustafa Atay Department of Computer Science Winston-Salem

More information

10/24/12. What We Have Learned So Far. XML Outline. Where We are Going Next. XML vs Relational. What is XML? Introduction to Data Management CSE 344

10/24/12. What We Have Learned So Far. XML Outline. Where We are Going Next. XML vs Relational. What is XML? Introduction to Data Management CSE 344 What We Have Learned So Far Introduction to Data Management CSE 344 Lecture 12: XML and XPath A LOT about the relational model Hand s on experience using a relational DBMS From basic to pretty advanced

More information

Using an Oracle Repository to Accelerate XPath Queries

Using an Oracle Repository to Accelerate XPath Queries Using an Oracle Repository to Accelerate XPath Queries Colm Noonan, Cian Durrigan, and Mark Roantree Interoperable Systems Group, Dublin City University, Dublin 9, Ireland {cnoonan, cdurrigan, mark}@computing.dcu.ie

More information

Symmetrically Exploiting XML

Symmetrically Exploiting XML Symmetrically Exploiting XML Shuohao Zhang and Curtis Dyreson School of E.E. and Computer Science Washington State University Pullman, Washington, USA The 15 th International World Wide Web Conference

More information

Ecient XPath Axis Evaluation for DOM Data Structures

Ecient XPath Axis Evaluation for DOM Data Structures Ecient XPath Axis Evaluation for DOM Data Structures Jan Hidders Philippe Michiels University of Antwerp Dept. of Math. and Comp. Science Middelheimlaan 1, BE-2020 Antwerp, Belgium, fjan.hidders,philippe.michielsg@ua.ac.be

More information

Introduction to Database Systems CSE 414

Introduction to Database Systems CSE 414 Introduction to Database Systems CSE 414 Lecture 13: XML and XPath 1 Announcements Current assignments: Web quiz 4 due tonight, 11 pm Homework 4 due Wednesday night, 11 pm Midterm: next Monday, May 4,

More information

TwigStack + : Holistic Twig Join Pruning Using Extended Solution Extension

TwigStack + : Holistic Twig Join Pruning Using Extended Solution Extension Vol. 8 No.2B 2007 603-609 Article ID: + : Holistic Twig Join Pruning Using Extended Solution Extension ZHOU Junfeng 1,2, XIE Min 1, MENG Xiaofeng 1 1 School of Information, Renmin University of China,

More information

THESE. Présentée en vue d obtention du grade de. Discipline : Informatique. par Nicoleta PREDA. Titre :

THESE. Présentée en vue d obtention du grade de. Discipline : Informatique. par Nicoleta PREDA. Titre : THESE Présentée en vue d obtention du grade de DOCTEUR DE L UNIVERSITE PARIS SUD Discipline : Informatique par Nicoleta PREDA Titre : Efficient Web resource management in structured peer-to-peer networks

More information

XML & DBs Interrogation des documents XML

XML & DBs Interrogation des documents XML XML & DBs Interrogation des documents XML A.Boukottaya Interrogation des documents XML HyOQL SGMLQL StruQL Before XML W3QL Lorel XMLQL.. XQL Xpath XML Xquery W3C standard 2 XPath (chemin = axes) Position

More information

Bidirectional Interpretation of XQuery

Bidirectional Interpretation of XQuery Bidirectional Interpretation of XQuery Dongxi Liu Zheniang Hu Masato Takeichi Department of Mathematical Informatics, University of Tokyo, Japan {liu,hu,takeichi}@mist.i.u-tokyo.ac.p Abstract XQuery is

More information

Structural consistency: enabling XML keyword search to eliminate spurious results consistently

Structural consistency: enabling XML keyword search to eliminate spurious results consistently The VLDB Journal (2010) 19:503 529 DOI 10.1007/s00778-009-0177-7 REGULAR PAPER Structural consistency: enabling XML keyword search to eliminate spurious results consistently Ki-Hoon Lee Kyu-Young Whang

More information

Example using multiple predicates

Example using multiple predicates XPath Example using multiple predicates //performance[conductor][date] L C C C C p c s p p s o t d p p c p p Peter Wood (BBK) XML Data Management 162 / 366 XPath Further examples with predicates //performance[composer='frederic

More information

DDO-Free XQuery. Hiroyuki Kato 1, Yasunori Ishihara 2 and Torsten Grust 3

DDO-Free XQuery. Hiroyuki Kato 1, Yasunori Ishihara 2 and Torsten Grust 3 DDO-Free XQuery Hiroyuki Kato 1, Yasunori Ishihara 2 and Torsten Grust 3 1 National Institute of Informatics 2 Osaka University 3 Universität Tübingen The 16th International Symposium on Database Programming

More information

An Algebraic Approach to XQuery View Maintenance

An Algebraic Approach to XQuery View Maintenance Translation An Algebraic Approach to XQuery View Maintenance J. Nathan Foster (Penn) Ravi Konuru (IBM) Jérôme Siméon (IBM) Lionel Villard (IBM) Source Source Query View View PLAN-X 08 Quick! 1 + 2 + +

More information

An Efficient XML Index Structure with Bottom-Up Query Processing

An Efficient XML Index Structure with Bottom-Up Query Processing An Efficient XML Index Structure with Bottom-Up Query Processing Dong Min Seo, Jae Soo Yoo, and Ki Hyung Cho Department of Computer and Communication Engineering, Chungbuk National University, 48 Gaesin-dong,

More information

ADT 2009 Other Approaches to XQuery Processing

ADT 2009 Other Approaches to XQuery Processing Other Approaches to XQuery Processing Stefan Manegold Stefan.Manegold@cwi.nl http://www.cwi.nl/~manegold/ 12.11.2009: Schedule 2 RDBMS back-end support for XML/XQuery (1/2): Document Representation (XPath

More information

H2 Spring B. We can abstract out the interactions and policy points from DoDAF operational views

H2 Spring B. We can abstract out the interactions and policy points from DoDAF operational views 1. (4 points) Of the following statements, identify all that hold about architecture. A. DoDAF specifies a number of views to capture different aspects of a system being modeled Solution: A is true: B.

More information

An Extended Byte Carry Labeling Scheme for Dynamic XML Data

An Extended Byte Carry Labeling Scheme for Dynamic XML Data Available online at www.sciencedirect.com Procedia Engineering 15 (2011) 5488 5492 An Extended Byte Carry Labeling Scheme for Dynamic XML Data YU Sheng a,b WU Minghui a,b, * LIU Lin a,b a School of Computer

More information

An Algebra for probabilistic XML retrieval

An Algebra for probabilistic XML retrieval n lgebra for probabilistic XML retrieval Benjamin Piwowarski LIP6, University Paris 6 8, rue du capitaine Scott 75015 Paris, France bpiwowar@poleia.lip6.fr Patrick Gallinari LIP6, University Paris 6 8,

More information

XPath and XQuery. Introduction to Databases CompSci 316 Fall 2018

XPath and XQuery. Introduction to Databases CompSci 316 Fall 2018 XPath and XQuery Introduction to Databases CompSci 316 Fall 2018 2 Announcements (Tue. Oct. 23) Homework #3 due in two weeks Project milestone #1 feedback : we are a bit behind, but will definitely release

More information

Efficient XML Storage based on DTM for Read-oriented Workloads

Efficient XML Storage based on DTM for Read-oriented Workloads fficient XML Storage based on DTM for Read-oriented Workloads Graduate School of Information Science, Nara Institute of Science and Technology Makoto Yui Jun Miyazaki, Shunsuke Uemura, Hirokazu Kato International

More information

Query Processing and Optimization in Native XML Databases

Query Processing and Optimization in Native XML Databases Query Processing and Optimization in Native XML Databases Ning Zhang David R. Cheriton School of Computer Science University of Waterloo nzhang@uwaterloo.ca Technical Report CS-2006-29 August 2006 Abstract

More information

EMERGING TECHNOLOGIES

EMERGING TECHNOLOGIES EMERGING TECHNOLOGIES XML (Part 2): Data Model for XML documents and XPath Outline 1. Introduction 2. Structure of XML data 3. XML Document Schema 3.1. Document Type Definition (DTD) 3.2. XMLSchema 4.

More information

1 Introduction. Philippe Michiels. Jan Hidders University of Antwerp. University of Antwerp. Roel Vercammen. University of Antwerp

1 Introduction. Philippe Michiels. Jan Hidders University of Antwerp. University of Antwerp. Roel Vercammen. University of Antwerp OPTIMIZING SORTING AND DUPLICATE ELIMINATION IN XQUERY PATH EXPRESSIONS Jan Hidders University of Antwerp jan.hidders@ua.ac.be Roel Vercammen University of Antwerp roel.vercammen@ua.ac.be Abstract Philippe

More information

XML in Databases. Albrecht Schmidt. al. Albrecht Schmidt, Aalborg University 1

XML in Databases. Albrecht Schmidt.   al. Albrecht Schmidt, Aalborg University 1 XML in Databases Albrecht Schmidt al@cs.auc.dk http://www.cs.auc.dk/ al Albrecht Schmidt, Aalborg University 1 What is XML? (1) Where is the Life we have lost in living? Where is the wisdom we have lost

More information

Module 4. Implementation of XQuery. Part 3: Support for Streaming XML

Module 4. Implementation of XQuery. Part 3: Support for Streaming XML Module 4 Implementation of XQuery Part 3: Support for Streaming XML Motivation XQuery used in very different environments: XQuery implementations on XML stored in databases (with indexes). Main-memory

More information

The XQuery Data Model

The XQuery Data Model The XQuery Data Model 9. XQuery Data Model XQuery Type System Like for any other database query language, before we talk about the operators of the language, we have to specify exactly what it is that

More information

Index-Driven XQuery Processing in the exist XML Database

Index-Driven XQuery Processing in the exist XML Database Index-Driven XQuery Processing in the exist XML Database Wolfgang Meier wolfgang@exist-db.org The exist Project XML Prague, June 17, 2006 Outline 1 Introducing exist 2 Node Identification Schemes and Indexing

More information

Part XVII. Staircase Join Tree-Aware Relational (X)Query Processing. Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 440

Part XVII. Staircase Join Tree-Aware Relational (X)Query Processing. Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 440 Part XVII Staircase Join Tree-Aware Relational (X)Query Processing Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 440 Outline of this part 1 XPath Accelerator Tree aware relational

More information

Structural Consistency: Enabling XML Keyword Search to Eliminate Spurious Results Consistently

Structural Consistency: Enabling XML Keyword Search to Eliminate Spurious Results Consistently Last Modified: 22 Sept. 29 Structural Consistency: Enabling XML Keyword Search to Eliminate Spurious Results Consistently Ki-Hoon Lee, Kyu-Young Whang, Wook-Shin Han, and Min-Soo Kim Department of Computer

More information

Outline of this part (I) Part IV. Querying XML Documents. Querying XML Documents. Outline of this part (II)

Outline of this part (I) Part IV. Querying XML Documents. Querying XML Documents. Outline of this part (II) Outline of this part (I) Part IV Querying XML Documents Marc H. Scholl (DBIS, Uni KN) XML and Databases Winter 2007/08 164 8 XPath Navigational access to XML documents Overview Context Location steps Navigation

More information

Proofs-Programs correspondance and Security

Proofs-Programs correspondance and Security Proofs-Programs correspondance and Security Jean-Baptiste Joinet Université de Lyon & Centre Cavaillès, École Normale Supérieure, Paris Third Cybersecurity Japanese-French meeting Formal methods session

More information

Schema-based Scheduling of Event Processors and Buffer Minimization for Queries on Structured Data Streams

Schema-based Scheduling of Event Processors and Buffer Minimization for Queries on Structured Data Streams Schema-based Scheduling of Event Processors and Buffer Minimization for Queries on Structured Data Streams Christoph Koch, Stefanie Scherzinger, Nicole Schweikardt, Bernhard Stegmaier Presented by Cătălin

More information

FlexBench: A Flexible XML Query Benchmark

FlexBench: A Flexible XML Query Benchmark FlexBench: A Flexible XML Query Benchmark Maroš Vranec Irena Mlýnková Department of Software Engineering Faculty of Mathematics and Physics Charles University Prague, Czech Republic maros.vranec@gmail.com

More information

Full-Text and Structural XML Indexing on B + -Tree

Full-Text and Structural XML Indexing on B + -Tree Full-Text and Structural XML Indexing on B + -Tree Toshiyuki Shimizu 1 and Masatoshi Yoshikawa 2 1 Graduate School of Information Science, Nagoya University shimizu@dl.itc.nagoya-u.ac.jp 2 Information

More information

CHAPTER 3 LITERATURE REVIEW

CHAPTER 3 LITERATURE REVIEW 20 CHAPTER 3 LITERATURE REVIEW This chapter presents query processing with XML documents, indexing techniques and current algorithms for generating labels. Here, each labeling algorithm and its limitations

More information

Avoiding Unnecessary Ordering Operations in XPath

Avoiding Unnecessary Ordering Operations in XPath voiding Unnecessary Ordering Operations in XPath Jan Hidders Philippe Michiels University of ntwerp Dept. of Mathematics and Computer Science Middelheimlaan 1, BE-2020 ntwerpen, Belgium {jan.hidders, philippe.michiels}@ua.ac.e

More information

On the Use of Query-driven XML Auto-Indexing

On the Use of Query-driven XML Auto-Indexing On the Use of Query-driven XML Auto-Indexing Karsten Schmidt and Theo Härder SMDB'10 (ICDE), Long Beach March, 1 Motivation Self-Tuning '10 The last 10+ years Index tuning What-if Wizards, Guides, Druids

More information

Foster B-Trees. Lucas Lersch. M. Sc. Caetano Sauer Advisor

Foster B-Trees. Lucas Lersch. M. Sc. Caetano Sauer Advisor Foster B-Trees Lucas Lersch M. Sc. Caetano Sauer Advisor 14.07.2014 Motivation Foster B-Trees Blink-Trees: multicore concurrency Write-Optimized B-Trees: flash memory large-writes wear leveling defragmentation

More information

Querying XML streams. Vanja Josifovski 1, Marcus Fontoura 1, Attila Barta 2

Querying XML streams. Vanja Josifovski 1, Marcus Fontoura 1, Attila Barta 2 The VLDB Journal (4) / Digital Object Identifier (DOI) 1.17/s778-4-13-7 Querying XML streams Vanja Josifovski 1, Marcus Fontoura 1, Attila Barta 1 IBM Almaden Research Center, San Jose, CA 951, USA e-mail:

More information

Accelerating XML Structural Matching Using Suffix Bitmaps

Accelerating XML Structural Matching Using Suffix Bitmaps Accelerating XML Structural Matching Using Suffix Bitmaps Feng Shao, Gang Chen, and Jinxiang Dong Dept. of Computer Science, Zhejiang University, Hangzhou, P.R. China microf_shao@msn.com, cg@zju.edu.cn,

More information

Module 4. Implementation of XQuery. Part 2: Data Storage

Module 4. Implementation of XQuery. Part 2: Data Storage Module 4 Implementation of XQuery Part 2: Data Storage Aspects of XQuery Implementation Compile Time + Optimizations Operator Models Query Rewrite Runtime + Query Execution XML Data Representation XML

More information