Abstract records
First Claim
1. A method of presenting a user with a set of query results retrieved from a database, comprising:
- receiving, from a requesting entity, a request to view data in the database related to a model entity predefined as a set of logically related data fields, wherein the model entity identifies an identifier in the underlying database used to identify instances of the model entity;
retrieving an abstract record corresponding to the model entity, wherein the abstract record identifies a hierarchy of logical fields related to the model entity;
identifying each instance of the model entity included in the query results;
for each identified instance, populating a copy of the abstract record with the retrieved query results corresponding to the instance of the model entity; and
returning, to the requesting entity, the identified instances of the model entity and the populated copies of the abstract record;
wherein the query results are retrieved responsive to an abstract query and via an abstract query plan provided for the abstract query, wherein the abstract query plan specifies;
(i) a set of conditions, each condition including a logical field, a conditional operator, and a comparison value, (ii) one of the plurality of model entities and (iii) logical fields from the plurality of logical fields used to retrieve a set of query results that satisfy the set of conditions; and
wherein providing the abstract query plan comprises;
determining, for each condition specified by the abstract query, whether a path exists from a root logical field of the hierarchy to a child logical field of the hierarchy matching the logical field in the condition.
0 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the invention provide methods, systems, and articles of manufacture improving the process of query composition, query processing, and presenting query results to users of an abstract database. Embodiments of the present invention organize and view data using abstract records. Specifically, users compose a query according to the logical relationships present in the data. Rather than evaluate conditions against a set of rows from a relational table, conditions included in abstract query are evaluated against instances of an abstract record. Instances that satisfy the conditions specified by an abstract query are returned as query results. In a specific case abstract records are used to evaluate a “never exists conditions, that determine the absence of data in an abstract records that satisfy a particular condition.
125 Citations
15 Claims
-
1. A method of presenting a user with a set of query results retrieved from a database, comprising:
-
receiving, from a requesting entity, a request to view data in the database related to a model entity predefined as a set of logically related data fields, wherein the model entity identifies an identifier in the underlying database used to identify instances of the model entity; retrieving an abstract record corresponding to the model entity, wherein the abstract record identifies a hierarchy of logical fields related to the model entity; identifying each instance of the model entity included in the query results; for each identified instance, populating a copy of the abstract record with the retrieved query results corresponding to the instance of the model entity; and returning, to the requesting entity, the identified instances of the model entity and the populated copies of the abstract record; wherein the query results are retrieved responsive to an abstract query and via an abstract query plan provided for the abstract query, wherein the abstract query plan specifies;
(i) a set of conditions, each condition including a logical field, a conditional operator, and a comparison value, (ii) one of the plurality of model entities and (iii) logical fields from the plurality of logical fields used to retrieve a set of query results that satisfy the set of conditions; and
wherein providing the abstract query plan comprises;determining, for each condition specified by the abstract query, whether a path exists from a root logical field of the hierarchy to a child logical field of the hierarchy matching the logical field in the condition. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-readable storage medium containing a plurality of instructions which, when executed on a computer system, is configured to perform an operation for presenting a user with a set of query results retrieved from a relational database, the operation comprising:
-
receiving, from a requesting entity, a request to view data in the database related to a model entity predefined as a set of logically related data fields, wherein the model entity identifies an identifier in the underlying database used to identify instances of the model entity; retrieving an abstract record corresponding to the model entity, wherein the abstract record identifies a hierarchy of logical fields related to the model entity; identifying each instance of the model entity included in the query results; for each identified instance, populating a copy of the abstract record with the retrieved query results corresponding to the instance of the model entity; and returning, to the requesting entity, the identified instances and the populated copies of the abstract record; wherein the model entity is defined by a database abstraction model configured to specify a plurality of logical fields, each logical field providing an access method that maps the logical field to data associated with the respective logical field, wherein the hierarchy of logical fields is selected from the plurality of logical fields, wherein the query results are retrieved responsive to an abstract query and via an abstract query plan provided for the abstract query, wherein the abstract query specifies a set of conditions, each condition including a logical field, and wherein the abstract query plan is configured to determine, for each condition specified by the abstract query, whether a path exists from a root logical field of the hierarchy to a child logical field of the hierarchy matching the logical field in the condition. - View Dependent Claims (12)
-
-
13. A system, comprising:
-
one or more computer processors; a memory containing a program which, when executed by the one or more computer processors, is configured to perform an operation for presenting a user with a set of query results retrieved from a database, wherein the operation comprises; receiving, from a requesting entity, a request to view data in the database related to a model entity predefined as a set of logically related data fields, wherein the model entity identifies an identifier in the underlying database used to identify instances of the model entity; retrieving an abstract record corresponding to the model entity, wherein the abstract record identifies a hierarchy of logical fields related to the model entity; identifying each instance of the model entity included in the query results; for each identified instance, populating a copy of the abstract record with the retrieved query results corresponding to the instance of the model entity; and returning, to the requesting entity, the identified instances of the model entity and the populated copies of the abstract record; wherein the model entity is defined by a database abstraction model configured to specify a plurality of logical fields, each logical field providing an access method that maps the logical field to data associated with the respective logical field, wherein the hierarchy of logical fields is selected from the plurality of logical fields, wherein the query results are retrieved responsive to an abstract query and via an abstract query plan provided for the abstract query, wherein the abstract query specifies a set of conditions, each condition including a logical field, and wherein the abstract query plan is configured to determine, for each condition specified by the abstract query, whether a path exists from a root logical field of the hierarchy to a child logical field of the hierarchy matching the logical field in the condition. - View Dependent Claims (14)
-
-
15. A method of presenting a user with a set of query results retrieved from a database, comprising:
-
receiving, from a requesting entity, a request to view data in the database related to a model entity predefined as a set of logically related data fields, wherein the model entity identifies an identifier in the underlying database used to identify instances of the model entity; retrieving an abstract record corresponding to the model entity, wherein the abstract record identifies a hierarchy of logical fields related to the model entity; identifying each instance of the model entity included in the query results; for each identified instance, populating a copy of the abstract record with the retrieved query results corresponding to the instance of the model entity; and
returning, to the requesting entity, the identified instances of the model entity and the populated copies of the abstract record;wherein the model entity is defined by a database abstraction model configured to specify a plurality of logical fields, each logical field providing an access method that maps the logical field to data associated with the respective logical field, wherein the hierarchy of logical fields is selected from the plurality of logical fields, wherein the query results are retrieved responsive to an abstract query and via an abstract query plan provided for the abstract query, wherein the abstract query specifies a set of conditions, each condition including a logical field, and wherein the abstract query plan is configured to determine, for each condition specified by the abstract query, whether a path exists from a root logical field of the hierarchy to a child logical field of the hierarchy matching the logical field in the condition.
-
Specification