SlideShare a Scribd company logo
A Query Model to Capture Event Pattern
Matching in RDF Stream Processing Languages
Daniele Dell’Aglio, Minh Dao-Tran, Jean-Paul Calbimonte,
Danh Le Phuoc and Emanuele Della Valle
dellaglio@ifi.uzh.ch http://dellaglio.org @dandellaglio
Bologna, Italy, 21.11.2016
RDF Stream Processing
Stream
Processing
RDF
&
SPARQL
RDF
Stream
Processing
(RSP)
Real-time
processing of
highly dynamic
data
SemanticWeb
technologies for
data exchange
through theWeb
2/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
Stream Processing and RSP
 In literature there are two different main approaches to
process streams
 Data Stream Management Systems (DSMSs)
 Aggregations and filters
 Relies on the notion of sliding window
 DSMS-inspired RSPs: C-SPARQL, CQELS, SPARQLstream
 Complex Event Processors (CEPs)
 Search of relevant patterns in the stream
 Non-equi-join on timestamps (after, before, etc.)
 CEP-inspired RSP: EP-SPARQL
 C-SPARQL offers some CEP features through a timestamp function
3/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
The problem
Execution 7 8 9
EP-SPARQL
(unrestricted)
:a, :c [1,5]
:b, :d [3,5]
:b, :d [3,7]
:a, :c [1,9]
EP-SPARQL
(chronological)
:a, :c [1,5]
:b, :d [3,5]
EP-SPARQL
(recent)
:b, :d [3,5]
:b, :d [3,7]
C-SPARQL
(sl. win. 7,1)
:b, :d [3,7]
Who is listening to who?
{?att :isIn ?room}
SEQ
{?spe :talksIn ?room}
G1 G2 G3 G4
t
{:a :isIn :rRoom}
{:b :isIn :bRoom}
{:c :talksIn :rRoom,
:d :talksIn :bRoom}
{:d :talksIn :bRoom}
G6
{:e :isIn :bRoom}
S G5
{:c :talksIn :rRoom}
3 5 91 7 8
4/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
Motivation
 In the context of evaluation of the CEP operators over
RDF streams, how can the behaviour of existing systems
be captured, compared and contrasted?
 Why do we need it?
• Comparison and contrast
• Interoperability
• Study RDF Stream Processing related problems
• Standard RSP query language
 RSEP-QL as a reference model for RSP query languages
5/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
Data model: RDF streams and windows
 An RDF stream is an (infinite) ordered sequence of time-
annotated data items (RDF graphs)
t
𝕎(3,1,0)
𝕃(1)
𝑊(2,5]
G1 G2 G3 G4
t
{:a :isIn :rRoom}
{:b :isIn :bRoom}
{:c :talksIn :rRoom,
:d :talksIn :bRoom}
{:d :talksIn :bRoom}
G6
{:e :isIn :bRoom}
S G5
{:c :talksIn :rRoom}
3 5 91 7 8
Window
Landmark window
Sliding window
6/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
Operators
 Event Processing operators
• EVENT w P (Basic Event Pattern)
• E1 SEQ E2
• FIRST E1
• LAST E1
• MATCH to describe an event pattern
 Stream Processing operators
 SPARQL operators
7/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
Evaluation Semantics
 The SPARQL evaluation function is defined as
⟦𝑃⟧ 𝐷𝑆(𝐺)
 The RSEP-QL evaluation function is ⟪⋅⟫ 𝑜,𝑐
𝑡
• t is the evaluation time instant
• 𝑜, 𝑐 is an additional window to identify the portion of
the data on which the event may happen
 Event pattern evaluation produces event mappings
𝜇, 𝑡1, 𝑡2
• 𝜇 is a solution mapping
• 𝑡1 and 𝑡2 denote the time inverval justifying 𝜇
8/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
Basic Event Pattern: EVENT w P
 Look for mappings in graphs selected by the windows
 Example: ⟪EVENT 𝕃(0) {?spe :talksIn ?room}⟫ 0,7
7
𝑊 0,7 , 𝕃(0)
G ?spe ?room 𝒕 𝟏, 𝒕 𝟐
𝐺3 :c :rRoom 5,5
𝐺3 :d :bRoom 5,5
𝐺4 :d :bRoom 7,7
G1 G2 G3 G4
t
{:a :isIn :rRoom}
{:b :isIn :bRoom}
{:c :talksIn :rRoom,
:d :talksIn :bRoom}
{:d :talksIn :bRoom}
G6
{:e :isIn :bRoom}
S G5
{:c :talksIn :rRoom}
3 5 91 7 8
9/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
Basic Event Pattern: EVENT w P
 Example: ⟪EVENT 𝕃(5) {?spe :talksIn ?room}⟫ 0,7
7
𝑊 0,7
G ?spe ?room 𝒕 𝟏, 𝒕 𝟐
𝐺4 :d :bRoom 7,7
𝕃(5)
𝑊 0,7 𝕃(5)
G1 G2 G3 G4
t
{:a :isIn :rRoom}
{:b :isIn :bRoom}
{:c :talksIn :rRoom,
:d :talksIn :bRoom}
{:d :talksIn :bRoom}
G6
{:e :isIn :bRoom}
S G5
{:c :talksIn :rRoom}
3 5 91 7 8
10/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
E1 SEQ E2
 Event mappings that matches 𝐸2 should be joined with
event mappings from 𝐸1 that are:
 Compatible – the solution mappings in the event mappings
should be compatible
 Before – the interval that justifies the first solution mapping
should finish before the interval that justifies the second one
opens
11/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
Example
⟪EVENT 𝕃(0) {?att :isIn ?room} SEQ EVENT 𝕃(0) {?spe :talksIn ?room} ⟫(0,8]
8
𝑊 0,8 , 𝕃(0)
G1 G2 G3 G4
t
{:a :isIn :rRoom}
{:b :isIn :bRoom}
{:c :talksIn :rRoom,
:d :talksIn :bRoom}
{:d :talksIn :bRoom}
G6
{:e :isIn :bRoom}
?spe ?room 𝒕 𝟏, 𝒕 𝟐
:c :rRoom 5,5
:d :bRoom 5,5
:d :bRoom 7,7
?att ?room 𝒕 𝟏, 𝒕 𝟐
:a :rRoom 1,1
:b :bRoom 3,3
:e :bRoom 8,8
?att ?spe ?room 𝒕 𝟏, 𝒕 𝟐
S G5
{:c :talksIn :rRoom}
3 5 91 7 8
12/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
Example
⟪EVENT 𝕃(0) {?att :isIn ?room} SEQ EVENT 𝕃(0) {?spe :talksIn ?room} ⟫(0,8]
8
?spe ?room 𝒕 𝟏, 𝒕 𝟐
:c :rRoom 5,5
:d :bRoom 5,5
:d :bRoom 7,7
?att ?room 𝒕 𝟏, 𝒕 𝟐
:a :rRoom 1,1
:b :bRoom 3,3
:e :bRoom 8,8
?att ?spe ?room 𝒕 𝟏, 𝒕 𝟐
𝑊 0,8 , 𝕃(0)
G1 G2 G3 G4
t3 5 91
{:a :isIn :rRoom}
{:b :isIn :bRoom}
{:c :talksIn :rRoom,
:d :talksIn :bRoom}
{:d :talksIn :bRoom}
G6
{:e :isIn :bRoom}
7
S G5
{:c :talksIn :rRoom}
8
12/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
Example
⟪EVENT 𝕃(0) {?att :isIn ?room} SEQ EVENT 𝕃(0) {?spe :talksIn ?room} ⟫(0,8]
8
?spe ?room 𝒕 𝟏, 𝒕 𝟐
:c :rRoom 5,5
:d :bRoom 5,5
:d :bRoom 7,7
?att ?room 𝒕 𝟏, 𝒕 𝟐
:a :rRoom 1,1
:b :bRoom 3,3
:e :bRoom 8,8
?att ?spe ?room 𝒕 𝟏, 𝒕 𝟐
𝑊 0,8 , 𝕃(0)
G1 G2 G3 G4
t3 5 91
{:a :isIn :rRoom}
{:b :isIn :bRoom}
{:c :talksIn :rRoom,
:d :talksIn :bRoom}
{:d :talksIn :bRoom}
G6
{:e :isIn :bRoom}
7
S G5
{:c :talksIn :rRoom}
8
not compatible
12/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
Example
⟪EVENT 𝕃(0) {?att :isIn ?room} SEQ EVENT 𝕃(0) {?spe :talksIn ?room} ⟫(0,8]
8
?spe ?room 𝒕 𝟏, 𝒕 𝟐
:c :rRoom 5,5
:d :bRoom 5,5
:d :bRoom 7,7
?att ?room 𝒕 𝟏, 𝒕 𝟐
:a :rRoom 1,1
:b :bRoom 3,3
:e :bRoom 8,8
?att ?spe ?room 𝒕 𝟏, 𝒕 𝟐
𝑊 0,8 , 𝕃(0)
G1 G2 G3 G4
t3 5 91
{:a :isIn :rRoom}
{:b :isIn :bRoom}
{:c :talksIn :rRoom,
:d :talksIn :bRoom}
{:d :talksIn :bRoom}
G6
{:e :isIn :bRoom}
7
S G5
{:c :talksIn :rRoom}
8
not compatible
not before
12/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
Example
⟪EVENT 𝕃(0) {?att :isIn ?room} SEQ EVENT 𝕃(0) {?spe :talksIn ?room} ⟫(0,8]
8
?spe ?room 𝒕 𝟏, 𝒕 𝟐
:c :rRoom 5,5
:d :bRoom 5,5
:d :bRoom 7,7
?att ?room 𝒕 𝟏, 𝒕 𝟐
:a :rRoom 1,1
:b :bRoom 3,3
:e :bRoom 8,8
?att ?spe ?room 𝒕 𝟏, 𝒕 𝟐
:b :d :bRoom 3,5
𝑊 0,8 , 𝕃(0)
G1 G2 G3 G4
t3 5 91
{:a :isIn :rRoom}
{:b :isIn :bRoom}
{:c :talksIn :rRoom,
:d :talksIn :bRoom}
{:d :talksIn :bRoom}
G6
{:e :isIn :bRoom}
7
S G5
{:c :talksIn :rRoom}
8
not compatible
not before
12/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
Example
⟪EVENT 𝕃(0) {?att :isIn ?room} SEQ EVENT 𝕃(0) {?spe :talksIn ?room} ⟫(0,8]
8
?spe ?room 𝒕 𝟏, 𝒕 𝟐
:c :rRoom 5,5
:d :bRoom 5,5
:d :bRoom 7,7
?att ?room 𝒕 𝟏, 𝒕 𝟐
:a :rRoom 1,1
:b :bRoom 3,3
:e :bRoom 8,8
?att ?spe ?room 𝒕 𝟏, 𝒕 𝟐
:b :d :bRoom 3,5
:a :c :rRoom 1,5
:b :d :bRoom 3,7
𝑊 0,8 , 𝕃(0)
G1 G2 G3 G4
t3 5 91
{:a :isIn :rRoom}
{:b :isIn :bRoom}
{:c :talksIn :rRoom,
:d :talksIn :bRoom}
{:d :talksIn :bRoom}
G6
{:e :isIn :bRoom}
7
S G5
{:c :talksIn :rRoom}
8
12/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
SEQc, SEQr and SEQn
 We need futher SEQ operators to model the behaviour
of the engines
 They basically works as SEQ, with some additional constraint
 To model the engines we analysed, we defined:
 SEQ
 SEQc
 SEQr
 SEQn
13/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
E1 SEQc E2
 If there are two output event mappings with the same solution mapping,
SEQc considers the least recent one
⟪EVENT 𝕃(0) {?att :isIn ?room} SEQc EVENT 𝕃(0) {?spe :talksIn ?room}⟫(0,8]
8
?spe ?room 𝒕 𝟏, 𝒕 𝟐
:c :rRoom 5,5
:d :bRoom 5,5
:d :bRoom 7,7
?att ?room 𝒕 𝟏, 𝒕 𝟐
:a :rRoom 1,1
:b :bRoom 3,3
:e :bRoom 8,8
?att ?spe ?room 𝒕 𝟏, 𝒕 𝟐
:a :c :rRoom 1,5
:b :d :bRoom 3,5
:b :d :bRoom 3,7
G1 G2 G3 G4
t3 5 91
{:a :isIn :rRoom}
{:b :isIn :bRoom}
{:c :talksIn :rRoom,
:d :talksIn :bRoom}
{:d :talksIn :bRoom}
G6
{:e :isIn :bRoom}
7
S G5
{:c :talksIn :rRoom}
8
14/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
E1 SEQr E2
 If there are two output event mappings with the same solution mapping,
SEQr considers the most recent one
⟪EVENT 𝕃(0) {?att :isIn ?room} SEQr EVENT 𝕃(0) {?spe :talksIn ?room}⟫(0,8]
8
?spe ?room 𝒕 𝟏, 𝒕 𝟐
:c :rRoom 5,5
:d :bRoom 5,5
:d :bRoom 7,7
?att ?room 𝒕 𝟏, 𝒕 𝟐
:a :rRoom 1,1
:b :bRoom 3,3
:e :bRoom 8,8
?att ?spe ?room 𝒕 𝟏, 𝒕 𝟐
:a :c :rRoom 1,5
:b :d :bRoom 3,5
:b :d :bRoom 3,7
G1 G2 G3 G4
t3 5 91
{:a :isIn :rRoom}
{:b :isIn :bRoom}
{:c :talksIn :rRoom,
:d :talksIn :bRoom}
{:d :talksIn :bRoom}
G6
{:e :isIn :bRoom}
7
S G5
{:c :talksIn :rRoom}
8
15/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
E1 SEQn E2
 If there are two input event mappings with the same solution mapping,
SEQn considers the most recent one
⟪EVENT 𝕃(0) {?att :isIn ?room} SEQn EVENT 𝕃(0) {?spe :talksIn ?room}⟫(0,8]
8
?spe ?room 𝒕 𝟏, 𝒕 𝟐
:c :rRoom 5,5
:d :bRoom 5,5
:d :bRoom 7,7
?att ?room 𝒕 𝟏, 𝒕 𝟐
:a :rRoom 1,1
:b :bRoom 3,3
:e :bRoom 8,8
?att ?spe ?room 𝒕 𝟏, 𝒕 𝟐
:a :c :rRoom 1,5
:b :d :bRoom 3,7
G1 G2 G3 G4
t3 5 91
{:a :isIn :rRoom}
{:b :isIn :bRoom}
{:c :talksIn :rRoom,
:d :talksIn :bRoom}
{:d :talksIn :bRoom}
G6
{:e :isIn :bRoom}
7
S G5
{:c :talksIn :rRoom}
8
16/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
Consumption policies
 The evaluations in a sequence are not always independent
 Some data may be involved in the current evaluation only if it
was not before
 We need a mechanism to move this information between
evaluations
 Consumption policies are functions to describe the input for
the next evaluation
 Two policies for our needs
 𝒫 𝑢
: the input is the one selected by the window
 𝒫 𝑛
: the input is the one selected by the window and that
was not used to produce results in the previous
evaluations
17/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
Captured behaviours
System Window
operator
Sequencing
operator
Consumption
policy
EP-SPARQL
(unrestricted)
Landmark SEQ 𝒫 𝑢
EP-SPARQL
(chronological)
Landmark SEQc 𝒫 𝑛
EP-SPARQL
(recent)
Landmark SEQr 𝒫 𝑛
C-SPARQL Sliding SEQn 𝒫 𝑢
18/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
Conclusions
 The dynamics introduced in the continuous query
evlauation process have not been totally understood
 Not fully captured by existing models
 RSEP-QL captures those dynamics, and the behaviours of
existing RDF Stream Processing engines
 CEP-based (today’s talk)
 DSMS-based (RSP-QL)
 What’s next
 Extension of futher operators (NOT, DURING)
 Further investigation about the relation of RSEP-QL with other
models (SPARQL, LARS)
19/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
Thank you! Questions?
A Query Model to Capture Event Pattern
Matching in RDF Stream Processing Languages
Daniele Dell’Aglio, Minh Dao-Tran, Jean-Paul Calbimonte,
Danh Le Phuoc and Emanuele DellaValle
dellaglio@ifi.uzh.ch
http://dellaglio.org
@dandellaglio
20/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages

More Related Content

Similar to RSEP-QL: A Query Model to Capture Event Pattern Matching in RDF Stream Processing Languages

On unifying query languages for RDF streams
On unifying query languages for RDF streamsOn unifying query languages for RDF streams
On unifying query languages for RDF streams
Daniele Dell'Aglio
 
Proc r
Proc rProc r
Proc r
Ajay Ohri
 
Triplewave: a step towards RDF Stream Processing on the Web
Triplewave: a step towards RDF Stream Processing on the WebTriplewave: a step towards RDF Stream Processing on the Web
Triplewave: a step towards RDF Stream Processing on the Web
Daniele Dell'Aglio
 
Open source analytics
Open source analyticsOpen source analytics
Open source analytics
Ajay Ohri
 
The Semantics of SPARQL
The Semantics of SPARQLThe Semantics of SPARQL
The Semantics of SPARQL
Olaf Hartig
 
R as supporting tool for analytics and simulation
R as supporting tool for analytics and simulationR as supporting tool for analytics and simulation
R as supporting tool for analytics and simulation
Alvaro Gil
 
SherLog: Error Diagnosis Through Connecting Clues from Run-time Logs
SherLog:  Error Diagnosis Through Connecting Clues from Run-time Logs SherLog:  Error Diagnosis Through Connecting Clues from Run-time Logs
SherLog: Error Diagnosis Through Connecting Clues from Run-time Logs
Lisong Guo
 
An Introduction To Map-Reduce
An Introduction To Map-ReduceAn Introduction To Map-Reduce
An Introduction To Map-Reduce
Francisco Pérez-Sorrosal
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG
 
3. cs8451 daa anna univ question bank unit 3
3. cs8451 daa anna univ question bank unit 33. cs8451 daa anna univ question bank unit 3
Introduction to R
Introduction to RIntroduction to R
Introduction to R
Samuel Bosch
 
RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)
Daniel Nüst
 
TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...
TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...
TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...
Debraj GuhaThakurta
 
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
Debraj GuhaThakurta
 
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
Revolution Analytics
 
SparkR: Enabling Interactive Data Science at Scale
SparkR: Enabling Interactive Data Science at ScaleSparkR: Enabling Interactive Data Science at Scale
SparkR: Enabling Interactive Data Science at Scale
jeykottalam
 
Graph Analytics in Spark
Graph Analytics in SparkGraph Analytics in Spark
Graph Analytics in Spark
Paco Nathan
 
GraphFrames Access Methods in DSE Graph
GraphFrames Access Methods in DSE GraphGraphFrames Access Methods in DSE Graph
GraphFrames Access Methods in DSE Graph
Jim Hatcher
 
Technical_Report_on_ML_Library
Technical_Report_on_ML_LibraryTechnical_Report_on_ML_Library
Technical_Report_on_ML_Library
Saurabh Chauhan
 
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)GraphQL - A query language to empower your API consumers (NDC Sydney 2017)
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)
Rob Crowley
 

Similar to RSEP-QL: A Query Model to Capture Event Pattern Matching in RDF Stream Processing Languages (20)

On unifying query languages for RDF streams
On unifying query languages for RDF streamsOn unifying query languages for RDF streams
On unifying query languages for RDF streams
 
Proc r
Proc rProc r
Proc r
 
Triplewave: a step towards RDF Stream Processing on the Web
Triplewave: a step towards RDF Stream Processing on the WebTriplewave: a step towards RDF Stream Processing on the Web
Triplewave: a step towards RDF Stream Processing on the Web
 
Open source analytics
Open source analyticsOpen source analytics
Open source analytics
 
The Semantics of SPARQL
The Semantics of SPARQLThe Semantics of SPARQL
The Semantics of SPARQL
 
R as supporting tool for analytics and simulation
R as supporting tool for analytics and simulationR as supporting tool for analytics and simulation
R as supporting tool for analytics and simulation
 
SherLog: Error Diagnosis Through Connecting Clues from Run-time Logs
SherLog:  Error Diagnosis Through Connecting Clues from Run-time Logs SherLog:  Error Diagnosis Through Connecting Clues from Run-time Logs
SherLog: Error Diagnosis Through Connecting Clues from Run-time Logs
 
An Introduction To Map-Reduce
An Introduction To Map-ReduceAn Introduction To Map-Reduce
An Introduction To Map-Reduce
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
3. cs8451 daa anna univ question bank unit 3
3. cs8451 daa anna univ question bank unit 33. cs8451 daa anna univ question bank unit 3
3. cs8451 daa anna univ question bank unit 3
 
Introduction to R
Introduction to RIntroduction to R
Introduction to R
 
RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)
 
TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...
TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...
TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...
 
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
 
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
 
SparkR: Enabling Interactive Data Science at Scale
SparkR: Enabling Interactive Data Science at ScaleSparkR: Enabling Interactive Data Science at Scale
SparkR: Enabling Interactive Data Science at Scale
 
Graph Analytics in Spark
Graph Analytics in SparkGraph Analytics in Spark
Graph Analytics in Spark
 
GraphFrames Access Methods in DSE Graph
GraphFrames Access Methods in DSE GraphGraphFrames Access Methods in DSE Graph
GraphFrames Access Methods in DSE Graph
 
Technical_Report_on_ML_Library
Technical_Report_on_ML_LibraryTechnical_Report_on_ML_Library
Technical_Report_on_ML_Library
 
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)GraphQL - A query language to empower your API consumers (NDC Sydney 2017)
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)
 

More from Daniele Dell'Aglio

Distributed stream consistency checking
Distributed stream consistency checkingDistributed stream consistency checking
Distributed stream consistency checking
Daniele Dell'Aglio
 
On web stream processing
On web stream processingOn web stream processing
On web stream processing
Daniele Dell'Aglio
 
On a web of data streams
On a web of data streamsOn a web of data streams
On a web of data streams
Daniele Dell'Aglio
 
Summary of the Stream Reasoning workshop at ISWC 2016
Summary of the Stream Reasoning workshop at ISWC 2016Summary of the Stream Reasoning workshop at ISWC 2016
Summary of the Stream Reasoning workshop at ISWC 2016
Daniele Dell'Aglio
 
On Unified Stream Reasoning
On Unified Stream ReasoningOn Unified Stream Reasoning
On Unified Stream Reasoning
Daniele Dell'Aglio
 
On Unified Stream Reasoning - The RDF Stream Processing realm
On Unified Stream Reasoning - The RDF Stream Processing realmOn Unified Stream Reasoning - The RDF Stream Processing realm
On Unified Stream Reasoning - The RDF Stream Processing realm
Daniele Dell'Aglio
 
Querying the Web of Data with XSPARQL 1.1
Querying the Web of Data with XSPARQL 1.1Querying the Web of Data with XSPARQL 1.1
Querying the Web of Data with XSPARQL 1.1
Daniele Dell'Aglio
 
Augmented Participation to Live Events through Social Network Content Enrichm...
Augmented Participation to Live Events through Social Network Content Enrichm...Augmented Participation to Live Events through Social Network Content Enrichm...
Augmented Participation to Live Events through Social Network Content Enrichm...
Daniele Dell'Aglio
 
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
 
RDF Stream Processing Models (RSP2014)
RDF Stream Processing Models (RSP2014)RDF Stream Processing Models (RSP2014)
RDF Stream Processing Models (RSP2014)
Daniele Dell'Aglio
 
A Survey of Temporal Extensions of Description Logics
A Survey of Temporal Extensions of Description LogicsA Survey of Temporal Extensions of Description Logics
A Survey of Temporal Extensions of Description Logics
Daniele Dell'Aglio
 
IMaRS - Incremental Materialization for RDF Streams (SR4LD2013)
IMaRS - Incremental Materialization for RDF Streams (SR4LD2013)IMaRS - Incremental Materialization for RDF Streams (SR4LD2013)
IMaRS - Incremental Materialization for RDF Streams (SR4LD2013)
Daniele Dell'Aglio
 
RDF Stream Processing Models (SR4LD2013)
RDF Stream Processing Models (SR4LD2013)RDF Stream Processing Models (SR4LD2013)
RDF Stream Processing Models (SR4LD2013)
Daniele Dell'Aglio
 
Ontology based top-k query answering over massive, heterogeneous, and dynamic...
Ontology based top-k query answering over massive, heterogeneous, and dynamic...Ontology based top-k query answering over massive, heterogeneous, and dynamic...
Ontology based top-k query answering over massive, heterogeneous, and dynamic...
Daniele Dell'Aglio
 
On correctness in RDF stream processor benchmarking
On correctness in RDF stream processor benchmarkingOn correctness in RDF stream processor benchmarking
On correctness in RDF stream processor benchmarking
Daniele Dell'Aglio
 
An Ontological Formulation and an OPM profile for Causality in Planning Appli...
An Ontological Formulation and an OPM profile for Causality in Planning Appli...An Ontological Formulation and an OPM profile for Causality in Planning Appli...
An Ontological Formulation and an OPM profile for Causality in Planning Appli...
Daniele Dell'Aglio
 
P&MSP2012 - Maven
P&MSP2012 - MavenP&MSP2012 - Maven
P&MSP2012 - Maven
Daniele Dell'Aglio
 
P&MSP2012 - Version Control Systems
P&MSP2012 - Version Control SystemsP&MSP2012 - Version Control Systems
P&MSP2012 - Version Control Systems
Daniele Dell'Aglio
 
P&MSP2012 - Unit Testing
P&MSP2012 - Unit TestingP&MSP2012 - Unit Testing
P&MSP2012 - Unit Testing
Daniele Dell'Aglio
 
P&MSP2012 - Logging Frameworks
P&MSP2012 - Logging FrameworksP&MSP2012 - Logging Frameworks
P&MSP2012 - Logging Frameworks
Daniele Dell'Aglio
 

More from Daniele Dell'Aglio (20)

Distributed stream consistency checking
Distributed stream consistency checkingDistributed stream consistency checking
Distributed stream consistency checking
 
On web stream processing
On web stream processingOn web stream processing
On web stream processing
 
On a web of data streams
On a web of data streamsOn a web of data streams
On a web of data streams
 
Summary of the Stream Reasoning workshop at ISWC 2016
Summary of the Stream Reasoning workshop at ISWC 2016Summary of the Stream Reasoning workshop at ISWC 2016
Summary of the Stream Reasoning workshop at ISWC 2016
 
On Unified Stream Reasoning
On Unified Stream ReasoningOn Unified Stream Reasoning
On Unified Stream Reasoning
 
On Unified Stream Reasoning - The RDF Stream Processing realm
On Unified Stream Reasoning - The RDF Stream Processing realmOn Unified Stream Reasoning - The RDF Stream Processing realm
On Unified Stream Reasoning - The RDF Stream Processing realm
 
Querying the Web of Data with XSPARQL 1.1
Querying the Web of Data with XSPARQL 1.1Querying the Web of Data with XSPARQL 1.1
Querying the Web of Data with XSPARQL 1.1
 
Augmented Participation to Live Events through Social Network Content Enrichm...
Augmented Participation to Live Events through Social Network Content Enrichm...Augmented Participation to Live Events through Social Network Content Enrichm...
Augmented Participation to Live Events through Social Network Content Enrichm...
 
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
 
RDF Stream Processing Models (RSP2014)
RDF Stream Processing Models (RSP2014)RDF Stream Processing Models (RSP2014)
RDF Stream Processing Models (RSP2014)
 
A Survey of Temporal Extensions of Description Logics
A Survey of Temporal Extensions of Description LogicsA Survey of Temporal Extensions of Description Logics
A Survey of Temporal Extensions of Description Logics
 
IMaRS - Incremental Materialization for RDF Streams (SR4LD2013)
IMaRS - Incremental Materialization for RDF Streams (SR4LD2013)IMaRS - Incremental Materialization for RDF Streams (SR4LD2013)
IMaRS - Incremental Materialization for RDF Streams (SR4LD2013)
 
RDF Stream Processing Models (SR4LD2013)
RDF Stream Processing Models (SR4LD2013)RDF Stream Processing Models (SR4LD2013)
RDF Stream Processing Models (SR4LD2013)
 
Ontology based top-k query answering over massive, heterogeneous, and dynamic...
Ontology based top-k query answering over massive, heterogeneous, and dynamic...Ontology based top-k query answering over massive, heterogeneous, and dynamic...
Ontology based top-k query answering over massive, heterogeneous, and dynamic...
 
On correctness in RDF stream processor benchmarking
On correctness in RDF stream processor benchmarkingOn correctness in RDF stream processor benchmarking
On correctness in RDF stream processor benchmarking
 
An Ontological Formulation and an OPM profile for Causality in Planning Appli...
An Ontological Formulation and an OPM profile for Causality in Planning Appli...An Ontological Formulation and an OPM profile for Causality in Planning Appli...
An Ontological Formulation and an OPM profile for Causality in Planning Appli...
 
P&MSP2012 - Maven
P&MSP2012 - MavenP&MSP2012 - Maven
P&MSP2012 - Maven
 
P&MSP2012 - Version Control Systems
P&MSP2012 - Version Control SystemsP&MSP2012 - Version Control Systems
P&MSP2012 - Version Control Systems
 
P&MSP2012 - Unit Testing
P&MSP2012 - Unit TestingP&MSP2012 - Unit Testing
P&MSP2012 - Unit Testing
 
P&MSP2012 - Logging Frameworks
P&MSP2012 - Logging FrameworksP&MSP2012 - Logging Frameworks
P&MSP2012 - Logging Frameworks
 

Recently uploaded

Sample Devops SRE Product Companies .pdf
Sample Devops SRE  Product Companies .pdfSample Devops SRE  Product Companies .pdf
Sample Devops SRE Product Companies .pdf
Vineet
 
一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理
一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理
一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理
hqfek
 
一比一原版(lbs毕业证书)伦敦商学院毕业证如何办理
一比一原版(lbs毕业证书)伦敦商学院毕业证如何办理一比一原版(lbs毕业证书)伦敦商学院毕业证如何办理
一比一原版(lbs毕业证书)伦敦商学院毕业证如何办理
ywqeos
 
一比一原版兰加拉学院毕业证(Langara毕业证书)学历如何办理
一比一原版兰加拉学院毕业证(Langara毕业证书)学历如何办理一比一原版兰加拉学院毕业证(Langara毕业证书)学历如何办理
一比一原版兰加拉学院毕业证(Langara毕业证书)学历如何办理
hyfjgavov
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
bmucuha
 
Orchestrating the Future: Navigating Today's Data Workflow Challenges with Ai...
Orchestrating the Future: Navigating Today's Data Workflow Challenges with Ai...Orchestrating the Future: Navigating Today's Data Workflow Challenges with Ai...
Orchestrating the Future: Navigating Today's Data Workflow Challenges with Ai...
Kaxil Naik
 
Experts live - Improving user adoption with AI
Experts live - Improving user adoption with AIExperts live - Improving user adoption with AI
Experts live - Improving user adoption with AI
jitskeb
 
Cell The Unit of Life for NEET Multiple Choice Questions.docx
Cell The Unit of Life for NEET Multiple Choice Questions.docxCell The Unit of Life for NEET Multiple Choice Questions.docx
Cell The Unit of Life for NEET Multiple Choice Questions.docx
vasanthatpuram
 
[VCOSA] Monthly Report - Cotton & Yarn Statistics March 2024
[VCOSA] Monthly Report - Cotton & Yarn Statistics March 2024[VCOSA] Monthly Report - Cotton & Yarn Statistics March 2024
[VCOSA] Monthly Report - Cotton & Yarn Statistics March 2024
Vietnam Cotton & Spinning Association
 
writing report business partner b1+ .pdf
writing report business partner b1+ .pdfwriting report business partner b1+ .pdf
writing report business partner b1+ .pdf
VyNguyen709676
 
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Aggregage
 
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...
Social Samosa
 
一比一原版(曼大毕业证书)曼尼托巴大学毕业证如何办理
一比一原版(曼大毕业证书)曼尼托巴大学毕业证如何办理一比一原版(曼大毕业证书)曼尼托巴大学毕业证如何办理
一比一原版(曼大毕业证书)曼尼托巴大学毕业证如何办理
ytypuem
 
Open Source Contributions to Postgres: The Basics POSETTE 2024
Open Source Contributions to Postgres: The Basics POSETTE 2024Open Source Contributions to Postgres: The Basics POSETTE 2024
Open Source Contributions to Postgres: The Basics POSETTE 2024
ElizabethGarrettChri
 
Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......
Sachin Paul
 
一比一原版英属哥伦比亚大学毕业证(UBC毕业证书)学历如何办理
一比一原版英属哥伦比亚大学毕业证(UBC毕业证书)学历如何办理一比一原版英属哥伦比亚大学毕业证(UBC毕业证书)学历如何办理
一比一原版英属哥伦比亚大学毕业证(UBC毕业证书)学历如何办理
z6osjkqvd
 
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
xclpvhuk
 
DSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelinesDSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelines
Timothy Spann
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
aqzctr7x
 
Build applications with generative AI on Google Cloud
Build applications with generative AI on Google CloudBuild applications with generative AI on Google Cloud
Build applications with generative AI on Google Cloud
Márton Kodok
 

Recently uploaded (20)

Sample Devops SRE Product Companies .pdf
Sample Devops SRE  Product Companies .pdfSample Devops SRE  Product Companies .pdf
Sample Devops SRE Product Companies .pdf
 
一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理
一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理
一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理
 
一比一原版(lbs毕业证书)伦敦商学院毕业证如何办理
一比一原版(lbs毕业证书)伦敦商学院毕业证如何办理一比一原版(lbs毕业证书)伦敦商学院毕业证如何办理
一比一原版(lbs毕业证书)伦敦商学院毕业证如何办理
 
一比一原版兰加拉学院毕业证(Langara毕业证书)学历如何办理
一比一原版兰加拉学院毕业证(Langara毕业证书)学历如何办理一比一原版兰加拉学院毕业证(Langara毕业证书)学历如何办理
一比一原版兰加拉学院毕业证(Langara毕业证书)学历如何办理
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
 
Orchestrating the Future: Navigating Today's Data Workflow Challenges with Ai...
Orchestrating the Future: Navigating Today's Data Workflow Challenges with Ai...Orchestrating the Future: Navigating Today's Data Workflow Challenges with Ai...
Orchestrating the Future: Navigating Today's Data Workflow Challenges with Ai...
 
Experts live - Improving user adoption with AI
Experts live - Improving user adoption with AIExperts live - Improving user adoption with AI
Experts live - Improving user adoption with AI
 
Cell The Unit of Life for NEET Multiple Choice Questions.docx
Cell The Unit of Life for NEET Multiple Choice Questions.docxCell The Unit of Life for NEET Multiple Choice Questions.docx
Cell The Unit of Life for NEET Multiple Choice Questions.docx
 
[VCOSA] Monthly Report - Cotton & Yarn Statistics March 2024
[VCOSA] Monthly Report - Cotton & Yarn Statistics March 2024[VCOSA] Monthly Report - Cotton & Yarn Statistics March 2024
[VCOSA] Monthly Report - Cotton & Yarn Statistics March 2024
 
writing report business partner b1+ .pdf
writing report business partner b1+ .pdfwriting report business partner b1+ .pdf
writing report business partner b1+ .pdf
 
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
 
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...
 
一比一原版(曼大毕业证书)曼尼托巴大学毕业证如何办理
一比一原版(曼大毕业证书)曼尼托巴大学毕业证如何办理一比一原版(曼大毕业证书)曼尼托巴大学毕业证如何办理
一比一原版(曼大毕业证书)曼尼托巴大学毕业证如何办理
 
Open Source Contributions to Postgres: The Basics POSETTE 2024
Open Source Contributions to Postgres: The Basics POSETTE 2024Open Source Contributions to Postgres: The Basics POSETTE 2024
Open Source Contributions to Postgres: The Basics POSETTE 2024
 
Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......
 
一比一原版英属哥伦比亚大学毕业证(UBC毕业证书)学历如何办理
一比一原版英属哥伦比亚大学毕业证(UBC毕业证书)学历如何办理一比一原版英属哥伦比亚大学毕业证(UBC毕业证书)学历如何办理
一比一原版英属哥伦比亚大学毕业证(UBC毕业证书)学历如何办理
 
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
 
DSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelinesDSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelines
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
 
Build applications with generative AI on Google Cloud
Build applications with generative AI on Google CloudBuild applications with generative AI on Google Cloud
Build applications with generative AI on Google Cloud
 

RSEP-QL: A Query Model to Capture Event Pattern Matching in RDF Stream Processing Languages

  • 1. A Query Model to Capture Event Pattern Matching in RDF Stream Processing Languages Daniele Dell’Aglio, Minh Dao-Tran, Jean-Paul Calbimonte, Danh Le Phuoc and Emanuele Della Valle dellaglio@ifi.uzh.ch http://dellaglio.org @dandellaglio Bologna, Italy, 21.11.2016
  • 2. RDF Stream Processing Stream Processing RDF & SPARQL RDF Stream Processing (RSP) Real-time processing of highly dynamic data SemanticWeb technologies for data exchange through theWeb 2/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 3. Stream Processing and RSP  In literature there are two different main approaches to process streams  Data Stream Management Systems (DSMSs)  Aggregations and filters  Relies on the notion of sliding window  DSMS-inspired RSPs: C-SPARQL, CQELS, SPARQLstream  Complex Event Processors (CEPs)  Search of relevant patterns in the stream  Non-equi-join on timestamps (after, before, etc.)  CEP-inspired RSP: EP-SPARQL  C-SPARQL offers some CEP features through a timestamp function 3/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 4. The problem Execution 7 8 9 EP-SPARQL (unrestricted) :a, :c [1,5] :b, :d [3,5] :b, :d [3,7] :a, :c [1,9] EP-SPARQL (chronological) :a, :c [1,5] :b, :d [3,5] EP-SPARQL (recent) :b, :d [3,5] :b, :d [3,7] C-SPARQL (sl. win. 7,1) :b, :d [3,7] Who is listening to who? {?att :isIn ?room} SEQ {?spe :talksIn ?room} G1 G2 G3 G4 t {:a :isIn :rRoom} {:b :isIn :bRoom} {:c :talksIn :rRoom, :d :talksIn :bRoom} {:d :talksIn :bRoom} G6 {:e :isIn :bRoom} S G5 {:c :talksIn :rRoom} 3 5 91 7 8 4/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 5. Motivation  In the context of evaluation of the CEP operators over RDF streams, how can the behaviour of existing systems be captured, compared and contrasted?  Why do we need it? • Comparison and contrast • Interoperability • Study RDF Stream Processing related problems • Standard RSP query language  RSEP-QL as a reference model for RSP query languages 5/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 6. Data model: RDF streams and windows  An RDF stream is an (infinite) ordered sequence of time- annotated data items (RDF graphs) t 𝕎(3,1,0) 𝕃(1) 𝑊(2,5] G1 G2 G3 G4 t {:a :isIn :rRoom} {:b :isIn :bRoom} {:c :talksIn :rRoom, :d :talksIn :bRoom} {:d :talksIn :bRoom} G6 {:e :isIn :bRoom} S G5 {:c :talksIn :rRoom} 3 5 91 7 8 Window Landmark window Sliding window 6/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 7. Operators  Event Processing operators • EVENT w P (Basic Event Pattern) • E1 SEQ E2 • FIRST E1 • LAST E1 • MATCH to describe an event pattern  Stream Processing operators  SPARQL operators 7/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 8. Evaluation Semantics  The SPARQL evaluation function is defined as ⟦𝑃⟧ 𝐷𝑆(𝐺)  The RSEP-QL evaluation function is ⟪⋅⟫ 𝑜,𝑐 𝑡 • t is the evaluation time instant • 𝑜, 𝑐 is an additional window to identify the portion of the data on which the event may happen  Event pattern evaluation produces event mappings 𝜇, 𝑡1, 𝑡2 • 𝜇 is a solution mapping • 𝑡1 and 𝑡2 denote the time inverval justifying 𝜇 8/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 9. Basic Event Pattern: EVENT w P  Look for mappings in graphs selected by the windows  Example: ⟪EVENT 𝕃(0) {?spe :talksIn ?room}⟫ 0,7 7 𝑊 0,7 , 𝕃(0) G ?spe ?room 𝒕 𝟏, 𝒕 𝟐 𝐺3 :c :rRoom 5,5 𝐺3 :d :bRoom 5,5 𝐺4 :d :bRoom 7,7 G1 G2 G3 G4 t {:a :isIn :rRoom} {:b :isIn :bRoom} {:c :talksIn :rRoom, :d :talksIn :bRoom} {:d :talksIn :bRoom} G6 {:e :isIn :bRoom} S G5 {:c :talksIn :rRoom} 3 5 91 7 8 9/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 10. Basic Event Pattern: EVENT w P  Example: ⟪EVENT 𝕃(5) {?spe :talksIn ?room}⟫ 0,7 7 𝑊 0,7 G ?spe ?room 𝒕 𝟏, 𝒕 𝟐 𝐺4 :d :bRoom 7,7 𝕃(5) 𝑊 0,7 𝕃(5) G1 G2 G3 G4 t {:a :isIn :rRoom} {:b :isIn :bRoom} {:c :talksIn :rRoom, :d :talksIn :bRoom} {:d :talksIn :bRoom} G6 {:e :isIn :bRoom} S G5 {:c :talksIn :rRoom} 3 5 91 7 8 10/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 11. E1 SEQ E2  Event mappings that matches 𝐸2 should be joined with event mappings from 𝐸1 that are:  Compatible – the solution mappings in the event mappings should be compatible  Before – the interval that justifies the first solution mapping should finish before the interval that justifies the second one opens 11/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 12. Example ⟪EVENT 𝕃(0) {?att :isIn ?room} SEQ EVENT 𝕃(0) {?spe :talksIn ?room} ⟫(0,8] 8 𝑊 0,8 , 𝕃(0) G1 G2 G3 G4 t {:a :isIn :rRoom} {:b :isIn :bRoom} {:c :talksIn :rRoom, :d :talksIn :bRoom} {:d :talksIn :bRoom} G6 {:e :isIn :bRoom} ?spe ?room 𝒕 𝟏, 𝒕 𝟐 :c :rRoom 5,5 :d :bRoom 5,5 :d :bRoom 7,7 ?att ?room 𝒕 𝟏, 𝒕 𝟐 :a :rRoom 1,1 :b :bRoom 3,3 :e :bRoom 8,8 ?att ?spe ?room 𝒕 𝟏, 𝒕 𝟐 S G5 {:c :talksIn :rRoom} 3 5 91 7 8 12/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 13. Example ⟪EVENT 𝕃(0) {?att :isIn ?room} SEQ EVENT 𝕃(0) {?spe :talksIn ?room} ⟫(0,8] 8 ?spe ?room 𝒕 𝟏, 𝒕 𝟐 :c :rRoom 5,5 :d :bRoom 5,5 :d :bRoom 7,7 ?att ?room 𝒕 𝟏, 𝒕 𝟐 :a :rRoom 1,1 :b :bRoom 3,3 :e :bRoom 8,8 ?att ?spe ?room 𝒕 𝟏, 𝒕 𝟐 𝑊 0,8 , 𝕃(0) G1 G2 G3 G4 t3 5 91 {:a :isIn :rRoom} {:b :isIn :bRoom} {:c :talksIn :rRoom, :d :talksIn :bRoom} {:d :talksIn :bRoom} G6 {:e :isIn :bRoom} 7 S G5 {:c :talksIn :rRoom} 8 12/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 14. Example ⟪EVENT 𝕃(0) {?att :isIn ?room} SEQ EVENT 𝕃(0) {?spe :talksIn ?room} ⟫(0,8] 8 ?spe ?room 𝒕 𝟏, 𝒕 𝟐 :c :rRoom 5,5 :d :bRoom 5,5 :d :bRoom 7,7 ?att ?room 𝒕 𝟏, 𝒕 𝟐 :a :rRoom 1,1 :b :bRoom 3,3 :e :bRoom 8,8 ?att ?spe ?room 𝒕 𝟏, 𝒕 𝟐 𝑊 0,8 , 𝕃(0) G1 G2 G3 G4 t3 5 91 {:a :isIn :rRoom} {:b :isIn :bRoom} {:c :talksIn :rRoom, :d :talksIn :bRoom} {:d :talksIn :bRoom} G6 {:e :isIn :bRoom} 7 S G5 {:c :talksIn :rRoom} 8 not compatible 12/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 15. Example ⟪EVENT 𝕃(0) {?att :isIn ?room} SEQ EVENT 𝕃(0) {?spe :talksIn ?room} ⟫(0,8] 8 ?spe ?room 𝒕 𝟏, 𝒕 𝟐 :c :rRoom 5,5 :d :bRoom 5,5 :d :bRoom 7,7 ?att ?room 𝒕 𝟏, 𝒕 𝟐 :a :rRoom 1,1 :b :bRoom 3,3 :e :bRoom 8,8 ?att ?spe ?room 𝒕 𝟏, 𝒕 𝟐 𝑊 0,8 , 𝕃(0) G1 G2 G3 G4 t3 5 91 {:a :isIn :rRoom} {:b :isIn :bRoom} {:c :talksIn :rRoom, :d :talksIn :bRoom} {:d :talksIn :bRoom} G6 {:e :isIn :bRoom} 7 S G5 {:c :talksIn :rRoom} 8 not compatible not before 12/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 16. Example ⟪EVENT 𝕃(0) {?att :isIn ?room} SEQ EVENT 𝕃(0) {?spe :talksIn ?room} ⟫(0,8] 8 ?spe ?room 𝒕 𝟏, 𝒕 𝟐 :c :rRoom 5,5 :d :bRoom 5,5 :d :bRoom 7,7 ?att ?room 𝒕 𝟏, 𝒕 𝟐 :a :rRoom 1,1 :b :bRoom 3,3 :e :bRoom 8,8 ?att ?spe ?room 𝒕 𝟏, 𝒕 𝟐 :b :d :bRoom 3,5 𝑊 0,8 , 𝕃(0) G1 G2 G3 G4 t3 5 91 {:a :isIn :rRoom} {:b :isIn :bRoom} {:c :talksIn :rRoom, :d :talksIn :bRoom} {:d :talksIn :bRoom} G6 {:e :isIn :bRoom} 7 S G5 {:c :talksIn :rRoom} 8 not compatible not before 12/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 17. Example ⟪EVENT 𝕃(0) {?att :isIn ?room} SEQ EVENT 𝕃(0) {?spe :talksIn ?room} ⟫(0,8] 8 ?spe ?room 𝒕 𝟏, 𝒕 𝟐 :c :rRoom 5,5 :d :bRoom 5,5 :d :bRoom 7,7 ?att ?room 𝒕 𝟏, 𝒕 𝟐 :a :rRoom 1,1 :b :bRoom 3,3 :e :bRoom 8,8 ?att ?spe ?room 𝒕 𝟏, 𝒕 𝟐 :b :d :bRoom 3,5 :a :c :rRoom 1,5 :b :d :bRoom 3,7 𝑊 0,8 , 𝕃(0) G1 G2 G3 G4 t3 5 91 {:a :isIn :rRoom} {:b :isIn :bRoom} {:c :talksIn :rRoom, :d :talksIn :bRoom} {:d :talksIn :bRoom} G6 {:e :isIn :bRoom} 7 S G5 {:c :talksIn :rRoom} 8 12/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 18. SEQc, SEQr and SEQn  We need futher SEQ operators to model the behaviour of the engines  They basically works as SEQ, with some additional constraint  To model the engines we analysed, we defined:  SEQ  SEQc  SEQr  SEQn 13/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 19. E1 SEQc E2  If there are two output event mappings with the same solution mapping, SEQc considers the least recent one ⟪EVENT 𝕃(0) {?att :isIn ?room} SEQc EVENT 𝕃(0) {?spe :talksIn ?room}⟫(0,8] 8 ?spe ?room 𝒕 𝟏, 𝒕 𝟐 :c :rRoom 5,5 :d :bRoom 5,5 :d :bRoom 7,7 ?att ?room 𝒕 𝟏, 𝒕 𝟐 :a :rRoom 1,1 :b :bRoom 3,3 :e :bRoom 8,8 ?att ?spe ?room 𝒕 𝟏, 𝒕 𝟐 :a :c :rRoom 1,5 :b :d :bRoom 3,5 :b :d :bRoom 3,7 G1 G2 G3 G4 t3 5 91 {:a :isIn :rRoom} {:b :isIn :bRoom} {:c :talksIn :rRoom, :d :talksIn :bRoom} {:d :talksIn :bRoom} G6 {:e :isIn :bRoom} 7 S G5 {:c :talksIn :rRoom} 8 14/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 20. E1 SEQr E2  If there are two output event mappings with the same solution mapping, SEQr considers the most recent one ⟪EVENT 𝕃(0) {?att :isIn ?room} SEQr EVENT 𝕃(0) {?spe :talksIn ?room}⟫(0,8] 8 ?spe ?room 𝒕 𝟏, 𝒕 𝟐 :c :rRoom 5,5 :d :bRoom 5,5 :d :bRoom 7,7 ?att ?room 𝒕 𝟏, 𝒕 𝟐 :a :rRoom 1,1 :b :bRoom 3,3 :e :bRoom 8,8 ?att ?spe ?room 𝒕 𝟏, 𝒕 𝟐 :a :c :rRoom 1,5 :b :d :bRoom 3,5 :b :d :bRoom 3,7 G1 G2 G3 G4 t3 5 91 {:a :isIn :rRoom} {:b :isIn :bRoom} {:c :talksIn :rRoom, :d :talksIn :bRoom} {:d :talksIn :bRoom} G6 {:e :isIn :bRoom} 7 S G5 {:c :talksIn :rRoom} 8 15/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 21. E1 SEQn E2  If there are two input event mappings with the same solution mapping, SEQn considers the most recent one ⟪EVENT 𝕃(0) {?att :isIn ?room} SEQn EVENT 𝕃(0) {?spe :talksIn ?room}⟫(0,8] 8 ?spe ?room 𝒕 𝟏, 𝒕 𝟐 :c :rRoom 5,5 :d :bRoom 5,5 :d :bRoom 7,7 ?att ?room 𝒕 𝟏, 𝒕 𝟐 :a :rRoom 1,1 :b :bRoom 3,3 :e :bRoom 8,8 ?att ?spe ?room 𝒕 𝟏, 𝒕 𝟐 :a :c :rRoom 1,5 :b :d :bRoom 3,7 G1 G2 G3 G4 t3 5 91 {:a :isIn :rRoom} {:b :isIn :bRoom} {:c :talksIn :rRoom, :d :talksIn :bRoom} {:d :talksIn :bRoom} G6 {:e :isIn :bRoom} 7 S G5 {:c :talksIn :rRoom} 8 16/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 22. Consumption policies  The evaluations in a sequence are not always independent  Some data may be involved in the current evaluation only if it was not before  We need a mechanism to move this information between evaluations  Consumption policies are functions to describe the input for the next evaluation  Two policies for our needs  𝒫 𝑢 : the input is the one selected by the window  𝒫 𝑛 : the input is the one selected by the window and that was not used to produce results in the previous evaluations 17/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 23. Captured behaviours System Window operator Sequencing operator Consumption policy EP-SPARQL (unrestricted) Landmark SEQ 𝒫 𝑢 EP-SPARQL (chronological) Landmark SEQc 𝒫 𝑛 EP-SPARQL (recent) Landmark SEQr 𝒫 𝑛 C-SPARQL Sliding SEQn 𝒫 𝑢 18/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 24. Conclusions  The dynamics introduced in the continuous query evlauation process have not been totally understood  Not fully captured by existing models  RSEP-QL captures those dynamics, and the behaviours of existing RDF Stream Processing engines  CEP-based (today’s talk)  DSMS-based (RSP-QL)  What’s next  Extension of futher operators (NOT, DURING)  Further investigation about the relation of RSEP-QL with other models (SPARQL, LARS) 19/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages
  • 25. Thank you! Questions? A Query Model to Capture Event Pattern Matching in RDF Stream Processing Languages Daniele Dell’Aglio, Minh Dao-Tran, Jean-Paul Calbimonte, Danh Le Phuoc and Emanuele DellaValle dellaglio@ifi.uzh.ch http://dellaglio.org @dandellaglio 20/20 EKAW, 21 November 2016A Query Model to Capture Event Patterns in RSP languages