s-Server’s temporal predicates let you query relationships between two time periods, using terms such as CONTAINS, OVERLAPS, PRECEDES, SUCCEEDS, and so on. You can run these queries in conjunction with other data analysis, including relational operators, aggregates, and windowed expressions. See the topic s-Server Temporal Predicates in the SQLstream Streaming SQL Reference Guide for more details on s-Server’s implementation of temporal predicates.
Temporal predicates allow s-Server to perform what Esper and Etalis call “complex event processing” (CEP): “the analysis of complicated, long-running events.” A complicated, long-running event has a non-trivial duration. That is, it spans an interval of time rather than a single instant.
SQLstream’s approach to temporal predicates has two big advantages over competing approaches which use event processors modeled with rules-engines and state machine transitions: