EXECUTION OF SEMANTIC QUERIES USING RULE EXPANSION
First Claim
1. One or more computer-readable storage media that store executable instructions that, when executed by a computer, cause the computer to perform first acts comprising:
- receiving a semantic query;
determining that said semantic query comprises a first rule that comprises one or more constituent terms, each of said constituent terms comprising, or being reducible to, one or more grounded terms in a relational database, each of said grounded terms corresponding to a table or a view in said relational database;
creating an expanded semantic query by performing second acts comprising replacing said first rule with said first rule'"'"'s constituent terms;
forming a relational query based on said expanded semantic query;
sending said relational query to a relational query processor of said relational database; and
receiving a result from said relational query processor.
2 Assignments
0 Petitions
Accused Products
Abstract
A semantic query may refer to a logical rule, where the rule is defined in terms of constituent expressions. In order to execute the semantic query efficiently, occurrences of the rule may be expanded by replacing the rule with its constituent expressions. Expansion may be performed repeatedly, until only grounded expressions remain. Expressions are grounded when they refer to tables or views that are represented in an underlying database. Once the rule has been reduced to grounded expressions, the semantic query processor may formulate a relational query in terms of the grounded expressions. If the relational query takes into account the various grounded expressions to which the rule reduces, then the portion of the semantic query that refers to the rule may be processed without an excessive number of round trips to the relational database.
-
Citations
20 Claims
-
1. One or more computer-readable storage media that store executable instructions that, when executed by a computer, cause the computer to perform first acts comprising:
-
receiving a semantic query; determining that said semantic query comprises a first rule that comprises one or more constituent terms, each of said constituent terms comprising, or being reducible to, one or more grounded terms in a relational database, each of said grounded terms corresponding to a table or a view in said relational database; creating an expanded semantic query by performing second acts comprising replacing said first rule with said first rule'"'"'s constituent terms; forming a relational query based on said expanded semantic query; sending said relational query to a relational query processor of said relational database; and receiving a result from said relational query processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for answering a semantic query, the system comprising:
-
a semantic query engine that receives the semantic query, the semantic query comprising a first rule that comprises one or more constituent terms that comprise, or are reducible to, one or more grounded terms in a relational database; a relational query generator that expands the semantic query into an expanded semantic query by replacing said first rule with its constituent terms, said relational query generator generating a relational query based on said expanded semantic query and submitting said relational query to said relational database; and said relational database, which stores tables corresponding to said grounded terms, each of said tables corresponding to a predicate and defining subject and object pairs that are related by said predicate, said relational database providing a result in response to said relational query by performing relational operations on said tables. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method of processing a first query that includes a first rule, the method comprising:
using a processor to perform acts comprising; receiving said first query; determining that said first query comprises said first rule, wherein said first rule comprises, or is reducible to, a set of grounded terms comprising a first grounded term and a second grounded term; expanding said first query into a second query that comprises said first grounded term and said second grounded term; generating a third query based on said second query, said first query being a semantic query, said third query being a relational query that calls for relational operation on tables or views, in a relational database, that correspond to said first grounded term and said second grounded term; receiving a first result of said third query from said relational database; and providing said first result, or a second result based on said first result, to a person. - View Dependent Claims (18, 19, 20)
Specification