The document proposes an approach for efficient semantically enriched complex event processing and pattern matching. It introduces a temporally annotated RDF named graph data model to represent event streams. A query model is presented that decomposes queries into subqueries over event patterns. These subqueries are rewritten and processed in parallel and distributed manner. The proposed approach aims to integrate stream reasoning and complex event processing by supporting new operators for RDF graph patterns and allowing the use of techniques like NFA and EDG for pattern matching.
1. Towards Efficient Semantically Enriched
Complex Event Processing and Pattern
Matching
Syed Gillani1;2 Gauthier Picard1 Fr´ed´erique Laforest2
Antoine Zimmermann1
Institute Henri Fayol, EMSE, Saint-Etienne, France 1
Telecom Saint Etienne, Universit´e Jean Monnet, Saint-Etienne, France 2
2. Introduction Semantic Complex Event Processing Proposed Approach Conclusion
Overview
Introduction
Traditional Vs Real-Time Data Processing
Event Processing Vs Time Axis
Complex Event Processing
Semantic Complex Event Processing
Proposed Approach
Conclusion
3. Introduction Semantic Complex Event Processing Proposed Approach Conclusion
Traditional Vs Real-Time Data Processing
Traditional Data Processing Real-Time Data Processing
One Shot Database Queries
Database
E2
E4
E1
E3
E5
En
Continuous
Event Query
Processing
Time-Future Time-Past
Event Arrival Time
Incoming Events
Time-Current
4. Introduction Semantic Complex Event Processing Proposed Approach Conclusion
Event Processing Vs Time Axis
(Based on Predictive Historical Analysis
Analysis)
Before Event Arrival
Complex Event Processing
Pattern and
Matching
At Event Arrival Some Time
After the Event
Post Processing
and
Historical Analysis
After Considerable
Time e.g. 2 Hours, 1 Day, 3 Months
Time Axis
Proactive Actions
Real-Time
Late Reaction
Historical Events
*Dr. Adrian Paschke, DemAAL Summer school 2013
5. Introduction Semantic Complex Event Processing Proposed Approach Conclusion
Complex Event Processing
I Aggregation, derivation of Primitive Events
I Occurrence and non-occurrence of certain events
I Imposing Temporal Constraints (application of certain
rules )
I For Instance
I Detection of state changes based on observations (If total
consumed electricity > 10MWatt)
I Matching sequence of events that describes a scenario (If
A<10 AND B>40 OR B<80 AND C>90)
Primitive Events
Primitive Events
Primitive Events
Complex Events
Event Source 1
Event Source 2
Event Source n
7. Introduction Semantic Complex Event Processing Proposed Approach Conclusion
SCEP
I Complex Event Processing +Stream Reasoning+ Semantic
Technologies (rules & ontologies) + Heterogeneous Data
Handling?
I Incoming Stream Reasoning + Background Knowledge
I Distributed into TWO flavours
I Stream Reasoning (Real Time + Background Information +
Aggregation through Windows) (C-SPARQL, CQELS::::)
I Pattern Matching (Sequence, Optional, Negation)
(EP-SPARQL)
8. Introduction Semantic Complex Event Processing Proposed Approach Conclusion
State-of-the-art SCEP
*Streaming theWeb: Reasoning over Dynamic Data: Alessandro Margara, Jacopo Urbani, Frank
van Harmelen, Henri Bal
9. Introduction Semantic Complex Event Processing Proposed Approach Conclusion
State-of-the-art SCEP
I Complex Pattern Matching (Approaches)
I Relational Community
I NFA, EDG, RETE algorithm, Rule based system
I SemanticWeb Community
I RETE algorithm, Logical Rule based system
I How about NFA and EDG in SCEP context?
I NFA and EDG are proven to be the most efficient for
Pattern Matching in relational community
*Non-Deterministic Finite Automata
*Event Detection Graphs
10. Introduction Semantic Complex Event Processing Proposed Approach Conclusion
Foundational Challenges for SCEP
I Distributed Event Processing (per Query): Moving from
centralised push based event processing
I Distributed Temporal Pattern Matching: Dedicated language
for Pattern Matching (Implementation of Kleene Closure,
Negation in distributed manner)
I Historical Management of Events: Storing and Partitioning of
events
I Defining Event Boundaries: Triple based to Graph based
streaming, preserving graph model to implement Event
boundaries
I Predictive Event Processing: A new paradigm for SCEP
I Stream Reasoning + CEP: Combing two different worlds
11. Introduction Semantic Complex Event Processing Proposed Approach Conclusion
Overview
Introduction
Semantic Complex Event Processing
Proposed Approach
Event and Stream Data Model
Query Model and Language Specification
Conclusion
12. Introduction Semantic Complex Event Processing Proposed Approach Conclusion
Event and Stream Data Model
I Considering RDF as first class citizen (even for temporal
reasoning, instead relying on external engines)
I Temporally Annotated RDF Named Graph
(< NG; [ts; te] >)
<http :// www . streaminginfo .com / ElecGen > [st1 ,et1 ]
: gen1 : hasName `PowGen -Sect1 '.
: gen1 : hasLocation `St - Etienne '.
: gen1 : hasCurrentPower `60'.
13. Introduction Semantic Complex Event Processing Proposed Approach Conclusion
Proposed Data Model
I Data Partitioning ==> Optimises query time
I Summarisation ==> Merging of similar NG
I Event Boundaries ==>With NG
I Access Control ==>With NG
I Provenance Tracking ==> With NG
I Fact Assignment ==>With Time Interval
14. Introduction Semantic Complex Event Processing Proposed Approach Conclusion
Query Model and Language Specification
I Former Query Models
I Reliance on Triple-Based Data Model
I Uses black-box approach (delegation to external Engines)
I Overhead in query and data translation
I Query Semantics not suitable for distributed processing per
query (SPARQL Extensions:::)
16. Introduction Semantic Complex Event Processing Proposed Approach Conclusion
System Overview
S
1
n
S
2
Δ = P1 & P2 ! True
Δ = P1 ! True Δ = P1 & P ! True 2
S
3
S
4
J
1
J
2
G
1
G
2
Pattern
Module
1
E
1
E
2
2
E
3
Rule
.
.
.
Rule
Rule
A B D
Δ = P2 & P3 ! True
Stream
1
Stream
2
Stream
3
Stream
4
Stage 4:
Distributed and
Parallel Pattern
Matching
Stage 3:
Rule or Pattern
Mapping
Stage 2:
Continuous
Query Processing
and Inference
Stage 1:
Stream Selection
(a) EDG (b) NFA
Storage of Archived
Streams
Archived
Streams
Streami : Incoming Streams Sk : Select Operators
Ji : Join Operations Gt : Generated Events
En : Event Nodes A/B/D : NFA States
17. Introduction Semantic Complex Event Processing Proposed Approach Conclusion
Proposed Model
I Supports Triple based and NG based data model
I Offers event source based Filtering
I Historical management of events through summarisation
(Facts Assignments)
I Provide dedicated design for SCEP (No Data or Query
Translation unlike EP-SPARQL and other systems)
I Distributed and parallel sub-query processing with query
rewriting
18. Introduction Semantic Complex Event Processing Proposed Approach Conclusion
Proposed Model
I Integrating stream processing and CEP
I Offers various new operators including, Sequencing,
Kleene Closure and Negation for RDF Graph patterns
I Allows NFA and EDG to be used in the context of SCEP
through query rewriting (from Rule based to State based
system)
20. Introduction Semantic Complex Event Processing Proposed Approach Conclusion
Conclusion
I Annotated RDF NG enables temporal reasoning at RDF
level
I Our data/query model and query rewriting allows
I Annotated NG based event data model
I Historical management of stream data
I Integration of various new operators for RDF Graphs
(Kleene Closure, Negation )
I Integration of NFA and EDG in the context of SCEP
I Parallel and distributed event processing (per query)