Welcome to DiSC 2003
SIGMOD 2002
PODS 2002
 SIGMOD RECORD 2002
 ADBIS 2002
CIKM 2002
CoopIS 2002
 EDBT 2002
 ER 2002
Data Engineering Bul
DEXA_EC-WEB 2002
DMKD 2002
 DPDJ 2002
HYPERTEXT 2002
ICDE 2002
<<< = ICDE'02 Papers>>>
 = Demos
 = ICDE'02 Posters
ICDM 2002
JCDL 2002
KDD 2002
 KDD_EXPLORATIONS 20
KRDB 2002
MDM 2002
MIS 2002
RIDE 2002
SBBD 2002
 SIGIR 2002
 SIGIR FORUM 2002
SSDBM 2002
TODS 2002
TIME 2002
VLDB 2002
VLDBJ 2002

Structural Joins: A Primitive for Efficient XML Query Pattern Matching


Divesh Srivastava, Shurug Al-Khalifa, H. V. Jagadish, Nick Koudas, Jignesh M. Patel, and Yuqing Wu

  View Paper (PDF)  

Return to Session 4: Semistructured Data, Metadata and XML-2


Abstract

XML queries typically specify patterns of selection predicates on multiple elements that have some specified tree structured relationships. The primitive tree structured relationships are parent-child and ancestor-descendant, and finding all occurrences of these relationships in an XML database is a core operation for XML query processing. We develop two families of structural join algorithms for this task: tree-merge and stack-tree. The tree-merge algorithms are a natural extension of traditional merge joins and the multi-predicate merge joins, while the stack-tree algorithms have no counterpart in traditional relational join processing. We present experimental results on a range of data and queries using the TIMBER native XML query engine built on top of SHORE. We show that while, in some cases, tree-merge algorithms can have performance comparable to stack-tree algorithms, in many cases they are considerably worse. This behavior is explained by analytical results that demonstrate that, on sorted inputs, the stack-tree algorithms have worst-case I/O and CPU complexities linear in the sum of the sizes of inputs and output, while the tree-merge algorithms do not have the same guarantee.


DiSC'03 © 2003 Association for Computing Machinery