SCALABLE, SCHEMALESS DOCUMENT QUERY MODEL
First Claim
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 comprising a node name and a node path from a root node of the document, the method comprising:
- executing on the processor instructions configured to, upon receiving a query specifying a query node path comprising at least one query node identifier;
identify at least one matching document having at least one matching node comprising, for respective query node identifiers, at least one path node in the node path of the matching node that matches the query node identifier; and
present at least a portion of the at least one matching document in response to the query.
3 Assignments
0 Petitions
Accused Products
Abstract
Query models for document sets (such as XML documents or records in a relational database) typically involve a schema defining the structure of the documents. However, rigidly defined schemas often raise difficulties with document validation with even inconsequential structural variations. Additionally, queries developed against schema-constrained documents are often sensitive to structural details and variations that are not inconsequential to the query, resulting in inaccurate results and development complications, and that may break upon schema changes. Instead, query models for hierarchically structured documents that enable “twig” queries specifying only the structural details of document nodes that are relevant to the query (e.g., students in a student database having a sibling named “Lee” and a teacher named “Smith,” irrespective of unrelated structural details of the document). Such “twig” query models may enable a more natural query development, and continued accuracy of queries in the event of unrelated schema variations and changes.
37 Citations
20 Claims
-
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 comprising a node name and a node path from a root node of the document, the method comprising:
executing on the processor instructions configured to, upon receiving a query specifying a query node path comprising at least one query node identifier; identify at least one matching document having at least one matching node comprising, for respective query node identifiers, at least one path node in the node path of the matching node that matches the query node identifier; and present at least a portion of the at least one matching document in response to the query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
19. A nonvolatile computer-readable storage device comprising instructions that, when executed on a processor of a device, apply queries to a document set comprising at least one document, respective documents comprising at least one node comprising a node name and a node path from a root node of the document, by:
upon receiving a query specifying a query node path comprising at least one query node identifier; identifying at least one matching document having at least one matching node comprising, for respective query node identifiers, at least one path node in the node path of the matching node that matches the query node identifier; and presenting at least a portion of the at least one matching document in response to the query.
-
20. A system of applying, on a device having a processor and a memory, queries to a document set comprising at least one document, respective documents comprising at least one node comprising a node name and a node path from a root node of the document, the system comprising:
-
a document index indicating, for respective query node paths, at least one matching document respectively having at least one matching node comprising, for respective query node identifiers, at least one path node in the node path of the matching node that matches the query node identifier; a document indexing component comprising instructions stored in the memory that, when executed on the processor, upon receiving a document, index the document in the document index according to, for respective nodes, the node path; and a query processing component comprising instructions stored in the memory that, when executed on the processor, upon receiving a query specifying a query node path comprising at least one query node identifier; examine the document index to identify at least one matching document having at least one matching node comprising, for respective query node identifiers, at least one path node in the node path of the matching node that matches the query node identifier; and present at least a portion of the at least one matching document in response to the query.
-
Specification