Timeline condition support for an abstract database
First Claim
1. A computer implemented method of creating a database abstraction model over an underlying physical database, comprising:
- defining a plurality of logical fields, wherein each logical field specifies at least an access method mapping the logical field to data in the underlying physical database, and wherein at least one logical field includes timeline metadata indicating where data elements retrieved for the logical field occur on a timeline; and
providing an abstract query building interface used to compose an abstract query from the plurality of logical fields, 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 operator specifies a temporal operator relating the logical field and comparison value, wherein the temporal operator comprises at least one of the following;
a) a first 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 the comparison value;
b) a second operator specifying that data corresponding to the logical field included by at least one conditional expression occurred at a single point on the timeline after the comparison value;
c) a third operator specifying that data corresponding to the logical field occurs at any point on a segment of the timeline; and
d) a fourth operator specifying that data corresponding to the logical field occurs within a certain distance from another point on the timeline; and
(ii) a set of logical fields defining result fields for which query results, satisfying the set of conditional expressions, are returned, wherein the database abstraction model is stored on a computer readable storage medium.
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
4 Claims
-
1. A computer implemented method of creating a database abstraction model over an underlying physical database, comprising:
-
defining a plurality of logical fields, wherein each logical field specifies at least an access method mapping the logical field to data in the underlying physical database, and wherein at least one logical field includes timeline metadata indicating where data elements retrieved for the logical field occur on a timeline; and providing an abstract query building interface used to compose an abstract query from the plurality of logical fields, 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 operator specifies a temporal operator relating the logical field and comparison value, wherein the temporal operator comprises at least one of the following; a) a first 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 the comparison value; b) a second operator specifying that data corresponding to the logical field included by at least one conditional expression occurred at a single point on the timeline after the comparison value; c) a third operator specifying that data corresponding to the logical field occurs at any point on a segment of the timeline; and d) a fourth operator specifying that data corresponding to the logical field occurs within a certain distance from another point on the timeline; and (ii) a set of logical fields defining result fields for which query results, satisfying the set of conditional expressions, are returned, wherein the database abstraction model is stored on a computer readable storage medium.
-
-
2. The method of claim 1, wherein the underlying physical database comprises a relational database system, and wherein a resolved query, generated from the abstract query, comprises an SQL query statement.
-
3. A method for processing an abstract query that includes a temporal conditional expression, 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, 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, wherein the temporal operator comprises at least one of the following; a) a first 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 the comparison value; b) a second operator specifying that data corresponding to the logical field included by at least one conditional expression occurred at a single point on the timeline after the comparison value; c) a third operator specifying that data corresponding to the logical field occurs at any point on a segment of the timeline; and d) a fourth operator specifying that data corresponding to the logical field occurs within a certain distance from another point on the timeline; 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; and 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, wherein generating an equivalent conditional expression, merging other conditional expressions with the equivalent conditional expression, and generating a resolved query of the underlying physical database are done by operation of a computer processor.
-
-
4. 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 operator specifies a temporal operator relating the logical field and comparison value, wherein the temporal operator comprises at least one of the following; a) a first 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 the comparison value; b) a second operator specifying that data corresponding to the logical field included by at least one conditional expression occurred at a single point on the timeline after the comparison value; c) a third operator specifying that data corresponding to the logical field occurs at any point on a segment of the timeline; and d) a fourth operator specifying that data corresponding to the logical field occurs within a certain distance from another point on the timeline; 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 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; and generating, from the conditional expressions and the set of logical fields used to retrieve a set of query results, a resolved query of the underlying physical database.
-
Specification