In this paper, we focus on efficient processing of a given XML keyword query based on SLCA semantics. We assign to each node an ID that equals to its visiting order when traversing the XML document in deep-first order, based on which we construct two kinds of indexes. The first index is an inverted list L of IDDewey labels for each keyword k, where each IDDewey label l ∈ L represents a node v that directly contains k, l consists of node IDs corresponding to all nodes on the path from the document root to v. The second index is a hash table, which records, for each pair of node v and keyword k, the number of occurrence of k in the subtree rooted at v. Based on the two indexes, we propose an algorithm, namely TDHS, that takes the shortest inverted IDDewey label list as the working list and computes all SLCA results in a top-down manner based on hash search. Compared with existing methods, our method achieves the worst case time complexity of O(m · |L_1~(ID)|) for a given keyword query Q, where |L_1~(ID)| is the number of distinct node IDs in the shortest inverted IDDewey label list of Q. Our experimental results verify the performance advantages of our method according to various evaluation metrics.
展开▼