An XML structural join evaluates structural relationships (e.g. parent-child or ancestor-descendant) between XML elements. It serves as an important computation unit in XML pattern matching. Several classical structural join algorithms have been proposed such as Stack-tree join and XR-Tree join. In this paper, we consider to answer the problem of structural join by partitioning. The Dietz numbering scheme is used for encoding since nodes with the Dietz encodings could be well distributed on a plane. We first extend the relationships between nodes to the relationships between partitions on a plane and obtain some observations and properties about the relationships between partitions. We then propose a new partition-based method, named P-Join for structural join between ancestor and descendant nodes based on the properties derived from our observations. Moreover, we present an enhanced partitioned-based structural join algorithm and two optimized methods. Extensive experiments show that the performance of our proposed algorithms outperform that of Stack-tree and XR-Tree algorithms. In order to store the partitioning results, we design a simple but efficient index structure, called PSS-tree. The experimental result shows that it has less maintenance overhead than XR-Tree. Copyright © 2008, Australian Computer Society Inc.
|Number of pages||21|
|Journal||Journal of Research and Practice in Information Technology|
|Publication status||Published - 2008|