Queries for composite events typically involve the four complementary dimensions of event data, event composition, relationships between events (esp. temporal and causal), and accumulating events over time windows for negation and aggregation. We consider a datalog-like rule language for expressing such composite event queries and show that their evaluation can be understood as a problem of incrementally evaluating relational algebra expressions. We then show how temporal relationships between events can be utilized to make the evaluation of joins more efficient by avoiding evaluation of certain subexpressions and by making storage of some intermediate results unnecessary. Categories and Subject Descriptors H.2.3 [Database Management]: Languages Keywords Complex Event Processing, Composite Event Queries, Rules