Integrating RDF data into a relational database system
First Claim
1. Apparatus for integrating a non-SQL query written in a non-SQL language into a relational database management system of the type wherein an SQL query may contain an invocation of a table function and the table function, when executed, returns a set of rows to the containing query, the apparatus comprising:
- a table function invocation in the SQL query which includes a parameter that specifies the non-SQL query; and
query execution code associated with the table function that, when executed, executes the non-SQL query on data that is accessible to the relational database management system and returns results of the execution of the non-SQL query in the returned set of rows.
1 Assignment
0 Petitions
Accused Products
Abstract
The TABLE function mechanism available in a RDBMS is used to integrate RDF models into SQL queries. The table function invocation takes parameters including an RDF pattern, an RDF model, and an RDF rule base and returns result rows to the SQL query that contain RDF triples resulting from the application of the pattern to the triples of the model and the triples inferred by applying the rule base to the model. The RDBMS includes relational representations of the triples and the rules. Optimizations include indexes and materialized views of the representations of the triples, precomputed inferred triples, and a method associated with the TABLE function that rewrites the part of the SQL query that contains the TABLE function invocation as an equivalent SQL string. The latter technique is generally applicable to TABLE functions.
-
Citations
44 Claims
-
1. Apparatus for integrating a non-SQL query written in a non-SQL language into a relational database management system of the type wherein an SQL query may contain an invocation of a table function and the table function, when executed, returns a set of rows to the containing query, the apparatus comprising:
-
a table function invocation in the SQL query which includes a parameter that specifies the non-SQL query; and
query execution code associated with the table function that, when executed, executes the non-SQL query on data that is accessible to the relational database management system and returns results of the execution of the non-SQL query in the returned set of rows. - View Dependent Claims (2, 3)
-
-
4. Apparatus for integrating a non-SQL query written in a non-SQL language into a relational database management system of the type wherein an SQL query may contain an invocation of a table function and the table function, when executed, returns a set of rows to the containing query, the apparatus comprising:
-
a table function invocation in the SQL query which includes a parameter that specifies the non-SQL query; and
SQL query string generating code associated with the table function that, when executed, creates an SQL query string that is equivalent to the non-SQL query, the relational database management system executing the query string generating code and replacing the table function invocation in the containing query with the generated SQL query string prior to execution of the containing query. - View Dependent Claims (5)
-
-
6. A method of integrating a non-SQL query written in a non-SQL language into a relational database system of the type wherein an SQL query may contain an invocation of a table function, the table function, when executed, returning a set of rows to the containing SQL query and the method comprising the steps performed in the relational database system of:
-
receiving a containing SQL query with a table function invocation which includes a parameter that specifies the non-SQL query;
during execution of the containing SQL query, executing the specified non-SQL query on data that is accessible to the table function; and
returning results of the execution of the non-SQL query in the set of returned rows. - View Dependent Claims (7, 8)
-
-
9. A method of integrating a non-SQL query written in a non-SQL language into a relational database system of the type wherein an SQL query may contain an invocation of a table function, the table function, when executed, returning a set of rows to the containing SQL query and the method comprising the steps performed in the relational database system of:
-
receiving a containing SQL query with a table function invocation which includes a parameter that specifies the non-SQL query;
prior to execution of the containing SQL query, making an SQL query string that returns results of the non-SQL query; and
replacing the table function invocation in the containing query with the SQL query string. - View Dependent Claims (10)
-
-
11. A method of integrating a query on a set of RDF triples into a relational database system, the query being expressed as an RDF pattern, the relational database system being of the type wherein a query may contain an invocation of a table function, the table function, when executed, returning a set of rows to the containing query, and the method comprising the steps performed in the relational database system of:
-
receiving a containing query that includes a table function invocation with a parameter that specifies the RDF pattern;
during execution of the containing query, obtaining results that are equivalent to those specified by the RDF pattern from RDF triples accessible to the database system and returning the results in the returned rows. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. Apparatus for integrating a query expressed as an RDF pattern on a set of RDF triples into a relational database management system of the type wherein a query may contain an invocation of a table function, the table function, when executed, returning a set of rows to the containing query, the apparatus comprising:
-
an RDF table function in the relational database system whose parameters include a specification of the RDF pattern; and
code associated with the RDF table function that causes rows containing results that are equivalent to those specified by the RDF pattern to be obtained from RDF triples accessible to the database system and returned to the containing query. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. A materialized view that is an optimization for queries on a relational database table wherein an entity is represented by a plurality of rows, each of the rows relating a type of attribute and a value of the attribute to the entity, the materialized view comprising:
a table wherein the entity is represented by a row, the row having a field for the entity and a field for each type of attribute, with the field for a given type of attribute containing the value of that attribute for the entity. - View Dependent Claims (44)
Specification