Document Type


Publication Date



Mapping of XML data into and out of relational database systems, including query processing over such virtual XML views that wrap relational sources, has become a topic of critical importance recently. The Rainbow XML data management system, being developed at WPI, focuses on the processing and optimization of XQuery queries against XML views of that relational data. For this, Rainbow’s query model, XML Algebra Tree (XAT), has been designed. Because the XML formatting operators are interleaved with the computation operators, this XAT must then be optimized before being translated into SQL. For this, our computation pushdown technology splits the XAT into the XML-specific and SQL-doable operators with the later then being converted into SQL statements. However, the XAT after computation pushdown may contain unreferenced columns or unused operators. We show that these unneeded operators cannot be discovered by the relational engine after SQL generation. Leaving these operators in the tree would create unnecessarily large SQL statements that will slow down the overall execution. Our main contributions to XML query processing, described in this paper, are threefold. One, we describe the XAT algebra for modeling XQuery expressions. Two, we propose rewriting rules to optimize XQueries by cancelling operators. Three, we describe a cutting algorithm that removes unreferenced columns and operators from the XATs. We have implemented the techniques discussed in this paper in the Rainbow system. Our experimental study compares the performance of execution before and after operator cancel out and before and after cutting.