& Complex Event Processing (CEP) deals with the analysis of streams of continuously arriving events, with the goal of identifying instances of predefined meaningful patterns (complex events). Complex events are detected in order to trigger time-critical actions in many areas, including sensors networks, financial services, transaction management, business intelligence, etc. In existing approaches to CEP, a complex event is represented as a composition of more simple events satisfying certain temporal relationships. In this article, we advocate a knowledge-rich CEP, which, apart from events, also processes additional (contextual) knowledge (e.g., in order to prove semantic relations among matched events or to define more complex situations). In particular, we present a novel approach for realizing knowledge-rich CEP, including detection of semantic relations among events and reasoning. We present a rule-based language for pattern matching over event streams, with a precise syntax and the declarative semantics. We devise an execution model for the proposed formalism, and provide a prototype implementation. Extensive experiments have been conducted to demonstrate the efficiency and effectiveness of our approach.