1. A method for processing a query, comprising: receiving, with a computer including a processor, the query, wherein the query is formed by one or more paths, and wherein each path includes one or more steps; receiving a hierarchical document including one or more document nodes; and while processing the query and traversing the hierarchical document, constructing one or more extraction entries, wherein each extraction entry includes a step instance match candidate identifying a document node and a step instance ancestor path for the document node; and constructing one or more tuples using the one or more extraction entries by associating the step instance match candidate from one of the one or more extraction entries with the step instance match candidate from at least one of the one or more other extraction entries.