A Framework for Knowledge-Based Complex Event Processing

Existing event processing approaches deal primarily with the syntactic processing of lowlevel primitive events. Usage of ontological background knowledge regarding events and their relations to other resources improves the quality of event processing. The research problem of this dissertation is the utilization of background knowledge about events and other relevant concepts for enabling knowledge-based complex event processing. This integration enhances the expressiveness of event processing semantics and facilitates the specification of event patterns based on the relations of events in the background knowledge graph. We propose a framework for the fusion and processing of event streams and background knowledge. The first problem that we faced is the lack of knowledge representation methods for the representation of events and other relevant concepts. We propose using modular upper-level ontologies for semantic-enabled complex event processing. We discuss why modularity is needed and how these ontologies should be modularly built up based on ontology engineering aspects so as to be able to address expressiveness and reuse of ontologies. For the representation of complex event patterns, a combinatorial pattern specification is proposed based on background knowledge patterns and event algebra operators. The second challenge is the limitation of processing methods for the fusion of event streams and huge amounts of background knowledge. Typically, there is a trade-off between the high expressiveness of the background knowledge used, which leads to higher levels of computational complexity, and the efficiency and performance requirements in real-time event processing. Although some of the existing approaches work directly on stream reasoning, they do not address event detection and inference on the basis of huge amounts of background knowledge. We propose different event processing approaches for the fusion of background knowledge with real-time event streams. The first one is semantic enrichment of event streams which is an approach for the enrichment of events prior to the event processing step. Semantic enrichment is a multi-step event enrichment and detection process so that events are processed by multi-passing through several event processing steps. We provide algorithms for planning the enrichment process in order to achieve near real-time processing and optimize the cost of event enrichment. Our aim is to find low-cost event detection plans while meeting user latency expectations. The enrichment of complex patterns is another approach that we propose for the integration of background knowledge. Complex patterns are converted to patterns that can be processed without requiring knowledge retrieval from external knowledge bases. Event patterns can be rewritten based on event operators and knowledge based results of subqueries. One further approach for reducing the event processing load is to sample the event stream so that the event processing engine can observe only a subset of the original stream. Approaches for sampling data streams are mostly designed for computation with aggregation functions and not for pattern detection. We propose an approach for type-based sampling of event streams based on the entropy of event streams and properties of the user-defined event detection pattern. Our approach samples the original event stream by calibrating the sampling rate of each event type to achieve the requested throughput rate of raw events or detected complex events.