Method and Apparatus for Optimizing the Evaluation of Semantic Web Queries
First Claim
1. A method for optimizing semantic web queries, the method comprising:
- receiving inputs, the inputs comprising;
a semantic query over a resource description framework database, the semantic query comprising a plurality of hierarchically nested graph patterns, each graph pattern comprising at least one triple pattern comprising a subject, an object and predicate connecting the subject to the object;
statistics describing data in the resource description framework database; and
a plurality of access methods comprising alternative methods for evaluating each triple pattern;
expressing the semantic query as a query parse tree comprising a plurality of nodes, the nodes comprising triple patterns from the query and logical relationships among the triple patterns;
creating a data flow graph, the data flow graph comprising a plurality of triple pattern and access method pair nodes connected by a plurality of edges representing dependencies among execution of the triple patterns;
determining an optimal flow tree through the data flow graph, the optimal flow comprising a set of triple pattern and access method pair nodes and edges such that all triple patterns in the semantic query are contained in the optimal flow tree;
creating an execution tree independent of a structure of the resource description framework database, the execution tree comprising a sequence of evaluation of triple patterns in the optimal flow tree;
transforming the execution tree into a query plan that exploits the structure of the resource description framework database;
using the query plan to create a structured query language query;
using the structured query language query to evaluate the semantic query over the resource description framework database.
1 Assignment
0 Petitions
Accused Products
Abstract
A semantic query over an RDF database is received with RDF database statistics and access methods for evaluating triple patterns in the query. The semantic query is expressed as a parse tree containing triple patterns and logical relationships among the triple patterns. The parse tree and access methods create a data flow graph containing a plurality of triple pattern and access method pair nodes connected by a plurality of edges, and an optimal flow tree through the data flow graph is determined such that costs are minimized and all triple patterns in the semantic query are contained in the optimal flow tree. A structure independent execution tree defining a sequence of evaluation through the optimal flow tree is created and is transformed into a database structure dependent query plan. This is used to create an SQL query that is used to evaluate the semantic query over the RDF database.
22 Citations
20 Claims
-
1. A method for optimizing semantic web queries, the method comprising:
-
receiving inputs, the inputs comprising; a semantic query over a resource description framework database, the semantic query comprising a plurality of hierarchically nested graph patterns, each graph pattern comprising at least one triple pattern comprising a subject, an object and predicate connecting the subject to the object; statistics describing data in the resource description framework database; and a plurality of access methods comprising alternative methods for evaluating each triple pattern; expressing the semantic query as a query parse tree comprising a plurality of nodes, the nodes comprising triple patterns from the query and logical relationships among the triple patterns; creating a data flow graph, the data flow graph comprising a plurality of triple pattern and access method pair nodes connected by a plurality of edges representing dependencies among execution of the triple patterns; determining an optimal flow tree through the data flow graph, the optimal flow comprising a set of triple pattern and access method pair nodes and edges such that all triple patterns in the semantic query are contained in the optimal flow tree; creating an execution tree independent of a structure of the resource description framework database, the execution tree comprising a sequence of evaluation of triple patterns in the optimal flow tree; transforming the execution tree into a query plan that exploits the structure of the resource description framework database; using the query plan to create a structured query language query; using the structured query language query to evaluate the semantic query over the resource description framework database. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable storage medium containing a computer-readable code that when read by a computer causes the computer to perform a method for optimizing semantic web queries, the method comprising:
-
receiving inputs, the inputs comprising; a semantic query over a resource description framework database, the semantic query comprising a plurality of hierarchically nested graph patterns, each graph pattern comprising at least one triple pattern comprising a subject, an object and predicate connecting the subject to the object; statistics describing data in the resource description framework database; and a plurality of access methods comprising alternative methods for evaluating each triple pattern; expressing the semantic query as a query parse tree comprising a plurality of nodes, the nodes comprising triple patterns from the query and logical relationships among the triple patterns; creating a data flow graph, the data flow graph comprising a plurality of triple pattern and access method pair nodes connected by a plurality of edges representing dependencies among execution of the triple patterns; determining an optimal flow tree through the data flow graph, the optimal flow comprising a set of triple pattern and access method pair nodes and edges such that all triple patterns in the semantic query are contained in the optimal flow tree; creating an execution tree independent of a structure of the resource description framework database, the execution tree comprising a sequence of evaluation of triple patterns in the optimal flow tree; transforming the execution tree into a query plan that exploits the structure of the resource description framework database; using the query plan to create a structured query language query; using the structured query language query to evaluate the semantic query over the resource description framework database. - View Dependent Claims (17, 18, 19, 20)
-
Specification