7870124

Rewriting Node Reference-Based Xquery Using SQL/XML

PublishedJanuary 11, 2011
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
24 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method comprising: receiving a first query that conforms to a first XML query language; determining that an operator included in the first query requires one or more node references, to one or more nodes, as operands of the operator instead of a value of any of the one or more nodes; wherein the operator included in the first query is one of a node comparison operator or an operator that requires context node traversal; and in response to determining that the operator included in the first query requires one or more node references as operands of the operator, generating, based on the first query, a second query (a) that conforms to a second XML query language that is different than the first XML query language and (b) that includes a particular operator not included in the first query; wherein execution of the particular operator included in the second query causes a reference, to a node in an XML document, to be returned instead of a value of the node; wherein the steps are performed by one or more computing devices.

2

2. The method of claim 1 , wherein the first XML query language is an XQuery query language.

3

3. The method of claim 1 , wherein the second XML query language is an SQL/XML query language.

4

4. The method of claim 1 , further comprising: determining how XML data, that is targeted by the first query, can be accessed; generating, based on the second query and how the XML data can be accessed, a third query that indicates one or more data structures; and executing the third query, wherein the one or more data structures are accessed to execute the third query.

5

5. The method of claim 4 , wherein: determining how the XML data can be accessed includes determining that an XML index exists on the XML data; and the one or more data structures are one or more data structures of the XML index.

6

6. The method of claim 4 , wherein: determining how the XML data can be accessed includes determining that the XML data is stored object-relationally; and the one or more data structures are one or more object-relational data structures.

7

7. The method of claim 1 , wherein the particular operator takes a path expression as input.

8

8. A method comprising: executing an SQL/XML query that includes a reference-based operator, wherein the reference-based operator includes a set of one or more operands that each refer to one or more nodes of an XML document, wherein the reference-based operator is one of a node comparison operator or an operator that requires context node traversal; wherein execution of the reference-based operator returns a reference to the one or more nodes instead of a value of the one or more nodes; wherein executing the SQL/XML query includes: determining a reference for each of the one or more nodes; and generating results of the SQL/XML query based on the-reference; wherein the steps are performed by one or more computing devices.

9

9. The method of claim 8 , wherein the SQL/XML query is generated from compiling an XQuery query that is received by a database server.

10

10. The method of claim 8 , wherein before executing the SQL/XML query, the method further comprises: determining how XML data, that is targeted by the SQL/XML query, can be accessed; generating, based on the SQL/XML query and how the XML data can be accessed, a rewritten query that indicates one or more data structures; and executing the rewritten query, wherein the one or more data structures are accessed to execute the rewritten query.

11

11. The method of claim 10 , wherein: determining how the XML data can be accessed includes determining that an XML index exists on the XML data; and the one or more data structures are one or more data structures of the XML index.

12

12. The method of claim 10 , wherein: determining how the XML data can be accessed includes determining that the XML data is stored object-relationally; and the one or more data structures are one or more object-relational data structures.

13

13. A machine-readable storage medium storing instructions which, when executed by one or more processors, causes: receiving a first query that conforms to a first XML query language; determining that an operator included in the first query requires one or more node references, to one or more nodes, as operands of the operator instead of a value of any of the one or more nodes; wherein the operator included in the first query is one of a node comparison operator or an operator that requires context node traversal; and in response to determining that the operator included in the first query requires one or more node references as operands of the operator, generating, based on the first query, a second query (a) that conforms to a second XML query language that is different than the first XML query language and (b) that includes a particular operator not included in the first query; wherein execution of the particular operator included in the second query causes a reference, to a node in an XML document, to be returned instead of a value of the node.

14

14. The machine-readable storage medium of claim 13 , wherein the first XML query language is an XQuery query language.

15

15. The machine-readable storage medium of claim 13 , wherein the second XML query language is an SQL/XML query language.

16

16. The machine-readable storage medium of claim 13 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to perform the steps of: determining how XML data, that is targeted by the first query, can be accessed; generating, based on the second query and how the XML data can be accessed, a third query that indicates one or more data structures; and executing the third query, wherein the one or more data structures are accessed to execute the third query.

17

17. The machine-readable storage medium of claim 16 , wherein: determining how the XML data can be accessed includes determining that an XML index exists on the XML data; and the one or more data structures are one or more data structures of the XML index.

18

18. The machine-readable storage medium of claim 16 , wherein: determining how the XML data can be accessed includes determining that the XML data is stored object-relationally; and the one or more data structures are one or more object-relational data structures.

19

19. The machine-readable storage medium of claim 13 , wherein the particular operator takes a path expression as input.

20

20. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause: executing an SQL/XML query that includes a reference-based operator, wherein the reference-based operator includes a set of one or more operands that each refer to one or more nodes of an XML document, wherein the reference-based operator is one of a node comparison operator or an operator that requires context node traversal; wherein execution of the reference-based operator returns a reference to the one or more nodes instead of a value of the one or more nodes; wherein executing the SQL/XML query includes: determining a reference for each of the one or more nodes; and generating results of the SQL/XML query based on the reference.

21

21. The machine-readable storage medium of claim 20 , wherein the SQL/XML query is generated from compiling an XQuery query that is received by a database server.

22

22. The machine-readable storage medium of claim 20 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to perform the step of, before executing the SQL/XML query: determining how XML data, that is targeted by the SQL/XML query, can be accessed; generating, based on the SQL/XML query and how the XML data can be accessed, a rewritten query that indicates one or more data structures; and executing the rewritten query, wherein the one or more data structures are accessed to execute the rewritten query.

23

23. The machine-readable storage medium of claim 22 , wherein: determining how the XML data can be accessed includes determining that an XML index exists on the XML data; and the one or more data structures are one or more data structures of the XML index.

24

24. The machine-readable storage medium of claim 22 , wherein: determining how the XML data can be accessed includes determining that the XML data is stored object-relationally; and the one or more data structures are one or more object-relational data structures.

Patent Metadata

Filing Date

Unknown

Publication Date

January 11, 2011

Inventors

Zhen Hua Liu
Hui Joe Chang
James W. Warner

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “REWRITING NODE REFERENCE-BASED XQUERY USING SQL/XML” (7870124). https://patentable.app/patents/7870124

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

REWRITING NODE REFERENCE-BASED XQUERY USING SQL/XML — Zhen Hua Liu | Patentable