## An Inflationary Fixed Point Operator in XQuery

### Cached

### Download Links

Citations: | 2 - 0 self |

### BibTeX

@MISC{Afanasiev_aninflationary,

author = {Loredana Afanasiev and Torsten Grust and Maarten Marx and Jan Rittinger and Jens Teubner},

title = {An Inflationary Fixed Point Operator in XQuery},

year = {}

}

### OpenURL

### Abstract

We introduce a controlled form of recursion in XQuery, an inflationary fixed point operator, familiar from the context of relational databases. This operator imposes restrictions on the expressible types of recursion, but we show that it is sufficiently versatile to capture a wide range of interesting use cases, including Regular XPath and its core transitive closure operator. While the optimization of general user-defined recursive functions in XQuery appears elusive, we describe how inflationary fixed points can be efficiently evaluated, provided that the recursive XQuery expressions are distributive. We test distributivity syntactically and algebraically, and provide experimental evidence that XQuery processors can benefit substantially from this mode of evaluation.

### Citations

1520 |
Foundations of Databases
- Abiteboul, Hull, et al.
- 1995
(Show Context)
Citation Context ...il-recursion elimination or unfolding. In this paper, we explore a controlled form of recursion in XQuery, the inflationary fixed point operator (IFP), familiar in the context of relational databases =-=[2]-=-. While less expressive than RUDFs, IFP embraces a family of widespread use cases of recursion, including forms of horizontal and vertical structural recursion and the pervasive transitive closure ope... |

298 |
Magic Sets and Other Strange Ways to Implement Logic Programs
- Bancilhon, Maier, et al.
- 1986
(Show Context)
Citation Context ...guage, the large “relational body” of work in this area should be directly transferable, even more so in the Relational XQuery context. In particular, optimization techniques like Magic Set rewriting =-=[4]-=- should apply (this has not been investigated in the present paper). The adoption of inflationary fixed point semantics by Datalog and SQL:1999 with its WITH RECURSIVE clause (Section 2) led to invest... |

255 | XMark: A Benchmark for XML Data Management
- Schmidt, Waas, et al.
- 2002
(Show Context)
Citation Context ...ximum recursion depth ranged from 5 to 33). XMark Bidder Network. To assess scalability, we computed a bidder network—recursively connecting the sellers and bidders of auctions (Figure 10)—over XMark =-=[24]-=- XML data of increasing size (from scale factor 0.01, small, to 0.33, huge). If Delta is used to compute the IFP of this network, MonetDB/XQuery (2.2 to 3.3 times faster) as well as Saxon (1.2 to 2.7 ... |

236 | Structural joins: A primitive for efficient xml query pattern matching
- Al-Khalifa, Jagadish, et al.
- 2002
(Show Context)
Citation Context ... for recursion to XQuery is a core research matter on various levels of the language. While the efficient evaluation of the recursive XPath axes (e.g.,descendant orancestor) is well understood by now =-=[3, 16]-=-, the optimization of recursive user-defined functions has been found to be tractable only in the presence of restrictions: [23, 13] propose exhaustive inlining of functions but require that functions... |

196 |
An amateur’s introduction to recursive query processing strategies
- Bancilhon, Ramakrishnan
- 1986
(Show Context)
Citation Context ...IMPLEMENTING IFP IN XQUERY The semantics of the IFP operator (1) given in Definition 2.1 can be implemented straightforwardly. Figure 3(a) shows the resulting procedure, commonly referred to as Naïve =-=[10]-=-. At each iteration of the while loop, ebody is executed on the intermediate result sequence res until no new nodes are added to it. Note that the old nodes in res are fed into ebody(·) over and over ... |

109 | xlinkit: A Consistency Checking and Smart Link Generation Service
- Nentwich, Emmerich, et al.
- 2002
(Show Context)
Citation Context ...nd the pervasive transitive closure operator (in particular, IFP captures Regular XPath [3]). Let us consider an example of recursive data and query need. Example 1.1: The DTD of Figure 1 (taken from =-=[4]-=-) describes recursive curriculum data, including courses, their lists of prerequisite courses, the prerequisites of the latter, and so on. The XQuery expression of Figure 2 recursively computes all pr... |

100 | MonetDB/XQuery: a fast XQuery processor powered by a relational engine
- Boncz, Grust, et al.
- 2006
(Show Context)
Citation Context ...II). Compliance with the restriction that distributivity imposes on IFP expressions is rewarded by significant query runtime savings. We illustrate the effect for the XQuery processors MonetDB/XQuery =-=[6]-=- and Saxon [7] (Section IV). Discussion of related work, further details and proofs are provided in [8]. II. DEFINING IFP IN XQUERY In this section we define an IFP operator in XQuery. We regard an XQ... |

83 | Staircase join: Teach a relational DBMS to watch its (axis) steps
- Grust, Keulen, et al.
- 2003
(Show Context)
Citation Context ... for recursion to XQuery is a core research matter on various levels of the language. While the efficient evaluation of the recursive XPath axes (e.g.,descendant orancestor) is well understood by now =-=[3, 16]-=-, the optimization of recursive user-defined functions has been found to be tractable only in the presence of restrictions: [23, 13] propose exhaustive inlining of functions but require that functions... |

68 | XQuery on SQL Hosts
- Grust, Sakr, et al.
(Show Context)
Citation Context ...a syntactical level—a non-invasive approach that can easily be realized on top of existing XQuery processors (Section 3). Further, though, if we adopt a relational view of the XQuery semantics (as in =-=[15]-=-), the seemingly XQuery-specific distributivity notion turns out to be elegantly and uniformly tractable on the familiar algebraic level (Section 4). Compliance with the restriction that IFP imposes o... |

55 | XPath with conditional axis relations
- Marx
- 2004
(Show Context)
Citation Context ...sible types of recursion, but we show that inflationary fixed points nevertheless are sufficiently versatile to capture a wide range of interesting use cases, including the semantics of Regular XPath =-=[2, 3]-=- and its core transitive closure operator. While the optimization of general user-defined recursive functions in XQuery appears elusive, we will describe how inflationary fixed points can be efficient... |

51 |
XQuery 1.0 and XPath 2.0 Formal Semantics. W3C
- Draper, Fankhauser, et al.
- 2007
(Show Context)
Citation Context ...se, with X1, X2 of typenode()*, we have 1 X1 s = X2 ⇔ fs:ddo(X1) = fs:ddo(X2) . 1 Here and in the following, fs:ddo(·) abbreviates the function fs:distinct-doc-order(·) of the XQuery Formal Semantics =-=[9]-=-. 2 An extension to general sequences of typeitem()* is possible and entails the replacement of XQuery’s node set operations (union,except) with appropriate variants. Definition 2.1 (Inflationary Fixe... |

51 |
SQL 1999: Understanding Relational Language Components
- Melton, Simon
- 2001
(Show Context)
Citation Context ...s (‘.’ denotes the context node): with $x seeded by . recurse $x/e . IFP in SQL:1999. IFP has found its way into SQL in terms of the WITH RECURSIVE clause introduced by the ANSI/ISO SQL:1999 standard =-=[21]-=-. To exemplify, consider the table C(course,prerequisite) as a relational representation of the curriculum XML data (Figure 1). The prerequisites P(course_code) of the course with code ’c1’ then are: ... |

35 | ToXgene: a template-based data generator for XML
- Barbosa, Mendelzon, et al.
- 2002
(Show Context)
Citation Context ...a distributive fashion. Transitive Closures. Two more queries, taken directly from related work [22, 11], compute transitive closure problems (we generated the data instances with the help of ToXgene =-=[6]-=-). The first query implements a consistency check over the curriculum data (cf. Figure 1) and finds courses that are among their own prerequisites (Rule 5 in the Curriculum Case Study in Appendix B of... |

29 | Rewriting regular XPath queries on XML views
- FAN, GEERTS, et al.
- 2007
(Show Context)
Citation Context ...he inclusion of a dedicated dyn:closure(·) construct in the EXSLT function library [10]. We have seen applications in Section 5 [22, 11] and recent work on data integration and XML views adds to this =-=[12]-=-. In the domain of relational query languages, Naïve is the most widely described algorithmic account of the inflationary fixed point operator [5]. Its optimized Delta variant, in focus since the 1980... |

28 |
XQuery 1.0: An XML query language, W3C recommendation
- Boag, Chamberlin, et al.
- 2007
(Show Context)
Citation Context ...f the XML data model, namely ordered, unranked trees, is inherently recursive and it is natural to equip the associated languages with constructs that can recursively query such structures. In XQuery =-=[1]-=-, recursion can be achieved only via recursive user-defined functions (RUDFs)— a construct that admits arbitrary types of recursion and largely evades optimization approaches beyond “procedural” impro... |

26 |
The expressivity of xpath with transitive closure
- CATE, B
- 2006
(Show Context)
Citation Context ...a family of widespread use cases of recursion, including forms of horizontal and vertical structural recursion and the pervasive transitive closure operator (in particular, IFP captures Regular XPath =-=[3]-=-). Let us consider an example of recursive data and query need. Example 1.1: The DTD of Figure 1 (taken from [4]) describes recursive curriculum data, including courses, their lists of prerequisite co... |

12 | eXrQuy: Order Indifference in XQuery
- Grust, Rittinger, et al.
- 2007
(Show Context)
Citation Context ...ompiler may choose to remove code from erec that is used to eliminate duplicate nodes after XPath location steps as well as omit those parts of the plan that realize the proper XQuery order semantics =-=[14]-=-. Further, the plans generated by the XQuery compiler typically contain numerous instantiations of plan templates, 7 closed plan fragments with single entry and exit points (enclosed by in Figure 9). ... |

11 | SMOQE: A system for providing secure access to XML
- Fan, Geerts, et al.
- 2006
(Show Context)
Citation Context ...tDB/XQuery and Saxon, completed evaluation up to 5 times faster because the query had been specified in a distributive fashion. Transitive Closures. Two more queries, taken directly from related work =-=[22, 11]-=-, compute transitive closure problems (we generated the data instances with the help of ToXgene [6]). The first query implements a consistency check over the curriculum data (cf. Figure 1) and finds c... |

11 |
On the Evaluation of Recursion in (Deductive) Database Systems by Efficient Differential Fixpoint Iteration
- Güntzer, Kieling, et al.
- 1987
(Show Context)
Citation Context ...(·)’s answer might include nodes which we have seen before. Ultimately, Naïve risks to initiate a substantial amount of redundant computation. A now folklore variation of Naïve is the Delta algorithm =-=[17]-=- of Figure 3(b). In this variant, the payload is invoked only for those nodes that have not been encountered in earlier iterations: node sequence ∆ is the difference between erec(·)’s last answer and ... |

9 |
SAXON—The XSLT and XQuery Processor. http://saxon.sourceforge.net
- Kay
(Show Context)
Citation Context ...ites for the course "c1" ( marks the fixed point computation). savings that the IFP-inherent optimization hook can offer. We document the effect for the XQuery processors MonetDB/XQuery [8] and Saxon =-=[20]-=- in Section 5. This is primarily due to a substantial reduction of the number of items that are fed into the recursion’s payload function (the naïve implementation of Example 1.1 feeds already discove... |

7 |
On the Evaluation of Recursion
- Güntzer, Kieling, et al.
- 1987
(Show Context)
Citation Context ...e fed into ebody(·) over and over again. Depending on the nature of ebody(·), Naïve may involve a substantial amount of redundant computation. A now folklore variation of Naïve is the Delta algorithm =-=[11]-=- of Figure 3(b). In this variant, ebody(·) is invoked only for those nodes that have not been encountered in earlier iterations: node sequence ∆ is the difference between ebody(·)’s last answer and th... |

6 |
The Processing and Evaluation of Transitive Closure Queries" EDBT '88
- Han, Qadeh
(Show Context)
Citation Context ... described algorithmic account of the inflationary fixed point operator [5]. Its optimized Delta variant, in focus since the 1980’s, has been coined delta iteration [17], semi-naïve [5], or wavefront =-=[18]-=- strategy in earlier work. Since our work rests on the adaption of these original ideas to the XQuery Data Model and language, the large “relational body” of work in this area should be directly trans... |

6 | Structural Function Inlining Technique for Structurally Recursive XML Queries
- Park, Min, et al.
- 2002
(Show Context)
Citation Context ...ve XPath axes (e.g.,descendant orancestor) is well understood by now [3, 16], the optimization of recursive user-defined functions has been found to be tractable only in the presence of restrictions: =-=[23, 13]-=- propose exhaustive inlining of functions but require that functions are structurally recursive (use axeschild anddescendant to navigate into subtrees only) over acyclic schemata to guarantee that inl... |

5 |
Comparing XSLT and XQuery
- Kay
- 2005
(Show Context)
Citation Context ...e with the restriction that distributivity imposes on IFP expressions is rewarded by significant query runtime savings. We illustrate the effect for the XQuery processors MonetDB/XQuery [6] and Saxon =-=[7]-=- (Section IV). Discussion of related work, further details and proofs are provided in [8]. II. DEFINING IFP IN XQUERY In this section we define an IFP operator in XQuery. We regard an XQuery expressio... |

3 |
Distributivity for XQuery Expressions
- Afanasiev
- 2007
(Show Context)
Citation Context ... infer ds$x (e) for an input expression e, then it is guaranteed that e is indeed distributive for $x. The proof of this implication, by induction on the syntactical structure of e, is to be found in =-=[2]-=-. Distributivity Hints. Still, the inference rules of Figure 5 can only check sufficient syntactical conditions for distributivity to hold. The processor might thus actually miss distributive expressi... |

2 |
XQuery Function Inlining for Optimizing XQuery Queries
- Grinev, Lizorkin
- 2004
(Show Context)
Citation Context ...ve XPath axes (e.g.,descendant orancestor) is well understood by now [3, 16], the optimization of recursive user-defined functions has been found to be tractable only in the presence of restrictions: =-=[23, 13]-=- propose exhaustive inlining of functions but require that functions are structurally recursive (use axeschild anddescendant to navigate into subtrees only) over acyclic schemata to guarantee that inl... |

2 |
LiXQuery: A Foundation for XQuery Research
- Hidders, Michiels, et al.
- 2005
(Show Context)
Citation Context ...o distinct text nodes. The inference rules of Figure 5 have been designed to implement these considerations. The rules syntactically assess the distributivity safety ds$x (e) of an arbitrary LiXQuery =-=[19]-=- input expression e by traversing e’s parse tree in a bottom-up fashion. LiXQuery is a sublanguage of XQuery that preserves Turing-completeness, removes all but the most basic types, and excludes sele... |

1 | An Inflationary Fixed Point in XQuery - Afanasiev, Grust, et al. - 2008 |