On the complexity of XPath containment in the presence of disjunction, DTDs, and variables

XPath is a simple language for navigating an XML-tree and returning a set of answer nodes. The focus in this paper is on the complexity of the containment problem for various fragments of XPath. We restrict attention to the most common XPath expressions which navigate along the child and/or descenda...

Full description

Bibliographic Details
Main Authors: Frank Neven, Thomas Schwentick
Format: Article
Language:English
Published: Logical Methods in Computer Science e.V. 2006-07-01
Series:Logical Methods in Computer Science
Subjects:
Online Access:https://lmcs.episciences.org/2243/pdf
Description
Summary:XPath is a simple language for navigating an XML-tree and returning a set of answer nodes. The focus in this paper is on the complexity of the containment problem for various fragments of XPath. We restrict attention to the most common XPath expressions which navigate along the child and/or descendant axis. In addition to basic expressions using only node tests and simple predicates, we also consider disjunction and variables (ranging over nodes). Further, we investigate the containment problem relative to a given DTD. With respect to variables we study two semantics, (1) the original semantics of XPath, where the values of variables are given by an outer context, and (2) an existential semantics introduced by Deutsch and Tannen, in which the values of variables are existentially quantified. In this framework, we establish an exact classification of the complexity of the containment problem for many XPath fragments.
ISSN:1860-5974