Accelerating value-based lookup of XML document in XQuery
First Claim
1. A method comprising performing a machine-executed operation involving instructions, wherein said instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform certain steps including:
- for each particular node of a set of one or more nodes in an XML document, storing an entry for the particular node in a first index; and
for each complex node that is in the set of nodes and has one or more child nodes, performing steps comprising;
identifying a set of all simple nodes that are descendants of the complex node and that have no child nodes;
generating, based on the values of the simple nodes in the set, a representative node value for the complex node; and
associating the representative node value with an index entry in the first index for the particular complex node;
wherein the machine-executed operation is at least one of (a) sending said instructions over transmission media, (b) receiving said instructions over transmission media, (c) storing said instructions onto a machine-readable storage medium, or (d) executing the instructions.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for accelerating value-based lookups of XML documents in XQuery is provided. XML indices can help to optimize SQL queries of XML documents stored in object-relational databases. Certain SQL/XML functions such as XMLTABLE( ) use XQuery expressions to query XML documents. Previously, such queries could not use the XML index because the PATH table of the XML index was not defined for XQuery semantics. Techniques described herein extend the XML index for use with queries that require evaluation of XQuery expressions. Consequently, techniques described herein accelerate value-based lookups of XML documents in XQuery by introducing the possibility of an index-assisted evaluation of XQuery expressions.
-
Citations
30 Claims
-
1. A method comprising performing a machine-executed operation involving instructions, wherein said instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform certain steps including:
-
for each particular node of a set of one or more nodes in an XML document, storing an entry for the particular node in a first index; and for each complex node that is in the set of nodes and has one or more child nodes, performing steps comprising; identifying a set of all simple nodes that are descendants of the complex node and that have no child nodes; generating, based on the values of the simple nodes in the set, a representative node value for the complex node; and associating the representative node value with an index entry in the first index for the particular complex node; wherein the machine-executed operation is at least one of (a) sending said instructions over transmission media, (b) receiving said instructions over transmission media, (c) storing said instructions onto a machine-readable storage medium, or (d) executing the instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. An apparatus for accelerating value-based lookups, comprising:
-
for each particular node of a set of one or more nodes in an XML document, means for storing an entry for the particular node in a first index; for each simple node that has no child nodes, means for associating a node value with an index entry in the first index for the simple node; and for each complex node that is in the set of nodes and has one or more child nodes, means for performing steps comprising; means for identifying a set of all simple nodes that are descendants of the complex node and that have no child nodes; means for generating, based on the values of the simple nodes in the set, a representative node value for the complex node; and means for associating the representative node value with an index entry in the first index for the particular complex node. - View Dependent Claims (30)
-
Specification