IP Library Granted Patent US 8,401,991
Granted Patent B2
US 8,401,991 · App. 12/188,267 · Granted Mar 19, 2013

Database-based inference engine for RDFS/OWL constructs

Inventors: Zhe Wu (Westford, MA); George Eadon (Hollis, NH); Souripriya Das (Nashua, NH); Eugene Inseok Chong (Concord, MA); Vladimir Kolovski (Nashua, NH); Melliyal Annamalai (Nashua, NH); Jagannathan Srinivasan (Nashua, NH)
Assignee: Oracle International Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,401,991
App. No.
12/188,267
Granted
Mar 19, 2013
Kind
B2
Abstract

An un-indexed, partitioned temporary table and an exchange table are used in the inferencing of semantic data in a relational database system. The exchange table has the same structure as a semantic data table storing the semantic data. In the inferencing process, a new partition is created in the semantic data table. Inference rules are executed on the semantic data table, and any newly inferred semantic data generated is added to the temporary table. Once no new data is generated, the inferred semantic data is copied from the temporary table into the exchange table. Indexes that are the same as indexes for the semantic data table are built for the exchange table. The indexed data in the exchange table is then exchanged into the new partition in the semantic data table. By use of the un-indexed, partitioned temporary table, incremental maintenance of indexes is avoided, thus allowing for greater efficiency.

Claims (51)

1. A method of inferencing semantic data in a relational database system, comprising:

(a) creating a new partition in a semantic data table in the relational database system, creating an exchange table and a temporary table in the relational database system, wherein the exchange table has the same structure as the semantic data table;

(b) executing on the semantic data table one or more inference rules for a semantic data model;

(b1) wherein the inference rules are translated into queries and the executing of (b) comprises executing the queries on the semantic data table;

(c) adding into the temporary table any newly inferred semantic data generated by the execution of the inference rules;

(c1) wherein the adding of (c) comprises adding into the temporary table any newly inferred semantic data generated by the executing of the queries on the semantic data table

(d) copying the inferred semantic data in the temporary table into the exchange table;

(e) building one or more indexes for the exchange table, wherein the indexes for the exchange table are same as indexes for the semantic data table; and

(f) exchanging, by using a processor, the indexed semantic data in the exchange table into the new partition in the semantic data table, in which the indexed semantic data has a format associated with the new partition in the semantic data table that is the same format as a format associated with the semantic data table.

2. The method of claim 1 , wherein the temporary table is partitioned based on a variable in the semantic data.

3. The method of claim 1 , wherein the temporary table is un-indexed.

4. The method of claim 1 , wherein the executing (b) and the adding (c) further comprises:

(c2) repeating (b1) and (c1) until no new semantic data is generated.

5. The method of claim 1 , wherein the query comprises one or more antecedents, wherein the executing (b1) comprises:

(b1i) searching for matched semantic data in the semantic data table for each antecedent of the query;

(b1ii) joining the matched semantic data based on common variables; and

(b1iii) producing corresponding consequent semantic data as the inferred semantic data.

6. The method of claim 1 , wherein the semantic data in the semantic data table comprises distance information, wherein the distance is used in a calculation of a transitive closure in the execution of the inference rules to restrict each iteration of the transitive closure calculation to paths created in a previous iteration.

7. The method of claim 1 , wherein the semantic data in the semantic data table comprises proof information, wherein the proof information concerns a source of the newly inferred semantic data returned by the execution of the inference rules.

8. The method of claim 7 , wherein the proof information is used to track a derivation path for the inferred semantic data for identifying possible problems in the semantic data model.

9. The method of claim 1 , wherein only one copy of duplicate inferred semantic data is added to the temporary table.

10. The method of claim 9 , wherein the temporary table is partitioned based on a variable in the semantic data, wherein in determining if an inferred semantic data is a duplicate of the inferred semantic data in the temporary table, a search is limited to a partition in the temporary table corresponding to a value of the variable.

11. The method of claim 1 , wherein one or more of the inference rules comprises a rule with multiple consequents, wherein the executing (b1) comprises:

(b1i) creating a pivot table comprising rows with integer values corresponding to a number of the multiple consequents;

(b1ii) performing a Cartesian join of the pivot table with a query that finds all resources with a multiple consequent tag form to produce duplicate resources; and

(b1iii) converting the found resources into corresponding inferred multiple consequents.

12. A non-transitory computer readable medium with program instructions for inferencing semantic data in a relational database system, comprising instructions for:

(a) creating a new partition in a semantic data table in the relational database system, creating an exchange table and a temporary in the relational database system, wherein the exchange table has the same structure as the semantic data table;

(b) executing on the semantic data table one or more inference rules for a semantic data model;

(b1) wherein the inference rules are translated into queries and the executing of (b) comprises executing the queries on the semantic data table;

(c) adding into the temporary table any newly inferred semantic data generated by execution of the inference rules;

(c1) wherein the adding of (c) comprises adding into the temporary table any newly inferred semantic data generated by the executing of the queries on the semantic data table

(d) copying the inferred semantic data in the temporary table into the exchange table;

(e) building one or more indexes for the exchange table, wherein the indexes for the exchange table are same as indexes for the semantic data table; and

(f) exchanging the indexed semantic data in the exchange table into the new partition in the semantic data table, in which the indexed semantic data has a format associated with the new partition in the semantic data table that is the same format as a format associated with the semantic data table.

13. A relational database system for inferencing semantic data according to one or more inference rules for a semantic data model, comprising:

a persistent storage to store a semantic data table comprising semantic data for the semantic data model; and

a storage media to store a temporary table and an exchange table, the exchange table having a same structure as the semantic data table, in which the inferencing comprises:

creating a new partition in the semantic data table,

executing the inference rules on the semantic data table, wherein the inference rules are translated into queries and the executing comprises executing the queries on the semantic data table;

adding any newly inferred semantic data generated by the execution of the inference rules into the temporary table, wherein the adding comprises adding into the temporary table any newly inferred semantic data generated by the executing of the queries on the semantic data table

copying the inferred semantic data in the temporary table into the exchange table,

building one or more indexes for the exchange table, wherein the indexes for the exchange table are same as indexes for the semantic data table, and

exchanging the indexed semantic data in the exchange table into the new partition in the semantic data table, in which the indexed semantic data has a format associated with the new partition in the semantic data table that is the same as a format associated with the semantic data table.

14. The system of claim 13 , wherein the temporary tables stores only one copy of an inferred semantic data.

15. The system of claim 14 , wherein the temporary table is partitioned based on a variable in the semantic data, wherein in determining if an inferred semantic data is a duplicate of the inferred semantic data in the temporary table, a search is limited to a partition in the temporary table corresponding to a value of the variable.

16. The system of claim 13 , wherein the temporary table is un-indexed.

17. The system of claim 13 , wherein the semantic data in the semantic data table comprises distance information, wherein the distance is used in a calculation of a transitive closure in the execution of the inference rules to restrict each iteration of the transitive closure calculation to paths created in a previous iteration.

18. The system of claim 13 , wherein the semantic data in the semantic data table comprises proof information, wherein the proof information concerns a source of the newly inferred semantic data returned by the execution of the inference rules.

19. The system of claim 18 , wherein the proof information is used to track a derivation path for the inferred semantic data for identifying possible problems in the semantic data model.

20. The non-transitory computer readable medium of claim 12 , in which the temporary table is partitioned based at least in part upon a variable in the semantic data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2008
From: WU, ZHE; EADON, GEORGE; DAS, SOURIPRIYA; CHONG, EUGENE INSEOK; KOLOVSKI, VLADIMIR; ANNAMALAI, MELLIYAL; SRINIVASAN, JAGANNATHAN
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 021707/0834 →
Continuity (1)
Related Publication 20100036788A1 · Feb 11, 2010