1. A computer-implemented method of composing a query of hierarchical data, comprising: receiving a selection of at least one query node from a set of one or more query nodes included in a query tool, wherein each query node represents elements of the hierarchical data, and wherein a mapping template specifies mappings from the one or more query nodes of the query tool to the elements of the hierarchal data presenting, in the query tool, a form for entering a query predicate corresponding to the at least one selected query node; receiving, in the query tool, one or more query predicates specified in the form; composing a query of the hierarchical data from a base query, the one or more query predicates, and the mapping template, wherein the base query identifies a data source for the composed query; and modifying the base query to include the one or more query predicates.