SlideShare a Scribd company logo
09/06/2021
RSP4J: An API for RDF Stream
Processing
18th Extended Semantic Web Conference,
Riccardo Tommasini (UT🇪🇪)
1
Joint Work
2
Pieter Bonte
IMEC/UGENT🇧🇪
Femke Ongenae
IMEC/UGENT🇧🇪
Emanuele Della Valle
POLIMI🇮🇹
Community Work
Acknowledgement to users/contributors
3
Agenda
• What is Stream Reasoning

• RDF Stream Processing 

• Problem Statement

• RSP4J (Finally)

• Final Remarks
There will be memes!
4
5
Is it possible to make sense in real time of multiple,
heterogeneous, gigantic and inevitably noisy and
incomplete data streams in order to support the decision
processes of extremely large numbers of concurrent users?
E. Della Valle, S. Ceri, F. van Harmelen & H. Stuckenschmidt, 2010
Research question
STREAM REASONING
Emanuele Della Valle - http://emanueledellavalle.org - @manudellavalle 6
Semantic
Web
Stream
Processing
Linked
Data
Stream Reasoning
Logical
Reasoning
State-of-the-art
ETALIS
LARS/LASER
TESLA
RDFox
Calcite
BEAM
OWLAPI
Commons RDF
7
Prominent Solution
Related Work
RSP
IR
Semantic
Technologies
Vice-Versa
is also valid
Oh Yes!
Almost Done!! Almost!!
Oh Man!
Stream Processing
8
Semantic
Technologies
Semantic
Technologies
Semantic
Technologies
time
What is a Stream?
9
• Streams: unbounded partially ordered sequence of data in
form of object-timestamp pairs <o,t>, e.g., 

• o is a coloured box

• t is a natural number
Sort out all the colours in the streams
What is Stream Processing?
stateless
order
…..
…..
…..
…..
…..
…..
10
( , 15)
time
1 minute wide window
How many boxes, grouped by color,
there are in the last minute?
What is Stream Processing?
stateful
11
Semantic
Technologies
Vice-Versa
is also valid
Oh Yes!
Almost Done!! Almost!!
Stream Processing
12
Semantic
Technologies
Semantic
Technologies
We are
Here
Semantic
Technologies
The CQL continuous query language
Basics
Arasu, Arvind, Shivnath Babu, and
Jennifer Widom. "The CQL continuous
query language: semantic foundations
and query execution." The VLDB Journal
15.2 (2006): 121-142.


Streams Relations
…


<s,τ>


…
<s1>


<s2>


<s3>
infinite


unbounded


sequence
finite


bag
Mapping: T ! R
stream-to-relation
relation-to-stream
relation-to-relation
Stream
Relation R(t)
Relational Algebra (Almost)
*Stream operators
time-based windows
W4
W2
CQL Viz
Window Tumbling
R2R operator
S
ω
t
width
…
t0
W0 W1 W3 Wn+1
Wn
…
…
COUNT
2
1
S2R operator (ω)
𝕎
W3
14
NOW()
R2S operator RSTREAM
W2 W4
Continuous●Semantic
s

/kənˈtɪnjuːəs●sɪˈmæntɪks
/

1.The result of a query is the set of results that
would be returned if the query were executed
at every instant in time.
15
Adding Data Semantics
16
time
1 minute wide window
How many colours in the last minute?
From Stream Processing…
17
( , 13),( , 8) , ( , 8)
time
How many colours in the last
minute?
…to Stream Processing
18
( , 13),( , 8) , ( , 8)
1 minute wide window
Stream Reasoning
Better Questions
How many cool colours in the last minute?
time
( , 13),( , 8) , ( , 8)
1 minute wide window
Which are the top-2 most frequent sentiments


in the last minute?
love and wisdom
Stream Reasoning
Even Better Questions
1 minute wide window
time
Semantic
Web
Stream
Processing
Linked
Data
Stream Reasoning
Logical
Reasoning
State-of-the-art
LARS/LASER
OWLAPI
Prominent Solution
Related Work
Commons RDF
RSP
IR
TESLA
Calcite
BEAM
ETALIS
RDFox
21
Stream Reasoning
State-of-the-art
ff
erences
• Syntaxes are not interoperable

• Have di
ff
erent operational
semantics

• Not all of them integrate static
knowledge

• RDF Streams ok, but graphs or
triples?
RSP Dialects & Engines
23
Similarities
• Extend SPARQL with windows

• Evaluates queries under
continuous semantics

• Optimise the execution for low-
latency high-throughput (stream
processing requirements)
RSP Dialects & Engines
24
Dell’Aglio et al.
• Reference model that uniforms
existing solutions

• has formal semantics
(denotational)

• can explain operational
semantics

• Solutions published after 

(e.g., YASPER 1.0, TPF-QS,
Strider) align to it
RSP-QL
Continuous
Querying:

SPARQL
Identifiers: URI
Cryptography
Trust
Ontologies: OWL
Proof
Unifying Logic
Rules: RIF/SWIRL
Taxonomies: RDFS
Data Interchange: RDF
Character Set: UNICODE
Syntax: XML, TTL, NT, JSON-LD
User Interfaces and Applications
25
Dell’Aglio et al.
• Reference model that uniforms
existing solutions

• has formal semantics
(denotational)

• can explain operational
semantics

• Solutions published after 

(e.g., YASPER 1.0, TPF-QS,
Strider) align to it
RSP-QL
Continuous
Querying:

RSP-QL
Identifiers: URI
Cryptography
Trust
Ontologies: OWL
Proof
Unifying Logic
Rules: RIF/SWIRL
Taxonomies: RDFS
Continuous Interchange: 

RDF Stream
Character Set: UNICODE
Syntax: XML, TTL, NT, JSON-LD
User Interfaces and Applications
?


?


?


?
26
Continuous
Querying:

SPARQL
Data Interchange: RDF
Theoretical
Framework
Applications
The Technological Gap
27
The Stream Reasoning community needs systems and tools
that can encourage re-use and foster the adoption of existing
solutions for RDF Stream Processing.
Tommasini, and Della Valle. "Challenges & Opportunities of RSP-QL Implementations."
WSP/WOMoCoE@ ISWC. 2017.
Problem Statement
RSP4J
28
Currently, the following tasks are hard to do..
Uncomfortable Truths
You need to
implement your RSP
engine from scratch
29
• Introducing new window operators



• Experiment optimisation techniques



• Comparing di
ff
erent engines
Does he bite? No, but he can hurt
you in other ways!
Challenges
Fast Prototyping
30
Benchmarking
Dissemination
Requirements
1. Extensible Architecture.

2. Declarative Access

3. Programming Abstractions

4. Experimentation

5. Observability
C1 C2 C3 C4 C5 C6 C7 C8 C9 C10
R1 ✓ ✓ ✓ ✓ ✓
R2 ✓ ✓ ✓
R3 ✓ ✓ ✓
R4 ✓ ✓ ✓
R5 ✓ ✓ ✓ ✓ ✓
R
R
R
R
R
And their relation to the challenges
31
RSP4J
30.000ft View: Architecture
Extensible parser based on
the RSP-QL Syntax Proposal

(R1, R2)
Abstract representing the
evaluation under continuous
semantics (R3,R5)
Abstract Representation of A
Streaming Dataset for
backwards compatibility with
SPARQL (R3)
Con
fi
gurable engine capable
of reproducing existing
behaviours (R4,R5)
Versatile Object for
representing streams (non
strictly RDF based) (R1)
Operator Interface based on
RSP-QL/CQL (R1, R3)
(e)
32
RSP4J
10.000ft View: Querying
Extensible parser based on
the RSP-QL Syntax Proposal
Rei
fi
ed Object representing
the running query
33
10.000ft View: Streams
• Two main interfaces:

• Web Stream (vid. Vocals)

• Data Stream (generic)

• Simple Approach for production
and consumption

• We recently added the IO
package with lots of sources
RSP4J
34
10.000ft View: Streams
• Two main interfaces:

• Web Stream (vid. Vocals)

• Data Stream (generic)

• Simple Approach for production
and consumption

• We recently added the IO
package with lots of sources
RSP4J
35
10.000ft View: Operators
• Generalise CQL Style of operators
families

• Includes already canonical
examples of S2R

• CQELS’s Window Operator

• CSPARQL’s Window Operator

• Includes generic implementation of
R2S

• RStream, IStream, DStream
RSP4J
36
10.000ft View: Engine
• Allows controlling the engine,
e.g., query registration and
cancellation.

• RSP4J can reproduce the
execution semantics of common
RSP engines

• Already include some bindings,
YASPER, CSPARQL 2.0,
ONSPER*
RSP4J
RSP4J: Engine
YASPER CSPARQL 2.0
Esper + Jena
RDF Commons
+ JGraphT
ONSPER
Esper + Calcite
+ Ontop
binds
Runtime
Interface
37
Enables the following research directions
Does the window operator X
outperform window operator Y for
both C-SPARQL and CQELS
execution semantics?
RSP4J
IMPLEMENT
MY RSP
SOLUTION
FROM
SCRATCH
RSP4J
38
Enables the following research directions
Does this alternative memory
representation optimise CityBench’
RSP-QL queries using the Strider
Engine?
RSP4J
IMPLEMENT
MY RSP
SOLUTION
FROM
SCRATCH
RSP4J
39
Enables the following research directions
Can I apply a bunch of RSP
engines to my use-case and
observe which performs better?
RSP4J
IMPLEMENT
MY RSP
SOLUTION
FROM
SCRATCH
RSP4J
40
• June 28-July 2, 2021, Virtual
Event, Italy

• http://streamreasoning.org/
events/web-stream-processing-
with-rsp4j

• We will prototype an engine!

• Big Updates: Publishing & 

New Abstract API!
DEBS 21 Tutorial (Free)
Learning N di
ff
erent
RSP Dialects
N > 4
Learning
RSP4J
41
Conclusion
Roadmap
RSP4J is a community effort that we hope will
foster further practical research on RSP/SR
We plan to organise events and
hackathons to foster its adoption
We plan to integrate it with RSPLab and
existing benchmarks like CityBench
We plan to integrate more engines, provide
more operators, and (hopefully) optimisations
To foster data science, we plan to make it available via
Jupyter Notebook with python Bindings (RSPLib)
…
Benchmarks
Integration
RSP4J
RELEASE
CQELS
bindings
42
Python
Bindings
DEBS 2021
TUTORIAL
RSP4J Repo
Stream Reasoning
Workshop 2021
Publication and
Abstraction API
Questions?

More Related Content

What's hot

Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
Simplilearn
 
Apache Spark overview
Apache Spark overviewApache Spark overview
Apache Spark overview
DataArt
 
Introduction to Apache Calcite
Introduction to Apache CalciteIntroduction to Apache Calcite
Introduction to Apache Calcite
Jordan Halterman
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuningSimon Huang
 
Need for Time series Database
Need for Time series DatabaseNeed for Time series Database
Need for Time series Database
Pramit Choudhary
 
Spark Summit EU talk by Bas Geerdink
Spark Summit EU talk by Bas GeerdinkSpark Summit EU talk by Bas Geerdink
Spark Summit EU talk by Bas Geerdink
Spark Summit
 
Apache spark
Apache sparkApache spark
Apache spark
TEJPAL GAUTAM
 
Enable GoldenGate Monitoring with OEM 12c/JAgent
Enable GoldenGate Monitoring with OEM 12c/JAgentEnable GoldenGate Monitoring with OEM 12c/JAgent
Enable GoldenGate Monitoring with OEM 12c/JAgent
Bobby Curtis
 
Going to Mars with Groovy Domain-Specific Languages
Going to Mars with Groovy Domain-Specific LanguagesGoing to Mars with Groovy Domain-Specific Languages
Going to Mars with Groovy Domain-Specific Languages
Guillaume Laforge
 
Productizing Structured Streaming Jobs
Productizing Structured Streaming JobsProductizing Structured Streaming Jobs
Productizing Structured Streaming Jobs
Databricks
 
Top 10 Mistakes When Migrating From Oracle to PostgreSQL
Top 10 Mistakes When Migrating From Oracle to PostgreSQLTop 10 Mistakes When Migrating From Oracle to PostgreSQL
Top 10 Mistakes When Migrating From Oracle to PostgreSQL
Jim Mlodgenski
 
Crushing Latency with Vert.x
Crushing Latency with Vert.xCrushing Latency with Vert.x
Crushing Latency with Vert.x
Paulo Lopes
 
Intro to Apache Spark
Intro to Apache SparkIntro to Apache Spark
Intro to Apache Spark
Robert Sanders
 
검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민
종민 김
 
Apache Spark 101
Apache Spark 101Apache Spark 101
Apache Spark 101
Abdullah Çetin ÇAVDAR
 
Apache Calcite: One Frontend to Rule Them All
Apache Calcite: One Frontend to Rule Them AllApache Calcite: One Frontend to Rule Them All
Apache Calcite: One Frontend to Rule Them All
Michael Mior
 
Cost-based Query Optimization in Apache Phoenix using Apache Calcite
Cost-based Query Optimization in Apache Phoenix using Apache CalciteCost-based Query Optimization in Apache Phoenix using Apache Calcite
Cost-based Query Optimization in Apache Phoenix using Apache Calcite
Julian Hyde
 
SPARQL Cheat Sheet
SPARQL Cheat SheetSPARQL Cheat Sheet
SPARQL Cheat Sheet
LeeFeigenbaum
 
온톨로지 & 규칙 추론 시스템
온톨로지 & 규칙 추론 시스템온톨로지 & 규칙 추론 시스템
온톨로지 & 규칙 추론 시스템Sang-Kyun Kim
 
Why Use an Oracle Database?
Why Use an Oracle Database?Why Use an Oracle Database?
Why Use an Oracle Database?
Markus Michalewicz
 

What's hot (20)

Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
Spark SQL Tutorial | Spark SQL Using Scala | Apache Spark Tutorial For Beginn...
 
Apache Spark overview
Apache Spark overviewApache Spark overview
Apache Spark overview
 
Introduction to Apache Calcite
Introduction to Apache CalciteIntroduction to Apache Calcite
Introduction to Apache Calcite
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuning
 
Need for Time series Database
Need for Time series DatabaseNeed for Time series Database
Need for Time series Database
 
Spark Summit EU talk by Bas Geerdink
Spark Summit EU talk by Bas GeerdinkSpark Summit EU talk by Bas Geerdink
Spark Summit EU talk by Bas Geerdink
 
Apache spark
Apache sparkApache spark
Apache spark
 
Enable GoldenGate Monitoring with OEM 12c/JAgent
Enable GoldenGate Monitoring with OEM 12c/JAgentEnable GoldenGate Monitoring with OEM 12c/JAgent
Enable GoldenGate Monitoring with OEM 12c/JAgent
 
Going to Mars with Groovy Domain-Specific Languages
Going to Mars with Groovy Domain-Specific LanguagesGoing to Mars with Groovy Domain-Specific Languages
Going to Mars with Groovy Domain-Specific Languages
 
Productizing Structured Streaming Jobs
Productizing Structured Streaming JobsProductizing Structured Streaming Jobs
Productizing Structured Streaming Jobs
 
Top 10 Mistakes When Migrating From Oracle to PostgreSQL
Top 10 Mistakes When Migrating From Oracle to PostgreSQLTop 10 Mistakes When Migrating From Oracle to PostgreSQL
Top 10 Mistakes When Migrating From Oracle to PostgreSQL
 
Crushing Latency with Vert.x
Crushing Latency with Vert.xCrushing Latency with Vert.x
Crushing Latency with Vert.x
 
Intro to Apache Spark
Intro to Apache SparkIntro to Apache Spark
Intro to Apache Spark
 
검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민
 
Apache Spark 101
Apache Spark 101Apache Spark 101
Apache Spark 101
 
Apache Calcite: One Frontend to Rule Them All
Apache Calcite: One Frontend to Rule Them AllApache Calcite: One Frontend to Rule Them All
Apache Calcite: One Frontend to Rule Them All
 
Cost-based Query Optimization in Apache Phoenix using Apache Calcite
Cost-based Query Optimization in Apache Phoenix using Apache CalciteCost-based Query Optimization in Apache Phoenix using Apache Calcite
Cost-based Query Optimization in Apache Phoenix using Apache Calcite
 
SPARQL Cheat Sheet
SPARQL Cheat SheetSPARQL Cheat Sheet
SPARQL Cheat Sheet
 
온톨로지 & 규칙 추론 시스템
온톨로지 & 규칙 추론 시스템온톨로지 & 규칙 추론 시스템
온톨로지 & 규칙 추론 시스템
 
Why Use an Oracle Database?
Why Use an Oracle Database?Why Use an Oracle Database?
Why Use an Oracle Database?
 

Similar to RSP4J: An API for RDF Stream Processing

On the need for a W3C community group on RDF Stream Processing
On the need for a W3C community group on RDF Stream ProcessingOn the need for a W3C community group on RDF Stream Processing
On the need for a W3C community group on RDF Stream Processing
PlanetData Network of Excellence
 
OrdRing 2013 keynote - On the need for a W3C community group on RDF Stream Pr...
OrdRing 2013 keynote - On the need for a W3C community group on RDF Stream Pr...OrdRing 2013 keynote - On the need for a W3C community group on RDF Stream Pr...
OrdRing 2013 keynote - On the need for a W3C community group on RDF Stream Pr...
Oscar Corcho
 
Overview of the SPARQL-Generate language and latest developments
Overview of the SPARQL-Generate language and latest developmentsOverview of the SPARQL-Generate language and latest developments
Overview of the SPARQL-Generate language and latest developments
Maxime Lefrançois
 
RDF Stream Processing: Let's React
RDF Stream Processing: Let's ReactRDF Stream Processing: Let's React
RDF Stream Processing: Let's React
Jean-Paul Calbimonte
 
Spark meetup TCHUG
Spark meetup TCHUGSpark meetup TCHUG
Spark meetup TCHUG
Ryan Bosshart
 
Tiny Batches, in the wine: Shiny New Bits in Spark Streaming
Tiny Batches, in the wine: Shiny New Bits in Spark StreamingTiny Batches, in the wine: Shiny New Bits in Spark Streaming
Tiny Batches, in the wine: Shiny New Bits in Spark Streaming
Paco Nathan
 
High Performance Data Analytics with Java on Large Multicore HPC Clusters
High Performance Data Analytics with Java on Large Multicore HPC ClustersHigh Performance Data Analytics with Java on Large Multicore HPC Clusters
High Performance Data Analytics with Java on Large Multicore HPC Clusters
Saliya Ekanayake
 
Spidal Java: High Performance Data Analytics with Java on Large Multicore HPC...
Spidal Java: High Performance Data Analytics with Java on Large Multicore HPC...Spidal Java: High Performance Data Analytics with Java on Large Multicore HPC...
Spidal Java: High Performance Data Analytics with Java on Large Multicore HPC...
Geoffrey Fox
 
On the need for applications aware adaptive middleware in real-time RDF data ...
On the need for applications aware adaptive middleware in real-time RDF data ...On the need for applications aware adaptive middleware in real-time RDF data ...
On the need for applications aware adaptive middleware in real-time RDF data ...
Zia Ush Shamszaman
 
Stream Data Processing at Big Data Landscape by Oleksandr Fedirko
Stream Data Processing at Big Data Landscape by Oleksandr Fedirko Stream Data Processing at Big Data Landscape by Oleksandr Fedirko
Stream Data Processing at Big Data Landscape by Oleksandr Fedirko
GlobalLogic Ukraine
 
Decision trees in hadoop
Decision trees in hadoopDecision trees in hadoop
Decision trees in hadoop
Revolution Analytics
 
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
inside-BigData.com
 
High-Performance and Scalable Designs of Programming Models for Exascale Systems
High-Performance and Scalable Designs of Programming Models for Exascale SystemsHigh-Performance and Scalable Designs of Programming Models for Exascale Systems
High-Performance and Scalable Designs of Programming Models for Exascale Systems
inside-BigData.com
 
An experience on empirical research about rdf stream
An experience on empirical research about rdf streamAn experience on empirical research about rdf stream
An experience on empirical research about rdf stream
Daniele Dell'Aglio
 
OpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsOpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC Systems
HPCC Systems
 
A Library for Emerging High-Performance Computing Clusters
A Library for Emerging High-Performance Computing ClustersA Library for Emerging High-Performance Computing Clusters
A Library for Emerging High-Performance Computing Clusters
Intel® Software
 
Towards efficient processing of RDF data streams
Towards efficient processing of RDF data streamsTowards efficient processing of RDF data streams
Towards efficient processing of RDF data streams
Alejandro Llaves
 
Towards efficient processing of RDF data streams
Towards efficient processing of RDF data streamsTowards efficient processing of RDF data streams
Towards efficient processing of RDF data streams
Alejandro Llaves
 
Data Integration Solutions Created By Koneksys
Data Integration Solutions Created By KoneksysData Integration Solutions Created By Koneksys
Data Integration Solutions Created By Koneksys
Koneksys
 
High Performance Predictive Analytics in R and Hadoop
High Performance Predictive Analytics in R and HadoopHigh Performance Predictive Analytics in R and Hadoop
High Performance Predictive Analytics in R and Hadoop
DataWorks Summit
 

Similar to RSP4J: An API for RDF Stream Processing (20)

On the need for a W3C community group on RDF Stream Processing
On the need for a W3C community group on RDF Stream ProcessingOn the need for a W3C community group on RDF Stream Processing
On the need for a W3C community group on RDF Stream Processing
 
OrdRing 2013 keynote - On the need for a W3C community group on RDF Stream Pr...
OrdRing 2013 keynote - On the need for a W3C community group on RDF Stream Pr...OrdRing 2013 keynote - On the need for a W3C community group on RDF Stream Pr...
OrdRing 2013 keynote - On the need for a W3C community group on RDF Stream Pr...
 
Overview of the SPARQL-Generate language and latest developments
Overview of the SPARQL-Generate language and latest developmentsOverview of the SPARQL-Generate language and latest developments
Overview of the SPARQL-Generate language and latest developments
 
RDF Stream Processing: Let's React
RDF Stream Processing: Let's ReactRDF Stream Processing: Let's React
RDF Stream Processing: Let's React
 
Spark meetup TCHUG
Spark meetup TCHUGSpark meetup TCHUG
Spark meetup TCHUG
 
Tiny Batches, in the wine: Shiny New Bits in Spark Streaming
Tiny Batches, in the wine: Shiny New Bits in Spark StreamingTiny Batches, in the wine: Shiny New Bits in Spark Streaming
Tiny Batches, in the wine: Shiny New Bits in Spark Streaming
 
High Performance Data Analytics with Java on Large Multicore HPC Clusters
High Performance Data Analytics with Java on Large Multicore HPC ClustersHigh Performance Data Analytics with Java on Large Multicore HPC Clusters
High Performance Data Analytics with Java on Large Multicore HPC Clusters
 
Spidal Java: High Performance Data Analytics with Java on Large Multicore HPC...
Spidal Java: High Performance Data Analytics with Java on Large Multicore HPC...Spidal Java: High Performance Data Analytics with Java on Large Multicore HPC...
Spidal Java: High Performance Data Analytics with Java on Large Multicore HPC...
 
On the need for applications aware adaptive middleware in real-time RDF data ...
On the need for applications aware adaptive middleware in real-time RDF data ...On the need for applications aware adaptive middleware in real-time RDF data ...
On the need for applications aware adaptive middleware in real-time RDF data ...
 
Stream Data Processing at Big Data Landscape by Oleksandr Fedirko
Stream Data Processing at Big Data Landscape by Oleksandr Fedirko Stream Data Processing at Big Data Landscape by Oleksandr Fedirko
Stream Data Processing at Big Data Landscape by Oleksandr Fedirko
 
Decision trees in hadoop
Decision trees in hadoopDecision trees in hadoop
Decision trees in hadoop
 
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
 
High-Performance and Scalable Designs of Programming Models for Exascale Systems
High-Performance and Scalable Designs of Programming Models for Exascale SystemsHigh-Performance and Scalable Designs of Programming Models for Exascale Systems
High-Performance and Scalable Designs of Programming Models for Exascale Systems
 
An experience on empirical research about rdf stream
An experience on empirical research about rdf streamAn experience on empirical research about rdf stream
An experience on empirical research about rdf stream
 
OpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsOpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC Systems
 
A Library for Emerging High-Performance Computing Clusters
A Library for Emerging High-Performance Computing ClustersA Library for Emerging High-Performance Computing Clusters
A Library for Emerging High-Performance Computing Clusters
 
Towards efficient processing of RDF data streams
Towards efficient processing of RDF data streamsTowards efficient processing of RDF data streams
Towards efficient processing of RDF data streams
 
Towards efficient processing of RDF data streams
Towards efficient processing of RDF data streamsTowards efficient processing of RDF data streams
Towards efficient processing of RDF data streams
 
Data Integration Solutions Created By Koneksys
Data Integration Solutions Created By KoneksysData Integration Solutions Created By Koneksys
Data Integration Solutions Created By Koneksys
 
High Performance Predictive Analytics in R and Hadoop
High Performance Predictive Analytics in R and HadoopHigh Performance Predictive Analytics in R and Hadoop
High Performance Predictive Analytics in R and Hadoop
 

More from Riccardo Tommasini

Towards a Benchmark for Expressive Stream Reasoning
Towards a Benchmark for Expressive Stream ReasoningTowards a Benchmark for Expressive Stream Reasoning
Towards a Benchmark for Expressive Stream Reasoning
Riccardo Tommasini
 
SLD Revolution: A Cheaper, Faster yet more Accurate Streaming Linked Data Fra...
SLD Revolution: A Cheaper, Faster yet more Accurate Streaming Linked Data Fra...SLD Revolution: A Cheaper, Faster yet more Accurate Streaming Linked Data Fra...
SLD Revolution: A Cheaper, Faster yet more Accurate Streaming Linked Data Fra...
Riccardo Tommasini
 
A Hierarchical approach towards Efficient and Expressive Stream Reasoning
A Hierarchical approach towards Efficient and Expressive Stream ReasoningA Hierarchical approach towards Efficient and Expressive Stream Reasoning
A Hierarchical approach towards Efficient and Expressive Stream Reasoning
Riccardo Tommasini
 
Heaven: A Framework for Systematic Comparative Research Approach for RSP Engines
Heaven: A Framework for Systematic Comparative Research Approach for RSP EnginesHeaven: A Framework for Systematic Comparative Research Approach for RSP Engines
Heaven: A Framework for Systematic Comparative Research Approach for RSP Engines
Riccardo Tommasini
 
Streaming Day - an overview of Stream Reasoning
Streaming Day - an overview of Stream ReasoningStreaming Day - an overview of Stream Reasoning
Streaming Day - an overview of Stream Reasoning
Riccardo Tommasini
 
Heaven: Supporting Systematic Comparative Research of RDF Stream Processing E...
Heaven: Supporting Systematic Comparative Research of RDF Stream Processing E...Heaven: Supporting Systematic Comparative Research of RDF Stream Processing E...
Heaven: Supporting Systematic Comparative Research of RDF Stream Processing E...
Riccardo Tommasini
 

More from Riccardo Tommasini (6)

Towards a Benchmark for Expressive Stream Reasoning
Towards a Benchmark for Expressive Stream ReasoningTowards a Benchmark for Expressive Stream Reasoning
Towards a Benchmark for Expressive Stream Reasoning
 
SLD Revolution: A Cheaper, Faster yet more Accurate Streaming Linked Data Fra...
SLD Revolution: A Cheaper, Faster yet more Accurate Streaming Linked Data Fra...SLD Revolution: A Cheaper, Faster yet more Accurate Streaming Linked Data Fra...
SLD Revolution: A Cheaper, Faster yet more Accurate Streaming Linked Data Fra...
 
A Hierarchical approach towards Efficient and Expressive Stream Reasoning
A Hierarchical approach towards Efficient and Expressive Stream ReasoningA Hierarchical approach towards Efficient and Expressive Stream Reasoning
A Hierarchical approach towards Efficient and Expressive Stream Reasoning
 
Heaven: A Framework for Systematic Comparative Research Approach for RSP Engines
Heaven: A Framework for Systematic Comparative Research Approach for RSP EnginesHeaven: A Framework for Systematic Comparative Research Approach for RSP Engines
Heaven: A Framework for Systematic Comparative Research Approach for RSP Engines
 
Streaming Day - an overview of Stream Reasoning
Streaming Day - an overview of Stream ReasoningStreaming Day - an overview of Stream Reasoning
Streaming Day - an overview of Stream Reasoning
 
Heaven: Supporting Systematic Comparative Research of RDF Stream Processing E...
Heaven: Supporting Systematic Comparative Research of RDF Stream Processing E...Heaven: Supporting Systematic Comparative Research of RDF Stream Processing E...
Heaven: Supporting Systematic Comparative Research of RDF Stream Processing E...
 

Recently uploaded

哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
axoqas
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
TravisMalana
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
u86oixdj
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
slg6lamcq
 
Data_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptx
Data_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptxData_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptx
Data_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptx
AnirbanRoy608946
 
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
ahzuo
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
v3tuleee
 
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdf
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdfEnhanced Enterprise Intelligence with your personal AI Data Copilot.pdf
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdf
GetInData
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
Timothy Spann
 
Unleashing the Power of Data_ Choosing a Trusted Analytics Platform.pdf
Unleashing the Power of Data_ Choosing a Trusted Analytics Platform.pdfUnleashing the Power of Data_ Choosing a Trusted Analytics Platform.pdf
Unleashing the Power of Data_ Choosing a Trusted Analytics Platform.pdf
Enterprise Wired
 
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
John Andrews
 
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
slg6lamcq
 
The Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series DatabaseThe Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series Database
javier ramirez
 
一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理
一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理
一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理
mzpolocfi
 
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
haila53
 
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
ahzuo
 
原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样
原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样
原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样
u86oixdj
 
Learn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queriesLearn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queries
manishkhaire30
 
The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...
jerlynmaetalle
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
mbawufebxi
 

Recently uploaded (20)

哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
 
Data_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptx
Data_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptxData_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptx
Data_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptx
 
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
 
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdf
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdfEnhanced Enterprise Intelligence with your personal AI Data Copilot.pdf
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdf
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
 
Unleashing the Power of Data_ Choosing a Trusted Analytics Platform.pdf
Unleashing the Power of Data_ Choosing a Trusted Analytics Platform.pdfUnleashing the Power of Data_ Choosing a Trusted Analytics Platform.pdf
Unleashing the Power of Data_ Choosing a Trusted Analytics Platform.pdf
 
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
 
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
 
The Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series DatabaseThe Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series Database
 
一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理
一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理
一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理
 
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
 
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
 
原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样
原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样
原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样
 
Learn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queriesLearn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queries
 
The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
 

RSP4J: An API for RDF Stream Processing

  • 1. 09/06/2021 RSP4J: An API for RDF Stream Processing 18th Extended Semantic Web Conference, Riccardo Tommasini (UT🇪🇪) 1
  • 2. Joint Work 2 Pieter Bonte IMEC/UGENT🇧🇪 Femke Ongenae IMEC/UGENT🇧🇪 Emanuele Della Valle POLIMI🇮🇹
  • 3. Community Work Acknowledgement to users/contributors 3
  • 4. Agenda • What is Stream Reasoning • RDF Stream Processing • Problem Statement • RSP4J (Finally) • Final Remarks There will be memes! 4
  • 5. 5
  • 6. Is it possible to make sense in real time of multiple, heterogeneous, gigantic and inevitably noisy and incomplete data streams in order to support the decision processes of extremely large numbers of concurrent users? E. Della Valle, S. Ceri, F. van Harmelen & H. Stuckenschmidt, 2010 Research question STREAM REASONING Emanuele Della Valle - http://emanueledellavalle.org - @manudellavalle 6
  • 8. Semantic Technologies Vice-Versa is also valid Oh Yes! Almost Done!! Almost!! Oh Man! Stream Processing 8 Semantic Technologies Semantic Technologies Semantic Technologies
  • 9. time What is a Stream? 9 • Streams: unbounded partially ordered sequence of data in form of object-timestamp pairs <o,t>, e.g., • o is a coloured box • t is a natural number
  • 10. Sort out all the colours in the streams What is Stream Processing? stateless order ….. ….. ….. ….. ….. ….. 10
  • 11. ( , 15) time 1 minute wide window How many boxes, grouped by color, there are in the last minute? What is Stream Processing? stateful 11
  • 12. Semantic Technologies Vice-Versa is also valid Oh Yes! Almost Done!! Almost!! Stream Processing 12 Semantic Technologies Semantic Technologies We are Here Semantic Technologies
  • 13. The CQL continuous query language Basics Arasu, Arvind, Shivnath Babu, and Jennifer Widom. "The CQL continuous query language: semantic foundations and query execution." The VLDB Journal 15.2 (2006): 121-142. Streams Relations … <s,τ> … <s1> <s2> <s3> infinite unbounded sequence finite bag Mapping: T ! R stream-to-relation relation-to-stream relation-to-relation Stream Relation R(t) Relational Algebra (Almost) *Stream operators time-based windows
  • 14. W4 W2 CQL Viz Window Tumbling R2R operator S ω t width … t0 W0 W1 W3 Wn+1 Wn … … COUNT 2 1 S2R operator (ω) 𝕎 W3 14 NOW() R2S operator RSTREAM W2 W4
  • 15. Continuous●Semantic s /kənˈtɪnjuːəs●sɪˈmæntɪks / 1.The result of a query is the set of results that would be returned if the query were executed at every instant in time. 15
  • 17. time 1 minute wide window How many colours in the last minute? From Stream Processing… 17 ( , 13),( , 8) , ( , 8)
  • 18. time How many colours in the last minute? …to Stream Processing 18 ( , 13),( , 8) , ( , 8) 1 minute wide window
  • 19. Stream Reasoning Better Questions How many cool colours in the last minute? time ( , 13),( , 8) , ( , 8) 1 minute wide window
  • 20. Which are the top-2 most frequent sentiments 
 in the last minute? love and wisdom Stream Reasoning Even Better Questions 1 minute wide window time
  • 23. ff erences • Syntaxes are not interoperable • Have di ff erent operational semantics • Not all of them integrate static knowledge • RDF Streams ok, but graphs or triples? RSP Dialects & Engines 23
  • 24. Similarities • Extend SPARQL with windows • Evaluates queries under continuous semantics • Optimise the execution for low- latency high-throughput (stream processing requirements) RSP Dialects & Engines 24
  • 25. Dell’Aglio et al. • Reference model that uniforms existing solutions • has formal semantics (denotational) • can explain operational semantics • Solutions published after 
 (e.g., YASPER 1.0, TPF-QS, Strider) align to it RSP-QL Continuous Querying:
 SPARQL Identifiers: URI Cryptography Trust Ontologies: OWL Proof Unifying Logic Rules: RIF/SWIRL Taxonomies: RDFS Data Interchange: RDF Character Set: UNICODE Syntax: XML, TTL, NT, JSON-LD User Interfaces and Applications 25
  • 26. Dell’Aglio et al. • Reference model that uniforms existing solutions • has formal semantics (denotational) • can explain operational semantics • Solutions published after 
 (e.g., YASPER 1.0, TPF-QS, Strider) align to it RSP-QL Continuous Querying:
 RSP-QL Identifiers: URI Cryptography Trust Ontologies: OWL Proof Unifying Logic Rules: RIF/SWIRL Taxonomies: RDFS Continuous Interchange: RDF Stream Character Set: UNICODE Syntax: XML, TTL, NT, JSON-LD User Interfaces and Applications ? ? ? ? 26 Continuous Querying:
 SPARQL Data Interchange: RDF
  • 28. The Stream Reasoning community needs systems and tools that can encourage re-use and foster the adoption of existing solutions for RDF Stream Processing. Tommasini, and Della Valle. "Challenges & Opportunities of RSP-QL Implementations." WSP/WOMoCoE@ ISWC. 2017. Problem Statement RSP4J 28
  • 29. Currently, the following tasks are hard to do.. Uncomfortable Truths You need to implement your RSP engine from scratch 29 • Introducing new window operators
 
 • Experiment optimisation techniques
 
 • Comparing di ff erent engines Does he bite? No, but he can hurt you in other ways!
  • 31. Requirements 1. Extensible Architecture. 2. Declarative Access 3. Programming Abstractions 4. Experimentation 5. Observability C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 R1 ✓ ✓ ✓ ✓ ✓ R2 ✓ ✓ ✓ R3 ✓ ✓ ✓ R4 ✓ ✓ ✓ R5 ✓ ✓ ✓ ✓ ✓ R R R R R And their relation to the challenges 31
  • 32. RSP4J 30.000ft View: Architecture Extensible parser based on the RSP-QL Syntax Proposal (R1, R2) Abstract representing the evaluation under continuous semantics (R3,R5) Abstract Representation of A Streaming Dataset for backwards compatibility with SPARQL (R3) Con fi gurable engine capable of reproducing existing behaviours (R4,R5) Versatile Object for representing streams (non strictly RDF based) (R1) Operator Interface based on RSP-QL/CQL (R1, R3) (e) 32
  • 33. RSP4J 10.000ft View: Querying Extensible parser based on the RSP-QL Syntax Proposal Rei fi ed Object representing the running query 33
  • 34. 10.000ft View: Streams • Two main interfaces: • Web Stream (vid. Vocals) • Data Stream (generic) • Simple Approach for production and consumption • We recently added the IO package with lots of sources RSP4J 34
  • 35. 10.000ft View: Streams • Two main interfaces: • Web Stream (vid. Vocals) • Data Stream (generic) • Simple Approach for production and consumption • We recently added the IO package with lots of sources RSP4J 35
  • 36. 10.000ft View: Operators • Generalise CQL Style of operators families • Includes already canonical examples of S2R • CQELS’s Window Operator • CSPARQL’s Window Operator • Includes generic implementation of R2S • RStream, IStream, DStream RSP4J 36
  • 37. 10.000ft View: Engine • Allows controlling the engine, e.g., query registration and cancellation. • RSP4J can reproduce the execution semantics of common RSP engines • Already include some bindings, YASPER, CSPARQL 2.0, ONSPER* RSP4J RSP4J: Engine YASPER CSPARQL 2.0 Esper + Jena RDF Commons + JGraphT ONSPER Esper + Calcite + Ontop binds Runtime Interface 37
  • 38. Enables the following research directions Does the window operator X outperform window operator Y for both C-SPARQL and CQELS execution semantics? RSP4J IMPLEMENT MY RSP SOLUTION FROM SCRATCH RSP4J 38
  • 39. Enables the following research directions Does this alternative memory representation optimise CityBench’ RSP-QL queries using the Strider Engine? RSP4J IMPLEMENT MY RSP SOLUTION FROM SCRATCH RSP4J 39
  • 40. Enables the following research directions Can I apply a bunch of RSP engines to my use-case and observe which performs better? RSP4J IMPLEMENT MY RSP SOLUTION FROM SCRATCH RSP4J 40
  • 41. • June 28-July 2, 2021, Virtual Event, Italy • http://streamreasoning.org/ events/web-stream-processing- with-rsp4j • We will prototype an engine! • Big Updates: Publishing & 
 New Abstract API! DEBS 21 Tutorial (Free) Learning N di ff erent RSP Dialects N > 4 Learning RSP4J 41
  • 42. Conclusion Roadmap RSP4J is a community effort that we hope will foster further practical research on RSP/SR We plan to organise events and hackathons to foster its adoption We plan to integrate it with RSPLab and existing benchmarks like CityBench We plan to integrate more engines, provide more operators, and (hopefully) optimisations To foster data science, we plan to make it available via Jupyter Notebook with python Bindings (RSPLib) … Benchmarks Integration RSP4J RELEASE CQELS bindings 42 Python Bindings DEBS 2021 TUTORIAL RSP4J Repo Stream Reasoning Workshop 2021 Publication and Abstraction API Questions?