Database-independent mechanism for retrieving relational data as XML
First Claim
1. A computer-implemented method comprising:
- receiving, using one or more processors, an XQuery query from an application;
dividing the XQuery query into a first XQuery expression and a second XQuery expression;
determining, by the one or more processors, that the first XQuery expression queries a XML data source and the second XQuery expression queries a relational data source;
executing the first XQuery expression on the XML data source, and receiving a first XML query result for the first XQuery expression from the XML data source;
translating the second XQuery expression into a SQL expression;
executing the SQL expression on the relational data source, and receiving a SQL query result for the SQL expression from the relational data source;
mapping the SQL query result of the SQL expression into a second XML query result;
combining the first XML query result associated with the first XQuery expression and the second XML query result associated with the second XQuery expression into an XML result for the XQuery query; and
providing the XML result of the XQuery query to the application.
5 Assignments
0 Petitions
Accused Products
Abstract
Techniques are disclosed for retrieving both data stored in relational form and data stored in XML form responsive to a single XQuery query. The techniques allow applications to retrieve relational data residing in various relational database management systems by using XQuery and XQuery for Java. In one such embodiment, an embeddable serverless computer component implements the techniques, and includes a combination of one or more relational adaptors and a mediator to access relational data and transform it into appropriate XML. The techniques are embeddable, and can be standards-based, database-independent, and operating-system independent. Optimized performance and scalability from desktop to enterprise applications are enabled as the number of users and/or database size increases.
-
Citations
20 Claims
-
1. A computer-implemented method comprising:
-
receiving, using one or more processors, an XQuery query from an application; dividing the XQuery query into a first XQuery expression and a second XQuery expression; determining, by the one or more processors, that the first XQuery expression queries a XML data source and the second XQuery expression queries a relational data source; executing the first XQuery expression on the XML data source, and receiving a first XML query result for the first XQuery expression from the XML data source; translating the second XQuery expression into a SQL expression; executing the SQL expression on the relational data source, and receiving a SQL query result for the SQL expression from the relational data source; mapping the SQL query result of the SQL expression into a second XML query result; combining the first XML query result associated with the first XQuery expression and the second XML query result associated with the second XQuery expression into an XML result for the XQuery query; and providing the XML result of the XQuery query to the application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising:
-
one or more processors; and a memory including instructions that, when executed by the one or more processors, cause the system to; receive an XQuery query from an application; divide the XQuery query into a first XQuery expression and a second XQuery expression; determine that the first XQuery expression queries a XML data source and the second XQuery expression queries a relational data source; execute the first XQuery expression on the XML data source, and receive a first XML query result for the first XQuery expression from the XML data source; translate the second XQuery expression into a SQL expression; execute the SQL expression on the relational data source, and receive a SQL query result for the SQL expression from the relational data source; map the SQL query result of the SQL expression into a second XML query result; combine the first XML query result associated with the first XQuery expression and the second XML query result associated with the second XQuery expression into an XML result for the XQuery query; and provide the XML result of the XQuery query to the application. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer-readable medium storing executable instructions to:
-
receive an XQuery query from an application; divide the XQuery query into a first XQuery expression and a second XQuery expression; determine that the first XQuery expression queries a XML data source and the second XQuery expression queries a relational data source; execute the first XQuery expression on the XML data source, and receive a first XML query result for the first XQuery expression from the XML data source; translate the second XQuery expression into a SQL expression; execute the SQL expression on the relational data source, and receive a SQL query result for the SQL expression from the relational data source; map the SQL query result of the SQL expression into a second XML query result; combine the first XML query result associated with the first XQuery expression and the second XML query result associated with the second XQuery expression into an XML result for the XQuery query; and provide the XML result of the XQuery query to the application. - View Dependent Claims (20)
-
Specification