Well organized query result sets
First Claim
1. A method of generating a set of well organized query results, comprising:
- receiving, from a requesting entity, an abstract query composed from a plurality of logical fields, wherein each logical field specifies (i) a name used to identify the logical field, and (ii) an access method that maps the logical field to data in an underlying database;
retrieving a first set of query results for the abstract query from the underlying database, wherein retrieving the first set of query results, comprises generating, from the abstract query, an intermediate representation of the abstract query that indicates (i) a set of logical fields included in the abstract query, (ii) an indication of data sources within the database mapped to by the set of logical fields, and (iii) a set of one-to-one and one-to-many relationships specified for the plurality of logical fields; and
further comprising, generating, from the intermediate representation, a resolved query issued against the database;
transforming the first set of query results into a second set of query results wherein the second set of query results are organized according to the set of one-to-one and one-to-many relationships specified for the plurality of logical fields; and
providing the second set of query results to an output formatter configured to display the query results to the requesting entity according to the one-to-one and one-to-many relationships.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, apparatus, and articles of manufacture for processing an abstract query and generating well organized user results are disclosed. Well organized user results preserve the cardinality of one-to-one and one-to-many between data elements retrieved using a database query. Embodiments of the present invention use an abstract database that separates a user from the physical representation of data stored in a data repository by providing a plurality of logical fields based on the substantive information stored in the underlying data repository. During query processing, query results generated from an abstract query are generated and organized according to the one-to-one and one-to-many relationships. Subsequently, query results are presented to users according to the intuitive relationships between data understood by users of an abstract database.
-
Citations
9 Claims
-
1. A method of generating a set of well organized query results, comprising:
-
receiving, from a requesting entity, an abstract query composed from a plurality of logical fields, wherein each logical field specifies (i) a name used to identify the logical field, and (ii) an access method that maps the logical field to data in an underlying database; retrieving a first set of query results for the abstract query from the underlying database, wherein retrieving the first set of query results, comprises generating, from the abstract query, an intermediate representation of the abstract query that indicates (i) a set of logical fields included in the abstract query, (ii) an indication of data sources within the database mapped to by the set of logical fields, and (iii) a set of one-to-one and one-to-many relationships specified for the plurality of logical fields; and
further comprising, generating, from the intermediate representation, a resolved query issued against the database;transforming the first set of query results into a second set of query results wherein the second set of query results are organized according to the set of one-to-one and one-to-many relationships specified for the plurality of logical fields; and providing the second set of query results to an output formatter configured to display the query results to the requesting entity according to the one-to-one and one-to-many relationships. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of processing an abstract query, comprising:
-
providing a data abstraction layer comprising (i) a plurality of logical fields, wherein each logical field specifies an access method that maps the logical field to data in an underlying database;
(ii) an indication of one-to-one and one-to many relationships between the logical fields included in the plurality of logical fields;receiving, from a requesting entity, the abstract query composed from the plurality of logical fields; generating a data structure that indicates the one-to-one and one-to-many relationships among the plurality of logical fields included in the abstract query; retrieving a first set of query results for the abstract query from the underlying database; transforming the set of query results into a well organized set of query results according to the one-to-one and one-to-many relationships indicated by the data structure; and providing the second set of query results to an output formatter configured to format the query results according to the one-to-one and one-to-many relationships indicated by the data structure, wherein the output formatter comprises an application configured to generate a markup code representation of the second set of query results capable of being displayed by an application operated by the requesting entity; and returning the formatted query results to the requesting entity. - View Dependent Claims (7, 8)
-
-
9. A computer-readable storage medium containing a program which performs operations, comprising:
-
accessing a data abstraction layer comprising (i) a plurality of logical fields, wherein each logical field specifies an access method that maps the logical field to data in an underlying database;
(ii) an indication of one-to-one and one-to many relationships between the logical fields included in the plurality of logical fields;receiving, from a requesting entity, an abstract query composed from the plurality of logical fields; generating a data structure that indicates the one-to-one and one-to-many relationships among the plurality of logical fields included in the abstract query; retrieving a first set of query results for the abstract query from the underlying database; transforming the set of query results into a well organized set of query results according to the one-to-one and one-to-many relationships indicated by the data structure; and providing the second set of query results to an output formatter configured to format the query results according to the one-to-one and one-to-many relationships indicated by the data structure; and returning the formatted query results to the requesting entity.
-
Specification