1. A method of applying, on a device having a processor, queries to a document set comprising at least one document, respective documents comprising at least one node located at a node path from a root node of the document and having a node identifier and a node value, the method comprising: executing on the processor instructions configured to, upon receiving a query specifying a query node path comprising at least one pair of a query node identifier and a query node value for the node having the query node identifier: identify at least one matching document having at least one matching node comprising, for respective pairs of query node identifiers and query node values, at least one path node in the node path of the matching node that matches the query node identifier and a node value of the path node that matches the query node value; and present at least a portion of the at least one matching document in response to the query.