# Dynamic Linked Data: A SPARQL Event Processing Architecture
## 2 Related Work  
The architecture presented in this paper can be framed within the research topics known as stream reasoning [23], linked stream data processing [24] and content-based publish-subscribe [25]. To the best of our knowledge, the Linked Data concept and relative technologies were formalized for the first time in [2]. As concerns Linked Data dynamics, [3] provides a deep insight into aspects like discovery, granularity level, description of changes, detection algorithms and notification mechanisms related to detect, propagate and describe changes in Linked Data. In particular, with reference to the notification mechanism, some approaches are compared and divided into two classes: pull-based and push-based. With reference to pull-based approaches, the most recent one seems to be the Linked Data Notifications protocol, for the first time presented in [26]. In [27], the authors discuss the Web of Data Streams and present a set of requirements to be met by an infrastructure to exchange RDF streams on the Web. In particular, the \"keep the data moving\" requirement states that architectures \"must prioritize active paradigms for data stream exchange, where the data supplier can push the stream content to the actors interested in it\". SEPA meets this requirement, as well as all the other requirements stated in [27], and it provides a push-based mechanism (i.e., based on the SPARQL 1.1 Secure Event and SPARQL 1.1 Subscribe Language herein proposed) through the publish-subscribe paradigm. However, at the same time, the SEPA broker reference architecture is open for implementing also pull-based mechanisms (e.g., Linked Data Notifications) and providing adaptive push-pull techniques like the one presented in [28]. The publish-subscribe paradigm [25] is an essential brick in the development of modern, distributed applications. This communication paradigm contemplates the existence of two types of clients (i.e., publishers and subscribers), respectively devoted to produce data and consume only those matching the client declared interest. One of the main advantages of this paradigm is the full decoupling in space and time of the involved entities that do not need to know each other and be online at the same time. Furthermore, publishers and subscribers also benefit from a synchronization decoupling: they still performs their tasks, while asynchronously generating events or receiving notifications. For example, [PERSON] et al. in [29] adopt the publish-subscribe paradigm as the communication means among a set of processes and propose a framework based on a limited set of primitives (i.e., publish, subscribe, unsubscribe and notify) that contains all the essentials of the paradigm. However, the publish-subscribe paradigm itself is not enough to have a complete definition of the semantics of data. We believe that Semantic Web technologies could play a significant role in defining the data semantics, and among all the solutions we have been able to discover, in the following, we summarize the ones closest to our approach. Initial solutions for Semantic Web-based publish-subscribe are presented by [PERSON] et al. [30] and [PERSON] et al. [31], while a first attempt to use SPARQL as the subscription language is presented in [32]. Another early SPARQL-based RDF stream processing proposal is streaming SPARQL [33], where the authors propose to extend SPARQL with time-windows like in continuous SPARQL (C-SPARQL) [34], SPARQLStream [35], event processing SPARQL (EP-SPARQL) [36], continuous query evaluation over Linked Data streams (CQELS) [37] and Sparkwave [38]. A time-window specifies the triples for which the query is executed. It can be defined either by the number of triples (last triples from the stream) or the time (e.g., the last 15 min). The window specification defines also how often the window is updated and consequently the frequency of query evaluation.