Type Based XML Projection

Size: px
Start display at page:

Download "Type Based XML Projection"

Transcription

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

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

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

4 Main memory query (XQuery) processing 4 / 30

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

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

7 Main memory query (XQuery) processing Pros : Lightweight system Easy to program and integrate into an existing architecture Cons : Unlike DBMS solution, whole document in memory (DOM lots of metadata) 4 / 30

8 Main memory query (XQuery) processing Pros : Lightweight system Easy to program and integrate into an existing architecture Cons : Unlike DBMS solution, whole document in memory (DOM lots of metadata) 4 / 30

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

10 We can use pruning to reduce the amount of data needed in main memory! Exemple : /descendant-or-self::title/child::text() 5 / 30

11 We can use pruning to reduce the amount of data needed in main memory! Exemple : /descendant-or-self::title/child::text() <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> 5 / 30

12 Projecting XML Documents, Amélie Marian and Jérome Siméon, VLDB Queries + document based optimizations, it has some drawbacks : Does not take into account backward axis. Performances degrade in the presence of // Indeed, with a query like : /descendant-or-self::title/child::text() one has to iterate through the whole document. 6 / 30

13 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 : Pruning is efficient Take into account // and backward axis Pruning is sound : executing the query on the projected document gives the same result as on the original. Pruning is precise and even exact for a large class of documents 7 / 30

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

15 Definition (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. 9 / 30

16 Definition (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 10 / 30

17 Definition (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). 11 / 30

18 Definition (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). <!ELEMENT a <!ELEMENT b <!ELEMENT c <!ELEMENT d <!ELEMENT e (b,c)> (d,e)> (d,e)> (#PCDATA)> (#PCDATA)> b d a e c 11 / 30

19 /descendant-or-self::c 12 / 30

20 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> /descendant-or-self::c 12 / 30

21 /descendant-or-self::c 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> 12 / 30

22 /descendant-or-self::c 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> 12 / 30

23 Definition (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() Definition (Simple path) Q ::= Axis :: Test Axis :: Test[Cond] Q/Q SPath ::= Axis :: Test Axis :: Test/SPath Cond := SPath Cond or Cond 13 / 30

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

25 Overall process Static inference : DTD 15 / 30

26 Overall process Static inference : DTD Q2 Q3 Q1 Q4 Q5 15 / 30

27 Overall process Static inference : DTD Q2 Q3 Q1 Q4 Q5 P 15 / 30

28 Overall process Runtime : D1 D3 D2 D1 15 / 30

29 Overall process Runtime : D1 D3 D2 D1 P 15 / 30

30 Overall process Runtime : D1 D3 D2 D1 P D 1 D 1 D 2 D 1 15 / 30

31 Overall process Runtime : D1 D3 D2 D1 P D 1 D 1 D 2 D 1 Q2 Q3 Q1 Q4 Q5 D1 R3 R2 R1 15 / 30

32 Static inference Q2 Q3 Q1 Q4 Q5 16 / 30

33 Static inference Q2 Q3 Q1 Q4 Q5 XPath XPath 1 XPath 2 XPath 7 XPath 3 XPath XPath 1 XPath 6 XPath 4 XPath XPath / 30

34 Static inference 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 / 30

35 Static inference 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 16 / 30

36 Static inference 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 16 / 30

37 Static inference 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 16 / 30

38 Static inference 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 16 / 30

39 Static inference 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 16 / 30

40 Static inference 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 16 / 30

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

42 Type inference typeinf(dtd,{x},path) = T Type T is the set of names of types of nodes in the result. T = empty query. 17 / 30

43 Type inference typeinf(dtd,{x},path) = T Type T is the set of names of types of nodes in the result. T = empty query. /self::a/child::b/child::d 17 / 30

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

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

46 Type inference typeinf(dtd,{x},path) = T Type T is the set of names of types of nodes in the result. T = empty query. /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 17 / 30

47 Type inference typeinf(dtd,{x},path) = T Type T is the set of names of types of nodes in the result. T = empty query. /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 17 / 30

48 //*/self::b/child::d 18 / 30

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

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

51 //*/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 18 / 30

52 //*/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 18 / 30

53 //*/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 18 / 30

54 //*/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 18 / 30

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

56 //*/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 18 / 30

57 //*/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 18 / 30

58 /self::a/child::b/child::d/parent::node()/child::d 19 / 30

59 /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 19 / 30

60 /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 19 / 30

61 /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 19 / 30

62 /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 19 / 30

63 /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 19 / 30

64 /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 19 / 30

65 /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 19 / 30

66 /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 19 / 30

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

68 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 ) 21 / 30

69 Completeness Pruning is precise / 30

70 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,... ) 22 / 30

71 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,... ) 22 / 30

72 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,... ) 22 / 30

73 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,... ) 22 / 30

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

75 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. 24 / 30

76 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 bufferless traversal of the document. In practice, computing the type projector is fast. 24 / 30

77 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 Axes present in the query Projected document Runtime conditions Memory used to process a 56 MB document with Galax. 25 / 30

78 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) / 30

79 Comparison with previous work Qualitative : with one exception, type projectors are always equal or more efficient. 27 / 30

80 Comparison with previous work Qualitative : with one exception, type projectors are always equal or more efficient. Performances : pruning is linear in time (in the size of the document) and constant in memory. It can be done while validating the document. 27 / 30

81 Comparison with previous work Qualitative : with one exception, type projectors are always equal or more efficient. 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. 27 / 30

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

83 Conclusion Formal foundations ensure validity of the pruning and it s efficiency. 29 / 30

84 Conclusion Formal foundations ensure validity of the pruning and it s efficiency. Handle any XQuery query, either directly or by approximating it. 29 / 30

85 Conclusion Formal foundations ensure validity of the pruning and it s efficiency. 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. 29 / 30

86 Conclusion Formal foundations ensure validity of the pruning and it s efficiency. 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. 29 / 30

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

88 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. 30 / 30

89 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. 30 / 30

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. 30 / 30

Type-Based XML Projection

Type-Based XML Projection Type-Based XML Projection Véronique Benzaken 1 Giuseppe Castagna 2 Dario Colazzo 1 Kim Nguyê n 1 1 LRI, Université Paris-Sud 11, Orsay - France 2 École Normale Supérieure de Paris - France ABSTRACT XML

More information

FluXQuery: An Optimizing XQuery Processor

FluXQuery: An Optimizing XQuery Processor FluXQuery: An Optimizing XQuery Processor for Streaming XML Data Report by Cătălin Hriţcu (catalin.hritcu@gmail.com) International Max Planck Research School for Computer Science 1 Introduction While for

More information

Mapping Maintenance in XML P2P Databases

Mapping Maintenance in XML P2P Databases Mapping Maintenance in XML P2P Databases Dario Colazzo LRI - Université Paris Sud Carlo Sartiani Dipartimento di Informatica - Università di Pisa Motivating Example (1/3) P i sab i b = b i b[ (Au t hor

More information

TASM: Top-k Approximate Subtree Matching

TASM: Top-k Approximate Subtree Matching TASM: Top-k Approximate Subtree Matching Nikolaus Augsten 1 Denilson Barbosa 2 Michael Böhlen 3 Themis Palpanas 4 1 Free University of Bozen-Bolzano, Italy augsten@inf.unibz.it 2 University of Alberta,

More information

A uniform programming language for implementing XML standards

A uniform programming language for implementing XML standards A uniform programming language for implementing XML standards Pavel Labath 1, Joachim Niehren 2 1 Commenius University, Bratislava, Slovakia 2 Inria Lille, France Sofsem 2015 Motivation Different data

More information

Regular tree language recognition with static information

Regular tree language recognition with static information Regular tree language recognition with static information Alain Frisch Département d Informatique École Normale Supérieure, Paris, France Alain.Frisch@ens.fr Abstract This paper presents our compilation

More information

Pruning Nested XQuery Queries

Pruning Nested XQuery Queries Pruning Nested XQuery Queries Bilel Gueni, Talel Abdessalem, Bogdan Cautis,Emmanuel Waller Telecom ParisTech LTCI UMR CNRS 5141 46, rue Barrault-Paris, 75013 France First.Last@enst.fr Université de Paris-Sud

More information

REGULAR TREE LANGUAGE RECOGNITION WITH STATIC INFORMATION

REGULAR TREE LANGUAGE RECOGNITION WITH STATIC INFORMATION REGULAR TREE LANGUAGE RECOGNITION WITH STATIC INFORMATION Alain Frisch École Normale Supérieure Alain.Frisch@ens.fr Abstract This paper presents our compilation strategy to produce efficient code for pattern

More information

Containment for XPath Fragments under DTD Constraints

Containment for XPath Fragments under DTD Constraints Containment for XPath Fragments under DTD Constraints Peter Wood School of Computer Science and Information Systems Birkbeck College University of London United Kingdom email: ptw@dcs.bbk.ac.uk 1 Outline

More information

Projection for Nested Word Automata Speeds up XPath Evaluation on XML Streams

Projection for Nested Word Automata Speeds up XPath Evaluation on XML Streams Projection for Nested Word Automata Speeds up XPath Evaluation on XML Streams Tom Sebastian, Joachim Niehren To cite this version: Tom Sebastian, Joachim Niehren. Projection for Nested Word Automata Speeds

More information

An Algorithm for Finding top-k Valid XPath Queries

An Algorithm for Finding top-k Valid XPath Queries Regular Paper An Algorithm for Finding top-k Valid XPath Queries Kosetsu Ikeda 1,a) Nobutaka Suzuki 1,b) Received: December, 013, Accepted: April 3, 014 Abstract: Suppose that we have a DTD and XML documents

More information

How to Recognise Different Tree Patterns from quite a Long Way Away

How to Recognise Different Tree Patterns from quite a Long Way Away How to Recognise Different Tree Patterns from quite a Long Way Away Jan Hidders Philippe Michiels Jérôme Siméon Roel Vercammen Abstract Tree patterns are one of the main abstractions used to access XML

More information

XReason: A Semantic Approach that Reasons with Patterns to Answer XML Keyword Queries

XReason: A Semantic Approach that Reasons with Patterns to Answer XML Keyword Queries XReason: A Semantic Aroach that Reasons with Patterns to Answer XML Keyword Queries Cem Aksoy 1, Aggeliki Dimitriou 2, Dimitri Theodoratos 1, Xiaoying Wu 3 1 New Jersey Institute of Technology, Newark,

More information

Satisfiability of XPath Queries with Sibling Axes

Satisfiability of XPath Queries with Sibling Axes Satisfiability of XPath Queries with Sibling Axes Floris Geerts 1 and Wenfei Fan 2 1 Hasselt University and University of Edinburgh 2 University of Edinburgh and Bell Laboratories Abstract. We study the

More information

XML Security Views. Queries, Updates, and Schema. Benoît Groz. University of Lille, Mostrare INRIA. PhD defense, October 2012

XML Security Views. Queries, Updates, and Schema. Benoît Groz. University of Lille, Mostrare INRIA. PhD defense, October 2012 XML Security Views Queries, Updates, and Schema Benoît Groz University of Lille, Mostrare INRIA PhD defense, October 2012 Benoît Groz (Mostrare) XML Security Views PhD defense, October 2012 1 / 45 Talk

More information

Tree Signatures and Unordered XML Pattern Matching

Tree Signatures and Unordered XML Pattern Matching Tree Signatures and Unordered XML Pattern Matching Pavel Zezula Masaryk University of Brno, Czech Republic and Federica Mandreoli, Riccardo Martoglia University of Modena and Reggio Emilia, Italy Overview

More information

XPath Query Satisfiability and Containment under DTD Constraints

XPath Query Satisfiability and Containment under DTD Constraints XPath Query Satisfiability and Containment under DTD Constraints A Dissertation Submitted to Birkbeck, University of London in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy

More information

Dependable Cardinality Forecasts for XQuery

Dependable Cardinality Forecasts for XQuery c Systems Group Department of Computer Science ETH Zürich August 26, 2008 Dependable Cardinality Forecasts for XQuery Jens Teubner, ETH (formerly IBM Research) Torsten Grust, U Tübingen (formerly TUM)

More information

Materialized views for P2P XML warehousing

Materialized views for P2P XML warehousing Ioana Manolescu 1 Spyros Zoupanos 1 1 GEMO/IASI group, INRIA Saclay Île-de-France July 2009 Dataring project meeting, Nantes 1 / 31 1 Introduction Outline 2 Algebraic query rewriting Tree pattern dialect

More information

An Algorithm for Finding K Correct XPath Expressions

An Algorithm for Finding K Correct XPath Expressions An Algorithm for Finding K Correct XPath Expressions IKEDA KOSETSU Graduate School of Library, Information and Media Studies University of Tsukuba March 2013 i Contents Chapter 1 Introduction 1 Chapter

More information

Safety Properties for Querying XML Streams

Safety Properties for Querying XML Streams Safety Properties for Querying XML Streams Olivier Gauwin University of Mons joint work with: J. Niehren, S. Tison, M. Benedikt and G. Puppis Workshop on Timed and Infinite Systems Warwick March 30th,

More information

Efficient Reasoning about a Robust XML Key Fragment

Efficient Reasoning about a Robust XML Key Fragment fficient Reasoning about a Robust XML Key Fragment SVN HARTMANN Clausthal University of Technology and SBASTIAN LINK Victoria University of Wellington We review key constraints in the context of XML as

More information

The Absolute Consistency Problem of XML Schema Mappings with Data Values between Restricted DTDs

The Absolute Consistency Problem of XML Schema Mappings with Data Values between Restricted DTDs The Absolute Consistency Problem of XML Schema Mappings with Data Values between Restricted DTDs Yasunori Ishihara, Hayato Kuwada, and Toru Fujiwara Osaka University, Japan {ishihara,h-kuwada,fujiwara}@ist.osaka-u.ac.jp

More information

Fig. 2 Tree structure of r the best of our knowledge, there is no study on detecting XSLT rules affected by a schema update. On the other hand, there

Fig. 2 Tree structure of r the best of our knowledge, there is no study on detecting XSLT rules affected by a schema update. On the other hand, there An Algorithm for Detecting XSLT Rules Affected by Schema Updates Yang Wu 1,a) Nobutaka Suzuki 2,b) Abstract: Schemas of XML documents are continuously updated according to changes in the real world. Moreover,

More information

REASONING ABOUT KEYS FOR XML

REASONING ABOUT KEYS FOR XML Pergamon - Information Systems Vol. -, No. -, pp. -, 1994 Copyright c 1994 Elsevier Science Ltd Printed in Great Britain. All rights reserved 0306-4379/94 $7.00 + 0.00 REASONING ABOUT KEYS FOR XML Peter

More information

Belief Update in CLG Bayesian Networks With Lazy Propagation

Belief Update in CLG Bayesian Networks With Lazy Propagation Belief Update in CLG Bayesian Networks With Lazy Propagation Anders L Madsen HUGIN Expert A/S Gasværksvej 5 9000 Aalborg, Denmark Anders.L.Madsen@hugin.com Abstract In recent years Bayesian networks (BNs)

More information

H2 Spring E. Governance, in principle, applies to the entire life cycle of an IT system

H2 Spring E. Governance, in principle, applies to the entire life cycle of an IT system 1. (14 points) Of the following statements, identify all that hold about governance. A. Governance refers to the administration of a system according to the requirements imposed by a governing body Solution:

More information

Environment (Parallelizing Query Optimization)

Environment (Parallelizing Query Optimization) Advanced d Query Optimization i i Techniques in a Parallel Computing Environment (Parallelizing Query Optimization) Wook-Shin Han*, Wooseong Kwak, Jinsoo Lee Guy M. Lohman, Volker Markl Kyungpook National

More information

Memory Lower Bounds for XPath Evaluation over XML Streams

Memory Lower Bounds for XPath Evaluation over XML Streams Memory Lower Bounds for XPath Evaluation over XML Streams Prakash Ramanan Department of Computer Science Wichita State University Wichita, KS 67260 0083 Phone: (316) 978 3920 (Fax: 3984) ramanan@cs.wichita.edu

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Xiangyu Zhang The slides are compiled from Alex Aiken s Michael D. Ernst s Sorin Lerner s A Scary Outline Type-based analysis Data-flow analysis Abstract interpretation Theorem

More information

Rewriting XPath Queries Using Materialized XPath Views

Rewriting XPath Queries Using Materialized XPath Views Rewriting XPath Queries Using Materialized XPath Views Prakash Ramanan EECS Department Wichita State University Wichita, KS 67260 0083 ramanan@cs.wichita.edu Abstract Let XP(/, //, [ ]) be the fragment

More information

Inferring a Relax NG Schema from XML Documents

Inferring a Relax NG Schema from XML Documents Inferring a Relax NG Schema from XML Documents Guen-Hae Kim* Sang-Ki Ko Yo-Sub Han Department of Computer Science Yonsei University 10th International Conference on Language and Automata Theory and Application

More information

Logics and automata over in nite alphabets

Logics and automata over in nite alphabets Logics and automata over in nite alphabets Anca Muscholl LIAFA, Univ. Paris 7 & CNRS Joint work with: Miko!aj Bojańczyk (Warsaw, Paris), Claire David (Paris), Thomas Schwentick (Dortmund) and Luc Segou

More information

Evaluating Complex Queries against XML Streams with Polynomial Combined Complexity

Evaluating Complex Queries against XML Streams with Polynomial Combined Complexity INSTITUT FÜR INFORMATIK Lehr- und Forschungseinheit für Programmier- und Modellierungssprachen Oettingenstraße 67, D 80538 München Evaluating Complex Queries against XML Streams with Polynomial Combined

More information

Logic-Based XPath Optimization

Logic-Based XPath Optimization Logic-Based XPath Optimization Pierre Genevès, Jean-Yves Vion-Dury To cite this version: Pierre Genevès, Jean-Yves Vion-Dury. Logic-Based XPath Optimization. Proceedings of the 24 ACM symposium on Document

More information

Query-based Learning of XPath Expressions

Query-based Learning of XPath Expressions Query-based Learning of XPath Expressions Julien Carme, Michal Ceresna, and Max Goebel Database and Artificial Intelligence Group Vienna University of Technology Abstract. XML is data format for storing

More information

A Functional Language for Hyperstreaming XSLT

A Functional Language for Hyperstreaming XSLT A Functional Language for Hyperstreaming XSLT Pavel Labath 1, Joachim Niehren 2 1 Commenius University, Bratislava, Slovakia 2 Inria Lille, France May 2013 Motivation some types of tree transformations

More information

Two-Variable Logic on Data Trees and XML Reasoning

Two-Variable Logic on Data Trees and XML Reasoning Two-Variable Logic on Data Trees and XML Reasoning Miko laj Bojańczyk Warsaw University and Anca Muscholl LABRI & Université Bordeaux 1 and Thomas Schwentick Universität Dortmund and Luc Segoufin INRIA

More information

SXPath - Extending XPath towards Spatial Querying on Web Documents

SXPath - Extending XPath towards Spatial Querying on Web Documents Introduction - Extending XPath towards Spatial Querying on Web Documents Ermelinda Oro 1 Massimo Ruffolo 1 Steffen Staab 2 1 Institute of High Performance Computing and Networking of CNR (ICAR-CNR) University

More information

Introduction to Tree Logics

Introduction to Tree Logics 1 / 26 Introduction to Tree Logics Pierre Genevès CNRS (slides mostly based on the ones by W. Martens and T. Schwentick) University of Grenoble, 2014 2015 2 / 26 Why Logic? Tree automaton algorithm Logical

More information

Two-Variable Logic on Data Trees and XML Reasoning

Two-Variable Logic on Data Trees and XML Reasoning Two-Variable Logic on Data Trees and XML Reasoning Miko laj Bojańczyk Warsaw University and Anca Muscholl LABRI & Université Bordeaux 1 and Thomas Schwentick Universität Dortmund and Luc Segoufin INRIA

More information

Towards a traceability framework for model transformations in Kermeta

Towards a traceability framework for model transformations in Kermeta Towards a traceability framework for model transformations in Kermeta Jean-Rémy Falleri, Marianne Huchard, and Clémentine Nebut LIRMM, CNRS and Université de Montpellier 2, 161, rue Ada, 34392 Montpellier

More information

A Tree Logic with Graded Paths and Nominals

A Tree Logic with Graded Paths and Nominals INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE arxiv:1005.5623v1 [cs.lo] 31 May 2010 A Tree Logic with Graded Paths and Nominals Everardo Bárcenas Pierre Genevès Nabil Layaïda Alan Schmitt

More information

Stream Processing of XPath Queries with Predicates

Stream Processing of XPath Queries with Predicates Stream Processing of XPath Queries with Predicates Ashish Kumar Gupta University of Washington akgupta@cs.washington.edu Dan Suciu University of Washington suciu@cs.washington.edu ABSTRACT We consider

More information

A System for the Static Analysis of XPath

A System for the Static Analysis of XPath A System for the Static Analysis of XPath PIERRE GENEVÈS and NABIL LAYAÏDA INRIA Rhône-Alpes XPath is the standard language for navigating XML documents and returning a set of matching nodes. We present

More information

Forward-XPath and extended register automata on data-trees (with Appendix)

Forward-XPath and extended register automata on data-trees (with Appendix) Forward-XPath and extended register automata on data-trees (with Appendix) Diego Figueira INRIA, LSV, ENS Cachan, France ABSTRACT We consider a fragment of XPath named forward-xpath, which contains all

More information

Conditional XPath. MAARTEN MARX Informatics Institute, Universiteit van Amsterdam The Netherlands. No Institute Given

Conditional XPath. MAARTEN MARX Informatics Institute, Universiteit van Amsterdam The Netherlands. No Institute Given Conditional XPath MAARTEN MARX Informatics Institute, Universiteit van Amsterdam The Netherlands No Institute Given Abstract. XPath 1.0 is a variable free language designed to specify paths between nodes

More information

Query Reasoning on Trees with Types, Interleaving, and Counting

Query Reasoning on Trees with Types, Interleaving, and Counting Proceedings of the Twenty-Second International Joint Conference on Artificial Intelligence Query Reasoning on Trees with Types, Interleaving, and Counting Everardo Bárcenas, 1 Pierre Genevès, 2 Nabil Layaïda,

More information

An Efficient Algorithm for Tree Mapping in XML Databases

An Efficient Algorithm for Tree Mapping in XML Databases Journal of Computer Science 3 (7): 487-493, 2007 ISSN 1549-3636 Science Publications, 2007 Corresponding Author: An Efficient Algorithm for Tree Mapping in XML Databases Yangjun Chen University of Winnipeg,

More information

The semantics of ALN knowledge bases is the standard model-based semantics of rst-order logic. An interpretation I contains a non-empty domain O I. It

The semantics of ALN knowledge bases is the standard model-based semantics of rst-order logic. An interpretation I contains a non-empty domain O I. It Backward Reasoning in Aboxes for Query Answering Marie-Christine Rousset L.R.I. Computer Science Laboratory C.N.R.S & University of Paris-Sud Building 490, 91405, Orsay Cedex, France mcr@lri.fr Abstract

More information

Journal of Theoretical and Applied Information Technology 30 th November Vol.96. No ongoing JATIT & LLS QUERYING RDF DATA

Journal of Theoretical and Applied Information Technology 30 th November Vol.96. No ongoing JATIT & LLS QUERYING RDF DATA QUERYING RDF DATA 1,* ATTA-UR-RAHMAN, 2 FAHD ABDULSALAM ALHAIDARI 1,* Department of Computer Science, 2 Department of Computer Information System College of Computer Science and Information Technology,

More information

Synthesizing transformations from XML schema mappings

Synthesizing transformations from XML schema mappings Synthesizing transformations from XML schema mappings Claire David University Paris-Est Marne Claire.David@univ-mlv.fr Piotr Hofman University of Warsaw ph209519@mimuw.edu.pl Michał Pilipczuk University

More information

Notes on Paths, Trees and Lagrange Inversion

Notes on Paths, Trees and Lagrange Inversion Notes on Paths, Trees and Lagrange Inversion Today we are going to start with a problem that may seem somewhat unmotivated, and solve it in two ways. From there, we will proceed to discuss applications

More information

Structural Evaluation of AES and Chosen-Key Distinguisher of 9-round AES-128

Structural Evaluation of AES and Chosen-Key Distinguisher of 9-round AES-128 Structural Evaluation of AES and Chosen-Key Distinguisher of 9-round AES-128 Pierre-Alain Fouque 1 Jérémy Jean 2 Thomas Peyrin 3 1 Université de Rennes 1, France 2 École Normale Supérieure, France 3 Nanyang

More information

Compact Representation for Answer Sets of n-ary Regular Queries

Compact Representation for Answer Sets of n-ary Regular Queries Compact Representation for Answer Sets of n-ary Regular Queries Kazuhiro Inaba 1 and Haruo Hosoya 1 The University of Tokyo, {kinaba,hahosoya}@is.s.u-tokyo.ac.jp Abstract. An n-ary query over trees takes

More information

Runtime Analysis of 4 VA HiCuM Versions with and without Internal Solver

Runtime Analysis of 4 VA HiCuM Versions with and without Internal Solver Runtime Analysis of 4 VA HiCuM Versions with and without Internal Solver Didier Céli, Jean Remy 28 th ArbeitsKreis Bipolar - Letter Session Unterpremstaetten, Austria, November 5/6, 215 dm23a.15 Outline

More information

Journal of Computer and System Sciences

Journal of Computer and System Sciences Journal of Computer System Sciences 78 (2012) 1045 1098 Contents lists available at SciVerse ScienceDirect Journal of Computer System Sciences www.elsevier.com/locate/jcss The implication problem for closest

More information

Deciding XPath Containment with MSO

Deciding XPath Containment with MSO Deciding XPath Containment with MSO Pierre Genevès and Nabil Layaïda INRIA Rhône-Alpes, 655 avenue de l Europe, 38330 Montbonnot, France Abstract XPath is the standard language for addressing parts of

More information

Automatic Resource Bound Analysis and Linear Optimization. Jan Hoffmann

Automatic Resource Bound Analysis and Linear Optimization. Jan Hoffmann Automatic Resource Bound Analysis and Linear Optimization Jan Hoffmann Beyond worst-case analysis Beyond worst-case analysis of algorithms Beyond worst-case analysis of algorithms Resource bound analysis

More information

On Incomplete XML Documents with Integrity Constraints

On Incomplete XML Documents with Integrity Constraints On Incomplete XML Documents with Integrity Constraints Pablo Barceló 1, Leonid Libkin 2, and Juan Reutter 2 1 Department of Computer Science, University of Chile 2 School of Informatics, University of

More information

Private Comparison. Chloé Hébant 1, Cedric Lefebvre 2, Étienne Louboutin3, Elie Noumon Allini 4, Ida Tucker 5

Private Comparison. Chloé Hébant 1, Cedric Lefebvre 2, Étienne Louboutin3, Elie Noumon Allini 4, Ida Tucker 5 Private Comparison Chloé Hébant 1, Cedric Lefebvre 2, Étienne Louboutin3, Elie Noumon Allini 4, Ida Tucker 5 1 École Normale Supérieure, CNRS, PSL University 2 IRIT 3 Chair of Naval Cyber Defense, IMT

More information

New techniques for trail bounds and application to differential trails in Keccak

New techniques for trail bounds and application to differential trails in Keccak New techniques for trail bounds and application to differential trails in Keccak Silvia Mella 1,2 Joan Daemen 1,3 Gilles Van Assche 1 1 STMicroelectronics 2 University of Milan 3 Radboud University Fast

More information

Alternating register automata on finite data words and trees DIEGO FIGUEIRA

Alternating register automata on finite data words and trees DIEGO FIGUEIRA Logical Methods in Computer Science Vol. 8 (1:22) 2012, pp. 1 43 www.lmcs-online.org Submitted Nov. 5, 2010 Published Mar. 10, 2012 Alternating register automata on finite data words and trees DIEGO FIGUEIRA

More information

Cognitive Systems 300: Probability and Causality (cont.)

Cognitive Systems 300: Probability and Causality (cont.) Cognitive Systems 300: Probability and Causality (cont.) David Poole and Peter Danielson University of British Columbia Fall 2013 1 David Poole and Peter Danielson Cognitive Systems 300: Probability and

More information

Flexible queries in XML native databases

Flexible queries in XML native databases Flexible queries in XML native databases Olfa Arfaoui 1, Minyar Sassi Hidri 2 1,2 Université Tunis El Manar Ecole Nationale d Ingénieurs de Tunis Laboratoire Signal, Image et Technologies de l Information

More information

QALGO workshop, Riga. 1 / 26. Quantum algorithms for linear algebra.

QALGO workshop, Riga. 1 / 26. Quantum algorithms for linear algebra. QALGO workshop, Riga. 1 / 26 Quantum algorithms for linear algebra., Center for Quantum Technologies and Nanyang Technological University, Singapore. September 22, 2015 QALGO workshop, Riga. 2 / 26 Overview

More information

QuIDD-Optimised Quantum Algorithms

QuIDD-Optimised Quantum Algorithms QuIDD-Optimised Quantum Algorithms by S K University of York Computer science 3 rd year project Supervisor: Prof Susan Stepney 03/05/2004 1 Project Objectives Investigate the QuIDD optimisation techniques

More information

Tailored Bregman Ball Trees for Effective Nearest Neighbors

Tailored Bregman Ball Trees for Effective Nearest Neighbors Tailored Bregman Ball Trees for Effective Nearest Neighbors Frank Nielsen 1 Paolo Piro 2 Michel Barlaud 2 1 Ecole Polytechnique, LIX, Palaiseau, France 2 CNRS / University of Nice-Sophia Antipolis, Sophia

More information

QR Factorization of Tall and Skinny Matrices in a Grid Computing Environment

QR Factorization of Tall and Skinny Matrices in a Grid Computing Environment QR Factorization of Tall and Skinny Matrices in a Grid Computing Environment Emmanuel AGULLO (INRIA / LaBRI) Camille COTI (Iowa State University) Jack DONGARRA (University of Tennessee) Thomas HÉRAULT

More information

An Algorithm for Transforming XPath Expressions According to Schema Evolution

An Algorithm for Transforming XPath Expressions According to Schema Evolution An Algorithm for Transforming XPath Expressions According to Schema Evolution Kazuma Hasegawa Graduate School of Library, Information and Media Studies University of Tsukuba s1221595@u.tsukuba.ac.jp Kosetsu

More information

A Learning Algorithm for Top-Down XML Transformations

A Learning Algorithm for Top-Down XML Transformations A Learning Algorithm for Top-Down XML Transformations Aurélien Lemay University of Lille Mostrare project, INRIA & LIFL Sebastian Maneth NICTA and UNSW Sydney, Australia Joachim Niehren INRIA Lille Mostrare

More information

Abstract parsing: static analysis of dynamically generated string output using LR-parsing technology

Abstract parsing: static analysis of dynamically generated string output using LR-parsing technology Abstract parsing: static analysis of dynamically generated string output using LR-parsing technology Kyung-Goo Doh 1, Hyunha Kim 1, David A. Schmidt 2 1. Hanyang University, Ansan, South Korea 2. Kansas

More information

On the Memory Requirements of XPath Evaluation over XML Streams

On the Memory Requirements of XPath Evaluation over XML Streams On the Memory Requirements of XPath Evaluation over XML Streams iv Bar-Yossef Marcus Fontoura Vanja Josifovski Abstract The important challenge of evaluating XPath queries over XML streams has sparked

More information

Incremental XPath Evaluation

Incremental XPath Evaluation Incremental XPath Evaluation Henrik Björklund Wouter Gelade Wim Martens Abstract We study the problem of incrementally maintaining the result of an XPath query on an XML database under updates. In its

More information

Forward-XPath and extended register automata

Forward-XPath and extended register automata Forward-XPath and extended register automata Diego Figueira To cite this version: Diego Figueira. Forward-XPath and extended register automata. International Conference on Database Theory (ICDT), Mar 2010,

More information

IMITATOR: A Tool for Synthesizing Constraints on Timing Bounds of Timed Automata

IMITATOR: A Tool for Synthesizing Constraints on Timing Bounds of Timed Automata ICTAC 09 IMITATOR: A Tool for Synthesizing Constraints on Timing Bounds of Timed Automata Étienne ANDRÉ Laboratoire Spécification et Vérification LSV, ENS de Cachan & CNRS Étienne ANDRÉ (LSV) ICTAC 09

More information

B- TREE. Michael Tsai 2017/06/06

B- TREE. Michael Tsai 2017/06/06 B- TREE Michael Tsai 2017/06/06 2 B- Tree Overview Balanced search tree Very large branching factor Height = O(log n), but much less than that of RB tree Usage: Large amount of data to be stored - - Partially

More information

Extensions of Bayesian Networks. Outline. Bayesian Network. Reasoning under Uncertainty. Features of Bayesian Networks.

Extensions of Bayesian Networks. Outline. Bayesian Network. Reasoning under Uncertainty. Features of Bayesian Networks. Extensions of Bayesian Networks Outline Ethan Howe, James Lenfestey, Tom Temple Intro to Dynamic Bayesian Nets (Tom Exact inference in DBNs with demo (Ethan Approximate inference and learning (Tom Probabilistic

More information

Journal of Applied Logic

Journal of Applied Logic Journal of Applied Logic 8 (2010) 210 232 Contents lists available at ScienceDirect Journal of Applied Logic www.elsevier.com/locate/jal Reasoning about XML with temporal logics and automata Leonid Libkin

More information

B. Piwowarski P. Gallinari G. Dupret

B. Piwowarski P. Gallinari G. Dupret PRUM Precision Recall with User Modelling Application to XML B. Piwowarski P. Gallinari G. Dupret Outline Why measuring? XML Information Retrieval Current metrics GPR, PRng, XCG PRUM A new user model A

More information

Propositional Logic: Methods of Proof (Part II)

Propositional Logic: Methods of Proof (Part II) Propositional Logic: Methods of Proof (Part II) This lecture topic: Propositional Logic (two lectures) Chapter 7.1-7.4 (previous lecture, Part I) Chapter 7.5 (this lecture, Part II) (optional: 7.6-7.8)

More information

Satisfiability of Simple XPath Fragments under Duplicate-Free DTDs

Satisfiability of Simple XPath Fragments under Duplicate-Free DTDs IEICE TRANS. INF. & SYST., VOL.E96 D, NO.5 MAY 2013 1029 PAPER Special Section on Data Engineering and Information Management Satisfiability of Simple XPath Fragments under Duplicate-Free DTDs Nobutaka

More information

6.830 Lecture 11. Recap 10/15/2018

6.830 Lecture 11. Recap 10/15/2018 6.830 Lecture 11 Recap 10/15/2018 Celebration of Knowledge 1.5h No phones, No laptops Bring your Student-ID The 5 things allowed on your desk Calculator allowed 4 pages (2 pages double sided) of your liking

More information

Grammar formalisms Tree Adjoining Grammar: Formal Properties, Parsing. Part I. Formal Properties of TAG. Outline: Formal Properties of TAG

Grammar formalisms Tree Adjoining Grammar: Formal Properties, Parsing. Part I. Formal Properties of TAG. Outline: Formal Properties of TAG Grammar formalisms Tree Adjoining Grammar: Formal Properties, Parsing Laura Kallmeyer, Timm Lichte, Wolfgang Maier Universität Tübingen Part I Formal Properties of TAG 16.05.2007 und 21.05.2007 TAG Parsing

More information

Computation Theory Finite Automata

Computation Theory Finite Automata Computation Theory Dept. of Computing ITT Dublin October 14, 2010 Computation Theory I 1 We would like a model that captures the general nature of computation Consider two simple problems: 2 Design a program

More information

Factorized Relational Databases Olteanu and Závodný, University of Oxford

Factorized Relational Databases   Olteanu and Závodný, University of Oxford November 8, 2013 Database Seminar, U Washington Factorized Relational Databases http://www.cs.ox.ac.uk/projects/fd/ Olteanu and Závodný, University of Oxford Factorized Representations of Relations Cust

More information

Inference in first-order logic. Production systems.

Inference in first-order logic. Production systems. CS 1571 Introduction to AI Lecture 17 Inference in first-order logic. Production systems. Milos Hauskrecht milos@cs.pitt.edu 5329 Sennott Square Sentences in Horn normal form Horn normal form (HNF) in

More information

Evolving a New Feature for a Working Program

Evolving a New Feature for a Working Program Evolving a New Feature for a Working Program Mike Stimpson arxiv:1104.0283v1 [cs.ne] 2 Apr 2011 January 18, 2013 Abstract A genetic programming system is created. A first fitness function f 1 is used to

More information

Chapter 7 R&N ICS 271 Fall 2017 Kalev Kask

Chapter 7 R&N ICS 271 Fall 2017 Kalev Kask Set 6: Knowledge Representation: The Propositional Calculus Chapter 7 R&N ICS 271 Fall 2017 Kalev Kask Outline Representing knowledge using logic Agent that reason logically A knowledge based agent Representing

More information

Přednáška 12. Důkazové kalkuly Kalkul Hilbertova typu. 11/29/2006 Hilbertův kalkul 1

Přednáška 12. Důkazové kalkuly Kalkul Hilbertova typu. 11/29/2006 Hilbertův kalkul 1 Přednáška 12 Důkazové kalkuly Kalkul Hilbertova typu 11/29/2006 Hilbertův kalkul 1 Formal systems, Proof calculi A proof calculus (of a theory) is given by: A. a language B. a set of axioms C. a set of

More information

Artificial Intelligence Bayes Nets: Independence

Artificial Intelligence Bayes Nets: Independence Artificial Intelligence Bayes Nets: Independence Instructors: David Suter and Qince Li Course Delivered @ Harbin Institute of Technology [Many slides adapted from those created by Dan Klein and Pieter

More information

Incremental Query Rewriting for OWL 2 QL

Incremental Query Rewriting for OWL 2 QL Incremental Query Rewriting for OWL 2 QL Tassos Venetis, Giorgos Stoilos, and Giorgos Stamou School of Electrical and Computer Engineering National Technical University of Athens, Greece 1 Introduction

More information

Search and Lookahead. Bernhard Nebel, Julien Hué, and Stefan Wölfl. June 4/6, 2012

Search and Lookahead. Bernhard Nebel, Julien Hué, and Stefan Wölfl. June 4/6, 2012 Search and Lookahead Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg June 4/6, 2012 Search and Lookahead Enforcing consistency is one way of solving constraint networks:

More information

Analysis of Software Artifacts

Analysis of Software Artifacts Analysis of Software Artifacts System Performance I Shu-Ngai Yeung (with edits by Jeannette Wing) Department of Statistics Carnegie Mellon University Pittsburgh, PA 15213 2001 by Carnegie Mellon University

More information

Data Structures and Algorithms " Search Trees!!

Data Structures and Algorithms  Search Trees!! Data Structures and Algorithms " Search Trees!! Outline" Binary Search Trees! AVL Trees! (2,4) Trees! 2 Binary Search Trees! "! < 6 2 > 1 4 = 8 9 Ordered Dictionaries" Keys are assumed to come from a total

More information

FP-growth and PrefixSpan

FP-growth and PrefixSpan FP-growth and PrefixSpan n Challenges of Frequent Pattern Mining n Improving Apriori n Fp-growth n Fp-tree n Mining frequent patterns with FP-tree n PrefixSpan Challenges of Frequent Pattern Mining n Challenges

More information

Solving Quadratic and Other Polynomial Equations

Solving Quadratic and Other Polynomial Equations Section 4.3 Solving Quadratic and Other Polynomial Equations TERMINOLOGY 4.3 Previously Used: This is a review of terms with which you should already be familiar. Formula New Terms to Learn: Discriminant

More information

Knowledge base (KB) = set of sentences in a formal language Declarative approach to building an agent (or other system):

Knowledge base (KB) = set of sentences in a formal language Declarative approach to building an agent (or other system): Logic Knowledge-based agents Inference engine Knowledge base Domain-independent algorithms Domain-specific content Knowledge base (KB) = set of sentences in a formal language Declarative approach to building

More information

What is SSA? each assignment to a variable is given a unique name all of the uses reached by that assignment are renamed

What is SSA? each assignment to a variable is given a unique name all of the uses reached by that assignment are renamed Another Form of Data-Flow Analysis Propagation of values for a variable reference, where is the value produced? for a variable definition, where is the value consumed? Possible answers reaching definitions,

More information

Solving Triangular Systems More Accurately and Efficiently

Solving Triangular Systems More Accurately and Efficiently 17th IMACS World Congress, July 11-15, 2005, Paris, France Scientific Computation, Applied Mathematics and Simulation Solving Triangular Systems More Accurately and Efficiently Philippe LANGLOIS and Nicolas

More information