1. A method for expanding a template tree, said method comprising: receiving, by a processor of a computer system, a search request comprising (i) a search query and (ii) path information specifying at least one path of data nodes of the template tree, said template tree being a hierarchically organized data structure of data nodes, each specified path in the path information comprising a sequence of data nodes of the template tree; traversing, by the processor, the data nodes in each sequence in each specified path and expanding each traversed data node that does not have a child node in the template tree to form in the template tree one or more child nodes corresponding to each expanded data node and not expanding each traversed data node that has a child node in the template tree; and instantiating, by the processor, each formed one or more child nodes with data values by retrieving the data values, in accordance with the search query, from at least one data source.