Compiler transformations for high-performance computing
ACM Computing Surveys (CSUR)
Optimization of queries with user-defined predicates
ACM Transactions on Database Systems (TODS)
XQuery formal semantics state and challenges
ACM SIGMOD Record
Optimizing Regular Path Expressions Using Graph Schemas
ICDE '98 Proceedings of the Fourteenth International Conference on Data Engineering
Query Optimization in the Presence of Foreign Functions
VLDB '93 Proceedings of the 19th International Conference on Very Large Data Bases
XDuce: A Typed XML Processing Language (Preliminary Report)
Selected papers from the Third International Workshop WebDB 2000 on The World Wide Web and Databases
UnQL: a query language and algebra for semistructured data based on structural recursion
The VLDB Journal — The International Journal on Very Large Data Bases
Compiler support for efficient processing of XML datasets
ICS '03 Proceedings of the 17th annual international conference on Supercomputing
XPRESS: a queriable compression for XML data
Proceedings of the 2003 ACM SIGMOD international conference on Management of data
Enumerating XML data for dynamic updating
ADC '05 Proceedings of the 16th Australasian database conference - Volume 39
Recursion in XQuery: put your distributivity safety belt on
Proceedings of the 12th International Conference on Extending Database Technology: Advances in Database Technology
Hi-index | 0.00 |
Structurally recursive XML queries are an important query class that follows the structure of XML data. At present, it is difficult for XQuery to type and optimize structurally recursive queries because of polymorphic recursive functions involved in the queries. In this paper, we propose a new technique called structural function inlining which inlines recursive functions used in a query by making good use of available type information. Based on the technique, we develop a new approach to typing and optimizing structurally recursive queries. The new approach yields a more precise result type for a query. Furthermore, it produces an optimal algebraic expression for the query with respect to the type information. When a structurally recursive query is applied to non-recursive XML data, our approach translates the query into a finitely nested iterations. We conducted several experiments with commonly used real-life and synthetic datasets. The experimental results show that the number of node lookups by our approach is on the average 3.7 times and up to 279.8 times smaller than that by the XQuery core's current approach in evaluating structurally recursive queries.