IP Library Granted Patent US 9,342,556
Granted Patent B2
US 9,342,556 · App. 13/854,185 · Granted May 17, 2016

RDF graphs made of RDF query language queries

Inventors: Anil Bhatia (New Delhi, IN); Sandeep Katoch (Bangalore, IN); Sandeep Kohli (Bangalore, IN)
Assignee: International Business Machines Corporation
G06F17/30427G06F17/3043
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,342,556
App. No.
13/854,185
Granted
May 17, 2016
Kind
B2
Abstract

A method, software and/or computer system for representing a set of SPARQL queries. The set of SPARQL queries are converting into an RDF representation of the set of SPARQL queries (that is, a SPARQL RDF graph). The SPARQL RDF graph is applied to a target RDF graph to yield a transformed target representing the responses to the set of queries, as an ontology or as text.

Claims (81)

1. A system comprising:

a set of processor(s); and

a storage device configured to store machine executable program instructions;

wherein:

the set of processor(s) and the storage device are operatively connected so that the set of processor(s) executes the machine executable program instructions;

the machine executable program instructions include:

first program instructions programmed to receive, by a transformation engine, a machine readable input data set corresponding to a Resource Description Framework (RDF) graph which is arranged as a hierarchy nodes having a plurality of ordered levels, with the order of the levels of the plurality of levels running from a root node level to a lowest node level,

second program instructions programmed to traverse, using a transformation engine, the nodes of the RDF graph, starting at the root node and proceeding through the other nodes in a depth first order, so that at each node of the RDF graph, a transformation engine performs the following operations:

selecting, using a package selectQuery, included in the transformation engine, a set of package(s) of the current node included in the current node being traversed,

for each package of the set of package(s) of the current node, constructing, using a package constructor included in the transformation engine, a target for the package,

for each package of the set of package(s) of the current node, selecting, using a class selectQuery included in the transformation engine, a set of class(es) of the current package of the current node, and

for each class of each set of classes of each package of the set of package(s) of the current node, constructing, using a class constructor included in the transformation engine, a target for the class, and

third program instructions programmed to assemble, based upon content of the RDF graph, targets for the packages included in the RDF graph and targets for the classes included in the RDF graph, an alternative presentation for the content of the RDF graph, with the alternative presentation taking the form of a text based presentation.

2. The system of claim 1 wherein:

the package selectQuery is a SPARQL query; and

the class selectQuery is a SPARQL query.

3. The system of claim 2 wherein the package selectQuery has the following form and format:

SELECT ?Package

WHERE {

?Package a :Package

% Package % :packagedElement ?Package

}.

4. The system of claim 2 wherein the class selectQuery has the following form and format:

SELECT ?Clazz

WHERE {

?Class a:Class

% Package %:packagedElement ?Class

}.

5. A system comprising:

a set of processor(s); and

a storage device configured to store machine executable program instructions;

wherein:

the set of processor(s) and the storage device are operatively connected so that the set of processor(s) executes the machine executable program instructions;

the machine executable program instructions include:

first program instructions programmed to receive, by a transformation engine, a machine readable input data set corresponding to a Resource Description Framework (RDF) graph which is arranged as a hierarchy nodes having a plurality of ordered levels, with the order of the levels of the plurality of levels running from a root node level to a lowest node level,

second program instructions programmed to traverse, using a transformation engine, the nodes of the RDF graph, starting at the root node and proceeding through the other nodes in a depth first order, so that at each node of the RDF graph, a transformation engine performs the following operations:

selecting, using a package selectQuery, included in the transformation engine, a set of package(s) of the current node included in the current node being traversed,

for each package of the set of package(s) of the current node, constructing, using a package constructor included in the transformation engine, a target for the package,

for each package of the set of package(s) of the current node, selecting, using a class selectQuery included in the transformation engine, a set of class(es) of the current package of the current node, and

for each class of each set of classes of each package of the set of package(s) of the current node, constructing, using a class constructor included in the transformation engine, a target for the class, and

third program instructions programmed to assemble, based upon content of the RDF graph, targets for the packages included in the RDF graph and targets for the classes included in the RDF graph, an alternative presentation for the content of the RDF graph, with the alternative presentation taking the form of a non-RDF graph presentation.

6. The system of claim 5 wherein:

the package selectQuery is a SPARQL query; and

the class selectQuery is a SPARQL query.

7. The system of claim 6 wherein the package selectQuery has the following form and format:

SELECT ?Package

WHERE {

?Package a:Package

% Package % :packagedElement ?Package

}.

8. The system of claim 6 wherein the class selectQuery has the following form and format:

SELECT ?Clazz

WHERE {

?Class a:Class

% Package %:packagedElement ?Clazz

}.

9. A computer program product comprising:

a non-transitory storage device configured to store machine executable program instructions; and

program instructions stored in or on the non-transitory storage device, the program instructions comprising:

first program instructions programmed to receive, by a transformation engine, a machine readable input data set corresponding to a Resource Description Framework (RDF) graph which is arranged as a hierarchy nodes having a plurality of ordered levels, with the order of the levels of the plurality of levels running from a root node level to a lowest node level,

second program instructions programmed to traverse, using a transformation engine, the nodes of the RDF graph, starting at the root node and proceeding through the other nodes in a depth first order, so that at each node of the RDF graph, a transformation engine performs the following operations:

selecting, using a package selectQuery, included in the transformation engine, a set of package(s) of the current node included in the current node being traversed,

for each package of the set of package(s) of the current node, constructing, using a package constructor included in the transformation engine, a target for the package,

for each package of the set of package(s) of the current node, selecting, using a class selectQuery included in the transformation engine, a set of class(es) of the current package of the current node, and

for each class of each set of classes of each package of the set of package(s) of the current node, constructing, using a class constructor included in the transformation engine, a target for the class, and

third program instructions programmed to assemble, based upon content of the RDF graph, targets for the packages included in the RDF graph and targets for the classes included in the RDF graph, an alternative presentation for the content of the RDF graph, with the alternative presentation taking one of the following forms: a text based presentation or a non-RDF graph presentation.

10. The computer program product of claim 9 wherein:

the package selectQuery is a SPARQL query; and

the class selectQuery is a SPARQL query.

11. The computer program product of claim 10 wherein the package selectQuery has the following form and format:

SELECT ?Package

WHERE {

?Package a:Package

% Package %:packagedElement ?Package

}.

12. The computer program product of claim 10 wherein the class selectQuery has the following form and format:

SELECT ?Clazz

WHERE {

?Class a:Class

% Package %:packagedElement ?Clazz

}.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2013
From: BHATIA, ANIL; KATOCH, SANDEEP; KOHLI, SANDEEP
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030121/0020 →
Continuity (1)
Related Publication 20140297675A1 · Oct 2, 2014