TIMELINE CONDITION SUPPORT FOR AN ABSTRACT DATABASE
First Claim
1. A system for processing abstract queries, comprising:
- a computer processor;
a database system;
a database abstraction model comprising definitions for a plurality logical fields, wherein each logical field specifies at least an access method mapping the logical field to data in the database system, and wherein at least one logical field includes timeline metadata indicating where data elements retrieved for the at least one logical field occur on a timeline; and
a runtime component which, when executed by the computer processor, receives an abstract query composed from the plurality of logical fields that specifies (i) a set of conditional expressions, wherein each conditional expression includes a logical field, a conditional operator, and a comparison value, and wherein at least one conditional expression specifies a temporal operator relating the logical field and comparison value, and (ii) a set of logical fields defining result fields for which query results, satisfying the set of conditional expressions, are returned, wherein the runtime component further (i) generates an equivalent conditional expression corresponding to the at least one conditional expression, wherein the generated equivalent conditional expression does not include the temporal operator, and wherein the equivalent conditional expression is composed from numerical or logical operators;
(ii) merges other conditional expressions specified by the abstract query with the equivalent conditional expression, and (iii) generates, from the merged conditional expressions and the set of logical fields used to retrieve a set of query results, a resolved query of the database system, andwherein the computer processor issues the resolved query to the database system to retrieve the set of query results and displays a graphical representation of the set of query results that indicates a position of data elements included in the query results on a timeline according to the timeline metadata.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the invention relate data retrieved from the logical fields of an abstract database using a timeline. The logical fields specified by a database abstraction model are extended to include attributes that specify where data corresponding to a logical field occurs on a timeline. Query results may be displayed by ordering query results as points (for an event) or segments (for a duration) on the timeline. Further, query processing techniques disclosed by the present invention allow users to include temporal operators such as “before”, “after”, “during”, and “within” in an abstract query. Temporal operators provide users with the ability to include temporal relationships in an abstract query, without having to construct a complex conditional expression from more primitive logical operators (e.g., “ands” and “ors”).
-
Citations
8 Claims
-
1. A system for processing abstract queries, comprising:
-
a computer processor; a database system; a database abstraction model comprising definitions for a plurality logical fields, wherein each logical field specifies at least an access method mapping the logical field to data in the database system, and wherein at least one logical field includes timeline metadata indicating where data elements retrieved for the at least one logical field occur on a timeline; and a runtime component which, when executed by the computer processor, receives an abstract query composed from the plurality of logical fields that specifies (i) a set of conditional expressions, wherein each conditional expression includes a logical field, a conditional operator, and a comparison value, and wherein at least one conditional expression specifies a temporal operator relating the logical field and comparison value, and (ii) a set of logical fields defining result fields for which query results, satisfying the set of conditional expressions, are returned, wherein the runtime component further (i) generates an equivalent conditional expression corresponding to the at least one conditional expression, wherein the generated equivalent conditional expression does not include the temporal operator, and wherein the equivalent conditional expression is composed from numerical or logical operators;
(ii) merges other conditional expressions specified by the abstract query with the equivalent conditional expression, and (iii) generates, from the merged conditional expressions and the set of logical fields used to retrieve a set of query results, a resolved query of the database system, andwherein the computer processor issues the resolved query to the database system to retrieve the set of query results and displays a graphical representation of the set of query results that indicates a position of data elements included in the query results on a timeline according to the timeline metadata.
-
-
2. The system of claim 1, wherein the system further comprises an abstract query interface for composing the abstract query, and wherein the abstract query interface communicates with the runtime component over a computer network.
-
3. The system of claim 1, wherein the temporal operator comprises one of a “
- before”
operator and an “
after”
operator specifying that data corresponding to the logical field included by at least one conditional expression occurred at a single point on the timeline before or after the comparison value, respectively.
- before”
-
4. The system of claim 1, wherein the temporal operator comprises a “
- during”
or “
within”
operator specifying that data corresponding to the logical field occurs at any point on a segment of the timeline or within a certain distance from another point on the timeline.
- during”
-
5. The system of claim 1, wherein the database system comprises a relational database system, and wherein the resolved query, generated from the abstract query, comprises an SQL query statement.
-
6. A computer-readable storage medium containing a program which, when executed on a computer system, performs operations, comprising:
-
receiving, from a requesting entity, an abstract query composed from a plurality of logical fields specified by a database abstraction model, wherein each logical field has an access method mapping the logical field to data in an underlying physical database, and wherein the abstract query specifies (i) a set of conditional expressions, wherein each conditional expression includes a logical field, a conditional operator, and a comparison value, and wherein at least one conditional expression specifies a temporal operator relating the logical field and comparison value, and (ii) a set of logical fields defining result fields for which query results, satisfying the set of conditional expressions, are returned; generating an equivalent conditional expression corresponding to the at least one conditional expression, wherein the generated equivalent conditional expression does not include the temporal operator, and wherein the equivalent conditional expression is composed from numerical or logical operators; merging other conditional expressions specified by the abstract query with the equivalent conditional expression; generating, from the merged conditional expressions and the set of logical fields used to retrieve a set of query results, a resolved query of the underlying physical database; issuing the resolved query to the underlying physical database to retrieve the set of query results; and displaying a graphical representation of the set of query results that indicates a position of data elements included in the query results on a timeline according to a timeline metadata included in at least one logical field.
-
-
7. The computer-readable storage medium of claim 6, wherein the temporal operator comprises one of a “
- before”
operator and an “
after”
operator specifying that data corresponding to the logical field included by the at least one conditional expression occurred at a single point on the timeline before or after the comparison value, respectively.
- before”
-
8. The computer-readable storage medium of claim 6, wherein the temporal operator comprises a “
- during”
or “
within”
operator specifying that data corresponding to the logical field occurs at any point on a segment of the timeline or within a certain distance from another point on the timeline.
- during”
Specification