Compressing and indexing labeled trees, with applications

  • Authors:
  • Paolo Ferragina;Fabrizio Luccio;Giovanni Manzini;S. Muthukrishnan

  • Affiliations:
  • Università di Pisa, Italy;Università di Pisa, Italy;Università del Piemonte Orientale, Alessandria, Italy;Rutgers University, Piscataway, New Jersey

  • Venue:
  • Journal of the ACM (JACM)
  • Year:
  • 2009

Quantified Score

Hi-index 0.01

Visualization

Abstract

Consider an ordered, static tree T where each node has a label from alphabet Σ. Tree T may be of arbitrary degree and shape. Our goal is designing a compressed storage scheme of T that supports basic navigational operations among the immediate neighbors of a node (i.e. parent, ith child, or any child with some label,…) as well as more sophisticated path-based search operations over its labeled structure. We present a novel approach to this problem by designing what we call the XBW-transform of the tree in the spirit of the well-known Burrows-Wheeler transform for strings [1994]. The XBW-transform uses path-sorting to linearize the labeled tree T into two coordinated arrays, one capturing the structure and the other the labels. For the first time, by using the properties of the XBW-transform, our compressed indexes go beyond the information-theoretic lower bound, and support navigational and path-search operations over labeled trees within (near-)optimal time bounds and entropy-bounded space. Our XBW-transform is simple and likely to spur new results in the theory of tree compression and indexing, as well as interesting application contexts. As an example, we use the XBW-transform to design and implement a compressed index for XML documents whose compression ratio is significantly better than the one achievable by state-of-the-art tools, and its query time performance is order of magnitudes faster.