XML Indexing & Storage System
HOME PEOPLE PAPERS XISS XISS/R DOWNLOAD LINKS
 
Introduction
Numbering
Algorithms
Data Set
Experiments
Introduction
Schemas
Architecture
Query
Data Set

This research is being sponsored by National Science Foundation CAREER Award IIS-9876037 and Research Infrastructure program EIA-0080123


XISS Path Join Algorithms

EE-Join Algorithm

Join two element sets by A-D relationship
§(e.g.) chapter//figure

 

Input
§{.. Ei ..} and {.. Fj ..}, Ei, Fj are a set of elements from the same document did
Output
§A set of (e,f) pairs such that e is an ancestor of f
Algorithm
    foreach Ei and Fj with the same did do
        foreach e Î Ei and f Î Fj do
            if (e is ancestor of f) then output (e,f);
 

 

EA-Join Algorithm

Join an element set and an attribute set by A-D

§(e.g.) figure[@caption=“Tree Frogs”]

 

Input
§{.. Ei ..}, Ei is a set of elements from a document did
§{.. Aj ..}, Aj is a set of attributes from a document did
Output
§A set of (e,a) pairs such that e is parent of a
Algorithm
    foreach Ei and Aj with the same did do
        foreach e Î Ei and a Î Aj do
            if (e is parent of a) then output (e,a);

 

KC-Join Algorithm

(e.g.) chapter*, figure+, chapter/chapter

 

Input
§{.. Ei ..}, Ei is a set of elements from a document did
Output
§A Kleene closure of {.. Ei ..}
Algorithm
i = 1; Ki = {.. Ei ..};
repeat
   i = i+1; Ki = EE-Join(Ki-1,K1);
until (Ki is empty)
output union of K1, K2, .. , Ki-1;