loading...
On the Intersection of XPath Expressions
Montreal, Canada July 25-July 27
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/IDEAS.2005.399th International Database Engineerin ...
 This Article 
 
PDF
HTML
 
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Beda Christoph Hammerschmidt, University of Lübeck
Martin Kempa, sd&m AG
Volker Linnemann, University of Lübeck

XPath is a common language for selecting nodes in an XML document. XPath uses so called path expressions which describe a navigation path through semistructured data. In the last years some of the characteristics of XPath have been discussed. Examples include the containment of two XPath expressions p and p' (p ⊆ p'). To the best of our knowledge the intersection of two XPath expressions (p ∩ p') has not been treated yet. The intersection of p and p' is the set that contains all XML nodes that are selected both by p and p'. In the context of indexes in XML databases the emptiness of the intersection of p and p' is a major issue when updating the index. In order to keep the index consistent to the indexed data, it has to be detected if an index that is defined upon p is affected by a modifying database operation with the path expression p'.

In this paper we introduce the intersection problem for XPath and give a motivation for its relevance. We present an efficient intersection algorithm for XPath expressions without the NOT operator that is based on finite automata. For expressions that contain the NOT operator the intersection problem becomes NP-complete leading to exponential computations in general. With an average case simulation we show that the NPcompleteness is no significant limitation for most real-world database operations.

Citation:
Beda Christoph Hammerschmidt, Martin Kempa, Volker Linnemann, "On the Intersection of XPath Expressions," ideas, pp.49-57, 9th International Database Engineering & Application Symposium (IDEAS'05), 2005
Usage of this product signifies your acceptance of the Terms of Use.


Suggestions