The goal of the tutorial is to outline how to develop and deploy a stream processing application in a web environment in a reproducible way. To this extent, we intend to (1) survey existing research outcomes from the Stream Reasoning /RDF Stream Processing that arise in querying and reasoning on a variety of highly dynamic data, (2) introduce stream reasoning techniques as powerful tools to use when addressing a data-centric problem characterised both by variety and velocity (such as those typically found on the modern Web), (3) present a relevant Web-centric use-case that requires to address simultaneously data velocity and variety, and (4) guide the participants through the development of a Web stream processing application.
Data streams are increasingly becoming available on the Web. A variety of sources give origin to data streams, including social networks, mobile phones, smart homes, healthcare devices, and parts of the modern infrastructure. From new opportunities arise new challenges. A common problem in scenarios involving data streams on the Web is how data can be integrated to enable the creation of new knowledge. Reasoning techniques are a possible solution to help with this integration. However, while modern reasoners scale up in the static domain of ontological knowledge, reasoning upon rapidly changing information has received attention only in the last decade . The combination of reasoning techniques with data streams has given rise to the new research area of Stream Reasoning. i.e., reasoning on highly dynamic flows of information . Stream Reasoning research area that has started to produce impactful results relevant to both the Semantic Web  and stream processing communities .
Objectives: The goal of the tutorial is to provide the fundamental notion of reasoning over streams, provide an overview of current challenges and state of the art, describe the process of publication and description of data streams on the Web, showcase different techniques and technologies for processing Web streams, and outline the process of developing and deploying stream processing applications in a Web environment.
Relevance: The contents of this tutorial is highly relevant for ESWC 2019 attendees, as it focuses on practical aspects of developing and deploying applications that publish, produce, and process streaming (or rapidly changing) RDF data.
Scope: Stream reasoning technologies are now mature and reliable enough to build a tutorial with a stronger focus on hands-on sessions. Therefore, this tutorial not only surveys existing research outcomes and describes existing tools, but it also presents a Web-centric use-case and guides the participants through the development of a Web stream processing application.
Learning objectives: This full-day tutorial aims at introducing different existing approaches for querying, analyzing, and reasoning over data streams. It also provides guidelines for developing and deploying Stream Reasoning applications. In particular, the tutorial offers to the audience:
- an overview of the use-cases and scenarios where Stream Reasoning provides valuable advantages;
- 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);
- a focused description of a subset of these technologies to reason over dynamic data;
- practical experience through hands-on sessions were the audience can interact with existing tools.
Target audience. The tutorial targets researchers, knowledge workers, 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 have to analyze in real-time massive amounts of streaming data.
We include links to teaching material, including slides and hands-on resources, that will be used and adapted for this tutorial. All the exercises make use of Jupyter Notebooks, which allows us to provide the infrastructure necessary for the tutorial exercises, while hiding some of the underlying complexities for the users. Jupyter Notebooks is one of the most popular tools for data science in both academia and industry and the winner of 2017 ACM Software System Award.
- Background for Web Stream Processing [0.25-0.5h]
- RDF & SPARQL in a nutshell [slides]
- Stream Processing 101 [slides]
- The paradigm shift to continuous semantics [slides]
- Stream processing languages and architectures
- Time-based windows [slides]
- Web Stream Processing: From Challenges to Opportunities [0.5h] [slides]
- The Stream Reasoning research question
- Taming Data Variety and Velocity: RDF Stream Processing
- Use-cases & applications
- Anatomy of Web Stream Processing Applications [1.5h]
- Publishing and describing streams on the Web [0.75h]
- Streams on the Web: publication challenges
- A framework for publishing RDF streams on the Web: TripleWave2
- A vocabulary for streams: VoCaLS3
- Demo 1: TripleWave for DBPedia changes
- Exercise 1: Using VoCaLS to create a stream catalog
- Processing Web Streams [0.75h] [slides]
- Querying and Reasoning over Web Streams: RSP Languages 
- Overview of RSP languages: C-SPARQL , CQELS-QL , SPARQLstream , RSP-QL .
- Overview of representative RSP engines: [C-SPARQL], [CQELS], Yasper4 ;
- Demo 2: RSP-QL query conversion using SPIN
- Exercise 2: Modeling an RSP Service with VoCaLS.
- Building a Web Streams Application [1h] [materials]
- Introduction of the tutorial running example.
- Designing the application: step-by-step
- RSP Lab: An environment for analyzing streams and monitor performance
- Demo 3: Processing RDF Streams in the Wild
- Exercises 3–4: Streaming Data Analytics (data visualization and anomaly detection)
- Exercise 5–6: Streaming Data Management (stream exploration and reasoning)
- Introduction of RSP Benchmarking in RSP Lab .
- Demo 4: Infrastructure Monitoring
- Exercise 7: Measuring KPIs
- Wrap-up and discussion
- On-going research trends, real-world deployments.
- Open problems and future directions.
- Publishing and describing streams on the Web [0.75h]
Emanuele Della Valle is an Assistant Professor of Software Project Management at the Department of Electronics and Information of the Politecnico di Milano. He tries to perform research that is justified and guided by business needs. His major interest is in translating research results into business opportunities. In more than a decade of research, his research interests covered Semantic Web, Web Services, Service Oriented Architectures, Search Engines and, more recently on Stream Management Systems and Rank-aware Databases. His education activities include lecturing: Software Project Management at Politecnico di Milano; Knowledge Engineering at Universita dell Insubria; the RDF stream Processing tutorial at ESWC 2014, the Stream Reasoning for Linked Data tutorial series at SemTech 2011, ESWC 2011, ISWC 2013, ISWC 2014, ISWC 2015 the LarKC Early Adopters Tutorial Series at ISWC 2009, and ESWC 2010; a tutorial about Realizing Semantic Web Applications at BIS 2008, ISWC 2008, and ICWE 2010; and several industrial short courses for CEFRIEL centered on
future evolution of the Web. In 2008 he was an author of the first Italian Semantic Web book. Between 2004 and 2007, he was lecturer of Advanced Information Systems at Politecnico di Milano.
1. D. Dell’Aglio, E. Della Valle, F. van Harmelen, and A. Bernstein, “Stream reasoning: A survey
and outlook,” Data Science, vol. 1, no. 1-2, pp. 59–83, 2017.
2. E. Della Valle, S. Ceri, F. van Harmelen, and D. Fensel, “It’s a streaming world! reasoning upon
rapidly changing information,” IEEE Intelligent Systems, vol. 24, no. 6, pp. 83–89.
3. A. Margara, J. Urbani, F. van Harmelen, and H. E. Bal, “Streaming the web: Reasoning over
dynamic data,” J. Web Sem., vol. 25, pp. 24–44, 2014.
4. E. Della Valle, D. Dell’Aglio, and A. Margara, “Taming velocity and variety simultaneously in
big data with stream reasoning: tutorial,” in DEBS, pp. 394–401, ACM, 2016.
5. D. Dell’Aglio, E. Della Valle, J. Calbimonte, and O. Corcho, “RSP-QL semantics: A unifying ´
query model to explain heterogeneity of RDF stream processing systems,” Int. J. Semantic Web
Inf. Syst., vol. 10, no. 4, pp. 17–44.
6. D. F. Barbieri, D. Braga, S. Ceri, E. Della Valle, and M. Grossniklaus, “C-SPARQL: a continuous
query language for RDF data streams,” Int. J. Semantic Computing, vol. 4, no. 1, pp. 3–25.
7. D. L. Phuoc, M. Dao-Tran, J. X. Parreira, and M. Hauswirth, “A native and adaptive approach
for unified processing of linked streams and linked data,” in The Semantic Web – ISWC 2011
– 10th International Semantic Web Conference, Bonn, Germany, October 23-27, 2011, Proceedings, Part I.
8. J. Calbimonte, O. Corcho, and A. J. G. Gray, “Enabling ontology-based access to streaming ´
data sources,” in The Semantic Web – ISWC 2010 – 9th International Semantic Web Conference,
ISWC 2010, Shanghai, China, November 7-11, 2010, Revised Selected Papers, Part I, pp. 96–111.
9. R. Tommasini, E. Della Valle, M. Balduini, and D. Dell’Aglio, “Heaven: a framework for systematic comparative research approach for rsp engines,” in 13th Extended Semantic Web Conference,
ESWC 2016, Heraklion, Crete, Greece, pp. 87–92.