The main research topic is focused on the design of a software architecture to support the development of distributeddynamiccontext-aware and interoperable services and applications. 

The architecture, named SEPA (SPARQL Event Processing Architecture), enables the detection and notification of changes over the Web of Data by means of a content-based publish-subscribe mechanism where the W3C SPARQL 1.1 Update and SPARQL 1.1 Query languages are fully supported and used respectively by publishers and subscribers.

The architecture is built on top of the W3C SPARQL 1.1 Protocol and introduces the SPARQL 1.1 Secure Event protocol and the SPARQL 1.1 Subscribe language as means for conveying and expressing subscription requests and notifications.

The reference implementation, available on GitHub, offers to developers a design pattern for a modular, scalable and effective application development.


  • Dashboard

    An online tool to play with a SEPA

  • Tarsier

    An online 3D tool to visualize and interact with RDF graphs


  • Bubbles

    The demo shows data coming a SEPA broker. Data are collected from an MQTT broker, contextualized and inserted into the SEPA broker RDF store.

  • MQTT Sensor Monitoring

    Sensor data coming from heterogenous sensors are monitored in real-time


  • SPARQL Event Processing Architecture

    This document describes the SPARQL Event Processing Architecture (SEPA). The SEPA consists of the following components: the SPARQL Secure Event (SE) Protocol Service (also known as SEPA Broker), the SPARQL 1.1 Secure Event (SE) Protocol and the SPARQL 1.1 Subscribe Language. The SEPA aims supporting the development of distributed, Web based and context aware applications, in particular with reference to dynamic contexts where detecting and reacting to events is critical. In such contexts, the use of SPARQL queries may be inefficient and may not guarantee to detect all the events because of their asynchronous nature. Furthermore, the publish-subscribe mechanism offered by the SEPA may support semantic driven coordination and discovery. Eventually, the SEPA is built around a security layer (e.g.,TLS) and it allows clients authentication by means of JSON Web Tokens.

  • JSON SPARQL Application Profile (JSAP)

    This document describes the JSON SPARQL Application Profile (JSAP). JSAP is used to describe an application based on the SPARQL Event Processing Architecture (SEPA) and following the application design pattern named PAC (Producer-Aggregator-Consumer) described in this document. JSAP uses JSON as default format.

  • SPARQL 1.1 Secure Event Protocol

    This document describes the SPARQL 1.1 Secure Event (SE) Protocol that must be implemented by a generic SPARQL SE Service.

  • SPARQL 1.1 Subscribe Language

    This document describes the SPARQL 1.1 Subscribe Language used within the SPARQL Event Processing Architecture to describe subscription requests, responses and notifications.