1. A method for formulating a hierarchical tree of data items, the method comprising: an act of providing a tree formulation user interface that is structured such that a user may provide a designation of a particular data item, and may provide a child characteristic of data items that are to be assigned as child data items of the particular data item, and that includes a mechanism for recursively performing the same to define relationships between multiple generations of data items; an act of automatically formulating and submitting a query to discover at least first generation and second generation data items based on the child characteristics provided in the tree formulation user interface; and an act of displaying a portion of the hierarchical tree including one node that is not expanded; an act of receiving an indication that the user is causing the one node to be expanded; in response to detecting the user indication that the one node is to be expanded, an act of formulating and submitting a new query for the one node to discover one or more child data items of the one node, on demand, and while refraining from formulating and submitting the new query prior to detecting the user indication that the one node is to be expanded; and after the one or more child data items of the one node are discovered, an act of modifying the displayed portion of the hierarchical tree by displaying the one or more child nodes of the one node in the hierarchical tree as children of the one node.