VQBD: FuzzyTree
FuzzyTree is a sub-project of the VQBD (Visualizing, Querying, and Browsing Semistructured Data) project at the University of Maryland. The VQBD ("vee-cubed") project addresses the following problem: What is the best way to explore an XML document of unknown structure and content? We focus on XML documents that are too large to browse in their entirety, even with the assistance of pretty-printing software (e.g., multi-megabyte or larger XML documents). In this context, we use the term data exploration to refer to the process by which a user gathers the information needed to use the data for a specific purpose (e.g., generating a report, writing queries, building user interfaces, writing applications).

FuzzyTree is implemented in Java, and is based on the JTree component. The FuzzyTree shows a partial view of an XML tree and is primarily intended for viewing large XML documents in a limited display size. The number of elements to display, x, is specified, and the tree displays the "best" x elements in the tree. Determining the best elements to display is done by assigning a score to each node in the document, based on the size of the subtree that the node is the root of, and the number of subtrees isomorphic to the subtree. More details on the algorithm are provided in the user guide.

Expanding and collapsing subtrees in the FuzzyTree is accomplished by modifying the scores of nodes so that they will be added to or removed from the tree. As a result, expanding or collapsing in the FuzzyTree does not have the same behavior as in a JTree. In particular, a node may have three states, in contrast with the JTree, where a node has one of two states (open or closed). In the FuzzyTree, a node may be fully open (all of its children are displayed), partially open (some of its children are displayed), or closed (none of its children are displayed).


Source code for FuzzyTree is released under the terms of the GNU public license.


Donna Malayeri
Sudarshan S. Chawathe

Web Accessibility