Optimal evaluation of structural relationships between XML nodes is crucial for efficient processing of XML queries. Though stack-based structural join algorithms showed improved performance over the merge-based algorithms, the algorithms still suffer potential overhead in processing XML path expressions. This is mainly because the existing structural join algorithms have been designed for returning (ancestor, descendant) node pairs even when the actual processing of the XML path queries requires the structural join operators to return either descendant nodes only or ancestor nodes only, which makes a query processor further compute for elimination of unnecessary nodes from the results. To address this problem, this paper proposes a new operator called structural semi-join and the algorithms for efficient processing XML path queries. The experiments show that the proposed algorithms improve the performance of the XML path processing by up to an order of magnitude.
展开▼