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.