Abstract
Hierarchies are common in computer systems, from the XML data model in database management systems to file directories in operating systems. When a single hierarchy is imposed on data, a query becomes “brittle” in the sense that it might fail to produce the desired result when executed on the same data organ-ized in a different hierarchy, when the hierarchy evolves to a slightly different hierarchy, or when a user misunderstands the hierarchy when constructing a query. A fixed hierarchy also makes it more difficult to integrate heterogeneous data sources since each source could organize similar data in a different hier-archy. To address these concerns we propose tracking “closest relationships” in an XML data collection. These relationships can be used to create a common representation for data from different hierarchies and can be used to restructure data to any hierarchy.