Date Added: Mar 2010
A purely relational account of the true XQuery semantics can turn any relational database system into an XQuery processor. Compiling nested expressions of the fully compositional XQuery language, however, yields odd algebraic plan shapes featuring scattered distributions of join operators that currently overwhelm commercial SQL query optimizers. This paper rewrites such plans before submission to the relational database back-end. Once cast into the shape of join graphs, the authors have found off-the-shelf relational query optimizers-the B-tree indexing subsystem and join tree planner, in particular|to cope and even be autonomously capable of "Reinventing" advanced processing strategies that have originally been devised specifically for the XQuery do-main, e.g., XPath step reordering, axis reversal, and path stitching.