IP Library Granted Patent US 9,529,937
Granted Patent B2
US 9,529,937 · App. 13/851,654 · Granted Dec 27, 2016

Methods and apparatus for querying a relational data store using schema-less queries

Inventors: Colin P. Britton (Lexington, MA); Ashok Kumar (N. Billerica, MA); David Bigwood (Lexington, MA); Anthony J. DeFusco (Woonsocket, RI); Howard Greenblatt (Wayland, MA)
Assignee: ObjectStore, Inc.
G06F17/30979G06F17/30536G06F17/30551G06F17/30893G06F17/30917G06F17/30448Y10S707/99931Y10S707/99932Y10S707/99934Y10S707/99936
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,529,937
App. No.
13/851,654
Granted
Dec 27, 2016
Kind
B2
Abstract

The invention provides, in one aspect, a method of searching an RDF triples data store of the type in which the triples are maintained in accord with a first storage schema. The method includes inputting a first query specifying RDF triples that are to be identified in the data store. That first query assumes either (i) that the triples are stored in a schema-less manner (i.e., with no storage schema) or (ii) that the triples are maintained in accord with a second storage schema that differs from the first. The method further includes generating, from the first query, a second query that specifies those same RDF triples, yet, that reflects the first storage schema. That second query can be applied to the RDF triples data store in order to identify and/or retrieve the desired data.

Claims (37)

1. A method to extract data in a data store comprising:

performing, by a computer system programmed with code stored in a memory and executing by a processor of the computer system that transforms the computer system into a machine:

receiving a first query specifying one or more resource description framework (RDF) triples to be identified in a data store, where the first query is either schema-less or reflects a second storage schema;

extracting data, represented by one or more tokens in the first query and included within context-specific grammar events represented by the one or more tokens, from the context-specific grammar events to generate a second query that specifies one or more RDF triples to be identified in the data store responsive to the first query and that reflects the first storage schema, wherein the events represent any of a declaration and a constraint specified in the first query;

where the second query comprises:

a single SQL SELECT statement with a WHERE clause containing three or more logical conditions limiting triples to be considered for retrieval from the RDF triples data store, where each logical condition specifies one or more RDF triples according to a Boolean condition; and

applying the single SQL SELECT statement second query to the data store for identification of the one or more specified RDF triples responsive to the first query.

2. The method of claim 1 , wherein the RDF triples store uses a hashed with origin schema.

3. The method of claim 1 further comprising:

performing, by the computer system programmed with code stored in the memory and executing by the processor of the computer system that further transforms the computer system:

examining the first query for the one or more tokens that represent data to be used in generating the second query;

dispatching context-specific grammar events containing the data represented by the tokens in the examined first query, to be used in generating the second query; and

wherein:

each of the events represents any of a declaration and a constraint specified in the first query, and

the constraint specifies RDF triples to be identified.

4. The method of claim 3 , wherein dispatching events further comprises generating any of a logical condition event, a selection term declaration event, and a triple declaration event.

5. The method of claim 3 , wherein the first language is any of SQL-like and XML-like.

6. The method of claim 3 , further comprising generating the output query as an SQL Select statement.

7. The method of claim 3 , wherein the RDF triples are stored in a hashed with origin schema.

8. The method of claim 7 where generating a logical condition event comprises generating an event containing data which, when applied to a relational database via the second query, identifies RDF triples according to a Boolean condition.

9. The method of claim 7 , where generating a selection term declaration event comprises generating an event containing data which, when applied to the relational database via the output query, identifies RDF triples including a specified term.

10. The method of claim 7 , further where generating a triple declaration event comprises generating an event containing data which, when applied to the relational database via the output query, identifies RDF triples according to a specified subject, predicate and object.

11. The method of claim 1 wherein the first query is schema-less in a first language and the second query is an output query in a second language, the method further comprising:

performing, by the computer system programmed with code stored in the memory and executing by the processor of the computer system that further transforms the computer system:

generating the second query comprising:

examining the schema-less first query in the first language for the one or more tokens;

dispatching the context-specific grammar events to be used in generating the second query,

populating portions of the second query according to at least the context-specific grammar events; and

extracting data, represented by the tokens and contained within the context-specific grammar events, from the context-specific grammar events to generate the second query in the second language, comprising the populated portions, wherein the second query represents a schema of a relational database storing RDF triples;

wherein each of the events represents any of a declaration and a constraint specified in the first query, and

wherein the constraint specifies RDF triples to be identified.

12. The method of claim 11 , where generating a logical condition event comprises generating an event containing data which, when applied to the relational database via the output query, identifies RDF triples according to a boolean condition.

13. The method of claim 11 , where generating a selection term declaration event comprises generating an event containing data which, when applied to the relational database via the output query, identifies RDF triples including a specified term.

14. The method of claim 11 , further where generating a triple declaration event comprises generating an event containing data which, when applied to the relational database via the output query, identifies RDF triples according to a specified subject, predicate and object.

15. The method of claim 1 wherein dispatching context-specific grammar events further comprises generating any of a logical condition event, a selection term declaration event, and a triple declaration event.

16. The method of claim 1 , further comprising generating the second query as an SQL Select statement.

17. The method of claim 1 , wherein the RDF triples are stored in a hashed with origin schema.

Assignments (1)
CHANGE OF NAME Recorded Oct 27, 2014
From: METATOMIX, INC.
To: OBJECTSTORE, INC.
Reel/Frame 034057/0348 →
Continuity (10)
Continuation 11927305 · Oct 29, 2007
Continuation 11101361 · Apr 6, 2005
Continuation 10302764 · Nov 21, 2002
Continuation In Part 10051619 · Oct 29, 2001
Continuation In Part 09917264 · Jul 27, 2001
Provisional Application 60332053 · Nov 21, 2001
Provisional Application 60332219 · Nov 21, 2001
Provisional Application 60324037 · Sep 21, 2001
Provisional Application 60291185 · May 15, 2001
Related Publication 20130212128A1 · Aug 15, 2013