Database querying system and method
First Claim
1. A database query system comprising:
- a) a first database including at least a first and a second information categories, and at least one relationship between information categories;
b) a query language able to specify retrieval of data from a flat table, said query language incompatible with said first database;
c) a plurality of object data items categorized in said information categories;
d) a plurality of instances of said relationships;
e) a schema of a virtual logical table, said virtual logical table including a plurality of virtual rows, each of said rows including a plurality of attributes reachable from said information category by any number of forward or backward traversals of said relationships between said information categories and application of attributes of said information categories, f) a user query formulated in said query language in terms of said virtual table; and
g) a processor assembly responsive to said user query, said processor assembly directly operates said first database based on said user query.
2 Assignments
0 Petitions
Accused Products
Abstract
A database querying system to facilitate the retrieval of desired data from a database including information categories, object data items, a processor assembly responsive to a user query, a relationship category defined by relationships between the object data items of the information categories, the user query including a relationship identifier corresponding to the relationship category. Interpretation of relational-database query and data manipulation languages against non-relational schemas, by regarding the schemas as representing virtual relational databases with every class replaced by a virtual table comprised of all the attributes reachable from the class by a chain of relations. The interpretation allows concise and simple querying of non-relational and relational databases in languages originally intended only for relational databases. The system further provides wrapping of a relational database into a semantic conceptual schema to allow formulation of queries in SQL against the wrapping schema, reducing the size of SQL queries.
-
Citations
25 Claims
-
1. A database query system comprising:
-
a) a first database including at least a first and a second information categories, and at least one relationship between information categories;
b) a query language able to specify retrieval of data from a flat table, said query language incompatible with said first database;
c) a plurality of object data items categorized in said information categories;
d) a plurality of instances of said relationships;
e) a schema of a virtual logical table, said virtual logical table including a plurality of virtual rows, each of said rows including a plurality of attributes reachable from said information category by any number of forward or backward traversals of said relationships between said information categories and application of attributes of said information categories, f) a user query formulated in said query language in terms of said virtual table; and
g) a processor assembly responsive to said user query, said processor assembly directly operates said first database based on said user query.
-
-
2. A database querying system comprising:
-
a) a first database including at least a first and a second information categories, and at least one relationship therebetween;
b) a query language able to specify retrieval of data from a flat table, said query language incompatible with said first database;
c) a first plurality of object data items categorized in said first information category;
d) a second plurality of object data items categorized in said second information category;
e) a plurality of instances of said relationships;
f) a virtual database schema defining a virtual table, said virtual table including a plurality of virtual rows, each of said virtual rows including a plurality of attributes of an object data item of said first category and of virtual attributes thereof, each of said virtual attributes representing a chain of forward or backward traversals of said relationship and attributes of said information categories;
a user query formulated in said query language in terms of said virtual table; and
a processor assembly responsive to said user query, said processor assembly structured to directly identify desired data in said first database from said user query. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method of simplifying a query syntax of an existing relational database having a relational schema, said method comprising:
-
a) identifying at least two information categories containing object data items;
b) identifying relationships between said information categories;
c) converting said relational schema into a semantic schema identified by a corresponding plurality of relationship identifiers representative of a relationship between said object data items of said information categories;
d) defining a relationship category from said relationship identifiers;
e) entering a query utilizing at least said relationship identifiers, wherein said query is formulated in a syntax of a language intended for relational databases but refers to said semantic schema;
f) utilizing at least said relationship identifier to identify a desired data item from the database;
g) a middleware processor assembly interpreting said query by automatically translating said query into an equivalent second query in said language, which second query is formulated in terms of said first relational database. - View Dependent Claims (24, 25)
-
Specification