Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

More and more streams of information are becoming available on the Web. A variety of sources give origin to data streams including social networks, mobile phones, smart homes, healthcare devices and other modern infrastructures. A significant portion of this data belongs to the Web-of-Services and to the Web-of-Things ecosystems where data is published and consumed using Web standards and technologies.

From new opportunities arise new challenges. A common problem in the scenarios illustrated above is how to integrate such data and how to enable the creation of new knowledge. Reasoning techniques are a possible solution. However, while reasoners scale up in the classical, static domain of ontological knowledge, reasoning upon rapidly changing information has received attention only in the last decade [1]. The combination of reasoning techniques with data streams gives rise to Stream Reasoning. i.e., reasoning on highly dynamic flows of informations [2]. This is a high impact research area that has already started to produce results relevant to both the Semantic Web [3] and stream processing communities [4].

Learning Goals: The contents of this tutorial can be relevant for RW 2018 summer school attendees as it focuses on the engineering aspects of developing and deploying applications that use streaming data to create new knowledge.

This tutorial aims at introducing different existing approaches for querying and reasoning over data streams and providing guidelines to develop and deploy Stream Reasoning applications. In particular, the tutorial offers to the audience: (i) an overview of the use cases and the scenarios where Stream Reasoning can be used (with the advantages it brings); (ii) an overview of the current state of the art in this emerging area, with techniques and tools developed by several research groups (including but not limited to presenters’ ones); (iii) a focus on a subset of the technologies to perform complex reasoning over dynamic data.

Related Events: The tutorial follows from the Stream Reasoning for Linked Data (SR4LD) tutorial series, successfully held at ESWC 2011, SemTech 2011, ISWC 2013, ISWC 2014, ISWC 2015; the RDF Stream Processing (RSP) tutorial series at ESWC 2014 and ISWC 2016; the Stream Reasoning: Managing Velocity and Variety in Big Data tutorial at DEBS 2016; and the tutorial on How to Build a Stream Reasoning Application co-located with ISWC 2017.

Technologies are now mature and reliable enough to make a step further and build a tutorial with a stronger focus on hands-on sessions. Therefore, this tutorial not only surveys existing research outcomes and introduce existing tools, but it also presents a relevant Web-centric use-case and guide the participants through application development of a Web stream processing application.

Audience: The tutorial targets researchers and practitioners interested in approaching the topic of web stream processing (both querying and reasoning) and who want to understand the current state-of-the-art as well as the future directions. The technologies and topics on this tutorial are relevant for people from IoT and sensor communities, as well as social media, pervasive health, oil industry, etc., who produce massive amounts of streaming data.

2 Presenters

Emanuele Della ValleFootnote 1 holds a PhD in Computer Science from the Vrije Universiteit Amsterdam and a Master degree in Computer Science and Engineering from Politecnico di Milano. He is assistant professor at the Department of Electronics, Information and Bioengineering of the Politecnico di Milano.

In more than 15 years of research, his research interests covered Big Data, Stream Processing, Semantic technologies, Data Science, Web Information Retrieval, and Service Oriented Architectures. He started the Stream Reasoning research field [2] by focusing the research community’s interest on this theme through a number of personal initiatives (workshops, projects, journal papers) that contributed to establishing Stream Reasoning as a recognized research and industrial sector. Stream Reasoning is positioned at the intersection between Stream Processing and Artificial Intelligence. In the Big Data era, it is a method to tame simultaneously the velocity (analyzing data streams to enable real-time decisions) and variety (integrating heterogeneous data) dimensions of Big Data. Starting from 2011, he organized more than 15 tutorials and workshops on Stream ReasoningFootnote 2. His work on Stream Reasoning was applied in analyzing Social Media, Mobile Telecom and IoT data streams in collaboration with Telecom Italia, IBM, Siemens, Oracle, Indra, and Statoil. In 2015, he started up a company (Fluxedo) to commercialize the open source results of Stream Reasoning research.

3 Tutorial Structure

  1. 1.

    Introduction to WEB Stream Processing

    1. 1.1

      From challenges to opportunities.

    2. 1.2

      Paradigmatic shit to continuous semantics.

    3. 1.3

      The limited ability of existing Stream Processing systems to address variety.

    4. 1.4

      The Stream Reasoning research question.

    5. 1.5

      Existing Stream Reasoning systems (quick introduction and high-level comparison).

    6. 1.6

      Anatomy of a Web Stream Processing Application.

    7. 1.7

      Introduction of the tutorial running example.

  2. 2.

    Publishing and Describing Streams on the Web

    1. 2.1

      Streams on the Web: creation and publications challenges.

    2. 2.2

      VoCaLS: a vocabulary to describe RDF Streams on the WEB [5, 6]

    3. 2.3

      VoCaLSing existing data streams to catalog themFootnote 3.

    4. 2.4

      TripleWave: a framework to publish RDF streams on the Web [7]Footnote 4.

    5. 2.5

      Hands-on VoCaLS and TripleWave.

  3. 3.

    Processing Web Streams

    1. 3.1

      Querying and Reasoning on Web Streams: RDF Stream Processing (RSP) languages [8].

    2. 3.2

      Overview and comparison RSP query languages: C-SPARQL [9], CQELS-QL [10], SPARQL\(_{stream}\) [11], RSP-QL [8].

    3. 3.3

      Overview and comparison RSP engines: C-SPARQL E.Footnote 5, CQELSFootnote 6, YasperFootnote 7;

    4. 3.4

      Modeling an RSP Service with VoCaLS.

    5. 3.5

      Hands-on RSP engine.

  4. 4.

    Building a Web Streams Application

    1. 4.1

      Introduction of the RSP Services [12].

    2. 4.2

      Designing the Application.

    3. 4.3

      Using Jupyter notebooks and the RSP-KernelFootnote 8 to implement the Application.

    4. 4.4

      Hands on session.

  5. 5.

    Wrap-up and discussion

    1. 5.1

      On-going research trends, real-world deployments.

    2. 5.2

      Open problems and future directions.