Query and retrieving semi-structured data from heterogeneous sources by translating structured queries
First Claim
1. A system for querying heterogeneous data sources distributed over a network, said system comprising:
- a plurality of heterogeneous data sources, each of which includes local information relating to a first semantic data context associated with the heterogeneous data source;
a request translator associated with each requester, said request translator receiving a request having a second semantic data context and comparing said first semantic data context and said second semantic data context to determine if a conflict between those contexts exists, said request translator translating the request, responsive to the conflict determination, into a query having at least one semantic data context associated with at least one of the heterogeneous data sources;
a query converter for converting a portion of the query into at least one command which can be used to interact with a semi-structured data source;
a command transmitter for issuing the at least one command over the network to a semi-structured data source;
a data retriever for extracting data from at least one of the heterogeneous data sources; and
a data translator which translates retrieved data from the data contexts associated with the data sources into the data context associated with the request.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for querying disparate, heterogeneous data sources over a network, where at least some of the data sources are World Wide Web pages or other semi-structured data sources, includes a query converter, a command transmitter, and a data retriever. The query converter produces, from at least a portion of a query, a set of commands which can be used to interact with a semi-structured data source. The query converter may accept a request in the same form as normally used to access a relational data base, therefore increasing the number of data bases available to a user in a transparent manner. The command transmitter issues the produced commands to the semi-structured data source. The data retriever then retrieves the desired data from the data source. In this manner, structured queries may be used to access both traditional, relational data bases as well as non-traditional semi-structured data bases such as web sites and flat files. The system may also include a request translator and a data translator for providing data context interchange. The request translator translates a request for data having a first data context into a query having a second data context which the query converter described above. The data translator translates data retrieved from the data context of the data source into the data context associated with the request. A related method for querying disparate data sources over a network is also described.
385 Citations
36 Claims
-
1. A system for querying heterogeneous data sources distributed over a network, said system comprising:
-
a plurality of heterogeneous data sources, each of which includes local information relating to a first semantic data context associated with the heterogeneous data source;
a request translator associated with each requester, said request translator receiving a request having a second semantic data context and comparing said first semantic data context and said second semantic data context to determine if a conflict between those contexts exists, said request translator translating the request, responsive to the conflict determination, into a query having at least one semantic data context associated with at least one of the heterogeneous data sources;
a query converter for converting a portion of the query into at least one command which can be used to interact with a semi-structured data source;
a command transmitter for issuing the at least one command over the network to a semi-structured data source;
a data retriever for extracting data from at least one of the heterogeneous data sources; and
a data translator which translates retrieved data from the data contexts associated with the data sources into the data context associated with the request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for querying semi-structured data sources distributed over a network, said method comprising the steps of:
-
(a) accessing a plurality of semi-structured data sources to be queried, each of which includes local information relating to a first semantic data context associated with the heterogeneous data source;
(b) receiving a request having a second semantic data context and comparing said first semantic data context and said second semantic data context to determine if a conflict between those contexts exists;
(c) translating the request responsive to the conflict determination into a query having a second data context associated with at least one of the semi-structured data sources to be queried;
(d) converting a portion of the query into at least one command which can be used to interact with a semi-structured data source;
(e) issuing the at least one command to at least one of the semi-structured data sources;
(f) retrieving data from at least one of the semi-structured data sources; and
(g) translating retrieved data from the data contexts associated with the semi-structured data sources into the data context associated with the request. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
detecting a difference between the context of data requested by the request and the context of data supplied by the data source to be queried; and
converting the data context-of the request into the data context of the data source.
-
-
21. The method of claim 14 further comprising the step of optimizing the query.
-
22. The method of claim 14 further comprising the step of querying at least one of the data sources using the translated request.
-
23. The method of claim 21 wherein said optimization step further comprises:
-
separating the query into a plurality of sub-queries; and
querying at least one of the semi-structured data sources using at least one of sub-queries.
-
-
24. The method of claim 23 wherein said querying step further comprises querying a different data source with each one of the sub-queries.
-
25. A method for querying semi-structured data sources in response to a structured data request, the method comprising the steps of:
-
(a) converting a data request into one or more commands which can be used to interact with a semi-structured data source;
(b) issuing at least one of the one or more commands to said semi-structured data source; and
(c) retrieving data from said semi-structured data source. - View Dependent Claims (26, 27, 28, 29, 30, 31)
(a-a) determining if requested data is provided by one or more World Wide Web pages;
(a-b) determining, for each requested datum that is provided by a World Wide Web page, one or more commands which, when issued to the World Wide Web page, cause it to provide the requested datum.
-
-
29. The method of claim 28 wherein step (a-a) further comprises determining if requested data is provided by one or more World Wide Web pages by accessing a file stored in a memory element of a computer, said file including a list of all data the one or more World Wide Web page can provide.
-
30. The method of claim 28 wherein step (a-a) further comprises determining if requested data is provided by one or more World wide Web pages by accessing a file stored in a memory element of a computer, said file containing a list of all data the World Wide Web page can provide and a data context associated with each datum provided by the World Wide Web page.
-
31. The method of claim 28 wherein step (a-b) further comprises determining, for each requested datum that is provided by a World Wide Web page, one or more commands which cause the World Wide Web page to provide the requested datum, the determination made by accessing a file located in a memory element of a computer which contains at least one instruction to be issued to the World Wide Web page.
-
32. A system for retrieving data from a semi-structured data source in response to a request, the system comprising:
-
a plurality of heterogeneous data sources, each of which includes local information relating to a first semantic data context associated with the semi-structured data source;
a request converter for converting a request having an associated second semantic data context into one or more commands which can be used to interact with a semi-structured data source by comparing said first semantic data context and said second semantic data context to determine if a conflict between those contexts exists, said request being converted responsive to the conflict determination;
a command transmitter for issuing at least one of the one or more commands to said semi-structured data source; and
a data retriever for extracting data from said semi-structured data source. - View Dependent Claims (33, 34, 35, 36)
-
Specification