IP Library Granted Patent US 9,710,568
Granted Patent B2
US 9,710,568 · App. 13/753,329 · Granted Jul 18, 2017

Publishing RDF quads as relational views

Inventors: Jagannathan Srinivasan (Nashua, NH); Jayanta Banerjee (Nashua, NH); Vinh Thi Kim Nguyen (Fairborn, OH)
Assignee: Oracle International Corporation
G06F17/30908G06F17/30864G06F17/30867
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 9,710,568
App. No.
13/753,329
Granted
Jul 18, 2017
Kind
B2
Abstract

A method, system, and computer program product for transforming RDF quads to relational views. The method commences by receiving a named graph, the named graph comprising at least one RDF quad, and analyzing the named graph to produce analysis metadata. The method uses the analysis metadata to generate relational views. The method further comprises publishing a relational view in the form of a SPARQL query. The quality of the results can be quantitatively measured and reported by calculating a goodness score based at least in part on aspects of the relational view definitions. Several variants for transformation include generating relational view definitions formed using a named-graph strict variant, or a named-graph relaxed variant, or a named-graph agnostic variant. The transformations can form outputs responsive to characteristics or properties such as a number of classes, a number of single-valued properties, a number of nullability properties, or a number of type-uniformed ranges.

Claims (41)

1. A computer implemented method for transforming RDF (resource description framework) quads to relational views, the method comprising:

receiving, into a memory, a named graph, the named graph corresponding to at least one RDF quad;

reducing a total number of resulting relational tables for the relational views at least by generating analysis metadata, using a processor, at least by querying the named graph using at least one SPARQL (SPARQL Protocol and RDF Query Language) query, wherein

the analysis metadata is indicative of one or more RDF quad attributes that determine whether the at least one RDF quad has at least one of a nullability characteristic, a single-valuedness characteristic, or a multi-valuedness characteristic and are used to determine at least one relational view definition that transforms the at least one RDF quad into a relational database view in a relational format;

using the analysis metadata generated by querying the named graph with the at least one SPARQL query to generate at least one relational view definition that includes a database query; and

transforming the at least one RDF quad to the relational database view using the at least one relational view definition, which is generated by using the analysis metadata, at least by querying the named graph.

2. The method of claim 1 , further comprising:

reducing a total number of resulting relational tables for the relational views at least further by determining whether the at least one RDF quad has at least one of the nullability characteristic, the single-valuedness characteristic, or the multi-valuedness characteristic by conditioning the at least one RDF quad upon cardinality of an RDF object.

3. The method of claim 1 , further comprising at least one of publishing the relational view definition in the form of a SPARQL query, or determining coverage of a transformation that transforms the at least one RDF quad to the relational database view by calculating a goodness score for the transformation based at least in part on aspects of the relational view definition.

4. The method of claim 1 , further comprising determining a relational view identifier for the relational database view at least by processing a name associated with the at least one RDF quad into the relational view identifier, wherein the generated relational view definition is formed as at least one of, a named-graph strict variant, or a named-graph relaxed variant, or a named-graph agnostic variant.

5. The method of claim 1 , further comprising:

identifying a schema for an RDF dataset including the RDF quads;

deriving at least one RDF quad attribute of the one or more RDF quad attributes at least by analyzing the schema for the RDF dataset; and

assessing a transformation that transforms the at least one RDF quad into the relational database view based in part or in whole upon the at least one RDF quad attribute.

6. The method of claim 1 , further comprising at least one of identifying at least one of, a set of classes, a set of domains and ranges, a set of properties, or computing at least one of, a number of classes, a number of single-valued properties, a number of nullability properties, or a number of type-uniformed ranges.

7. The method of claim 1 , wherein using the analysis metadata to generate at least one relational view definition comprises accessing user-defined rules.

8. A computer system for transforming RDF (resource description framework) quads to relational database views, comprising:

a computer processor implemented in hardware to execute a set of program code instructions; and

a memory to hold the program code instructions, in which the program code instructions comprises program code which, when executed by the computer processor, causes the computer processor to:

receive a named graph, the named graph corresponding to at least one RDF quad;

reduce a total number of resulting relational tables for the relational views at least by generating analysis metadata, using the computer processor, at least by querying the named graph using at least one SPARQL (SPARQL Protocol and RDF Query Language) query, wherein

the analysis metadata is indicative of one or more RDF quad attributes that determine whether the at least one RDF quad has at least one of a nullability characteristic, a single-valuedness characteristic, or a multi-valuedness characteristic and are used to determine at least one relational view definition that transforms the at least one RDF quad into a relational database view in a relational format;

using the analysis metadata generated by querying the named graph with the at least one SPARQL query to generate at least one relational view definition that includes a database query; and

transforming the at least one RDF quad to the relational database view using the at least one relational view definition, which is generated by using the analysis metadata at least by querying the named graph.

9. The computer system of claim 8 , further comprising program code to perform publishing the relational view definition in the form of a SPARQL query.

10. The computer system of claim 8 , further comprising program code to perform calculating a goodness score based at least in part on aspects of the relational view definition.

11. The computer system of claim 8 , wherein the generated relational view definition is formed as at least one of, a named-graph strict variant, or a named-graph relaxed variant, or a named-graph agnostic variant.

12. The computer system of claim 8 , further comprising program code to perform identifying at least one of, a set of classes, a set of domains and ranges, a set of properties.

13. The computer system of claim 8 , further comprising program code to perform computing at least one of, a number of classes, a number of single-valued properties, a number of nullability properties, or a number of type-uniformed ranges.

14. The computer system of claim 8 , wherein using the analysis metadata to generate at least one relational view definition comprises accessing user-defined rules.

15. A computer program product embodied in a non-transitory computer readable medium, the computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes the processor to execute a set of acts to transform RDF (resource description framework) quads to relational database views, the set of acts comprising:

receiving a named graph, the named graph corresponding to at least one RDF quad;

reducing a total number of resulting relational tables for the relational views at least by generating analysis metadata, using a processor, at least by querying the named graph using at least one SPARQL (SPARQL Protocol and RDF Query Language) query, wherein

the analysis metadata is indicative of one or more RDF quad attributes that determine whether the at least one RDF quad has at least one of a nullability characteristic, a single-valuedness characteristic, or a multi-valuedness characteristic and are used to determine at least one relational view definition that transforms the at least one RDF quad into a relational database view in a relational format;

using the analysis metadata generated by querying the named graph with the at least one SPARQL query to generate at least one relational view definition that includes a database query; and

transforming the at least one RDF quad to the relational database view using the at least one relational view definition, which is generated by using the analysis metadata, at least by querying the named graph.

16. The computer program product of claim 15 , wherein the sequence of instructions, when executed by the processor, causes the processor to execute the process that further comprises publishing the relational view definition in the form of a SPARQL query.

17. The computer program product of claim 15 , wherein the sequence of instructions, when executed by the processor, causes the processor to execute the process that further comprises calculating a goodness score based at least in part on aspects of the relational view definition.

18. The computer program product of claim 15 , wherein the generated relational view definition is formed as at least one of, a named-graph strict variant, or a named-graph relaxed variant, or a named-graph agnostic variant.

19. The computer program product of claim 15 , wherein the sequence of instructions, when executed by the processor, causes the processor to execute the process that further comprises identifying at least one of, a set of classes, a set of domains and ranges, a set of properties.

20. The computer program product of claim 15 , wherein the sequence of instructions, when executed by the processor, causes the processor to execute the process that further comprises computing at least one of, a number of classes, a number of single-valued properties, a number of nullability properties, or a number of type-uniformed ranges.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2013
From: SRINIVASAN, JAGANNATHAN; BANERJEE, JAYANTA; NGUYEN, VINH THI KIM
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 029716/0534 →
Continuity (1)
Related Publication 20140214857A1 · Jul 31, 2014