Method for converting relational data into a structured document
DCFirst Claim
Patent Images
1. A method for converting relational data from a relational database into a structured document comprising the steps of:
- storing a view query that defines a structured document view of the relational database, a structure of the view query being independent of a structure of data in the relational database;
receiving a user query against the structured document view;
forming an executable query by determining a composition of the view query and the user query;
partitioning the executable query into a data extraction portion and a construction portion;
transmitting the data extraction portion to the relational database;
receiving at least one tuple stream from the relational database according to the data extraction portion; and
merging the at least one tuple stream and the construction portion to generate a structured document, wherein the structured document view is capable of defining a document of arbitrary nesting depth.
6 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A method for converting relational data to XML (Extensible Markup Language) is provided. The method, sometimes referred to as SilkRoute, provides a general, dynamic and efficient tool for viewing and querying relational data in XML. SilkRoute can express mappings of relational data in XML that conforms to arbitrary public document type definitions. Also, SilkRoute can materialize the fragment of an XML view needed by an application and it can fully exploit the query engine of a relational database management system whenever data items in an XML view need to be materialized.
-
Citations
49 Claims
-
1. A method for converting relational data from a relational database into a structured document comprising the steps of:
-
storing a view query that defines a structured document view of the relational database, a structure of the view query being independent of a structure of data in the relational database;
receiving a user query against the structured document view;
forming an executable query by determining a composition of the view query and the user query;
partitioning the executable query into a data extraction portion and a construction portion;
transmitting the data extraction portion to the relational database;
receiving at least one tuple stream from the relational database according to the data extraction portion; and
merging the at least one tuple stream and the construction portion to generate a structured document, wherein the structured document view is capable of defining a document of arbitrary nesting depth. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 47)
-
-
17. A computer readable medium including a set of executable instructions stored thereon for converting relational data stored in a relational database into structured document data, the set of instructions including:
-
forming an executable query from a view query that defines a structured document view of the relational database and a user query, a structure of the view query being independent from a structure of the relational data in the relational database;
partitioning the executable query into a data extraction portion and a construction portion;
retrieving at least one tuple stream from the relational database according to the data extraction portion; and
merging the at least one tuple stream and the construction portion to generate a structured document, wherein the structured document view is capable of defining a document of arbitrary nesting depth. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 48)
-
-
28. A computer system for converting relational data in a relational database into structured document data, said system comprising:
-
a query composer module configured to form an executable query from a view query that defines a structured document view of the relational data and a user query, the view query having a structure that is independent of a structure of the relational data in the relational database;
a translator module coupled to the query composer module configured to receive the executable query, partition the executable query into a data extraction portion and an construction portion, and transmit the data extraction portion to a relational database;
a generator module configured to receive the construction portion from said translator module, receive at least one tuple stream from the relational database based on data extraction portion, and merge the at least one tuple stream and the construction portion to generate a structured document, wherein the structured document view is capable of defining a document of arbitrary nesting depth. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 49)
a pattern matcher module configured to match patterns of the user query and the view query to obtain a solutions relation, in which each tuple represents a match; - and
a rewriter module configured to rewrite each tuple.
-
-
49. The computer system according to claim 28, wherein a format of the structured document generated by the generator module is XML.
-
41. A method of forming a composed query for use in converting relational data of a relational database into XML data, said method comprising the steps of:
-
receiving a user query in an XML based language requesting relational data;
forming a view query in a transformation language, the view query defining a structured document view of the relational data and having a structure that is independent from a structure of the relational data of the relational database; and
composing an executable query in the transformation language from the view query and the user query, wherein the structured document view is capable of defining a document of arbitrary nesting depth. - View Dependent Claims (42, 43, 44, 45, 46)
matching patterns of the user query and the view query to obtain a solutions relation, in which each tuple represents a match; and
rewriting each tuple into a clause in the transformation language.
-
-
44. The method according to claim 43, wherein said step, of matching patterns includes the steps of:
-
constructing a view tree from the view query; and
evaluating the user query on the view tree.
-
-
45. The method according to claim 43, wherein said step of rewriting includes the step of constructing at least one block using from and where clause of the view query and a construct clause of the user query.
-
46. The method according to claim 43, wherein said step of rewriting each tuple into a clause in the transformation language is conducted on the basis of from/where clauses of the view query, the solutions relation, and construct clauses of the user query.
Specification