Efficient reasoning about data trees via integer linear programming

Claire David, Leonid Libkin, Tony Tan

Research output: Contribution to journalArticlepeer-review

Abstract

Data trees provide a standard abstraction of XML documents with data values: they are trees whose nodes, in addition to the usual labels, can carry labels from an infinite alphabet (data). Therefore, one is interested in decidable formalisms for reasoning about data trees. While some are known—such as the two-variable logic—they tend to be of very high complexity, and most decidability proofs are highly nontrivial. We are therefore interested in reasonable complexity formalisms as well as better techniques for proving decidability.

Here we show that many decidable formalisms for data trees are subsumed—fully or partially—by the power of tree automata together with set constraints and linear constraints on cardinalities of various sets of data values. All these constraints can be translated into instances of integer linear programming, giving us an NP upper bound on the complexity of the reasoning tasks. We prove that this bound, as well as the key encoding technique, remain very robust, and allow the addition of features such as counting of paths and patterns, and even a concise encoding of constraints, without increasing the complexity. The NP bound is tight, as we also show that the satisfiability of a single set constraint is already NP-hard.

We then relate our results to several reasoning tasks over XML documents, such as satisfiability of schemas and data dependencies and satisfiability of the two-variable logic. As a final contribution, we describe experimental results based on the implementation of some reasoning tasks using the SMT solver Z3.
Original languageEnglish
Article number19
Pages (from-to)19:1-19:28
Number of pages28
JournalACM Transactions on Database Systems
Volume37
Issue number3
DOIs
Publication statusPublished - 1 Sep 2012

Fingerprint

Dive into the research topics of 'Efficient reasoning about data trees via integer linear programming'. Together they form a unique fingerprint.

Cite this