This article introduces a temporal deductive database system featuring
a logic programming language and an algebraic front-end. The language
, called Temporal DATALOG, is an extension of DATALOG based on a linea
r-time temporal logic in which the flow of time is modeled by the set
of natural numbers. Programs of Temporal DATALOG are considered as tem
poral deductive databases, specifying temporal relationships among dat
a and providing base relations to the algebraic front-end. The minimum
model of a given Temporal DATALOG program is regarded as the temporal
database the program models intensionally. The algebraic front-end, c
alled TRA, is a point-wise extension of the relational algebra upon th
e set of natural numbers. When needed during the evaluation of TRA exp
ressions, slices of temporal relations over intervals can be retrieved
from a given temporal deductive database by bottom-up evaluation stra
tegies. A modular extension of Temporal DATALOG is also proposed, thro
ugh which temporal relations created during the evaluation of TRA expr
essions may be fed back to the deductive part for further manipulation
. Modules therefore enable the algebra to have full access to the dedu
ctive capabilities of Temporal DATALOG and to extend it with nonstanda
rd algebraic operators. This article also shows that the temporal oper
ators of TRA can be simulated in Temporal DATALOG by program clauses.