on unified stream reasoning

110
Daniele Dell’Aglio On Unified Stream Reasoning Daniele Dell’Aglio Advisor: Prof. Emanuele Della Valle Milano, 15/07/2016. Ph.D. Viva

Upload: daniele-dellaglio

Post on 23-Feb-2017

156 views

Category:

Science


0 download

TRANSCRIPT

Page 1: On Unified Stream Reasoning

Daniele Dell’Aglio

On Unified Stream Reasoning

Daniele Dell’Aglio

Advisor: Prof. Emanuele Della Valle

Milano, 15/07/2016. Ph.D. Viva

Page 2: On Unified Stream Reasoning

Daniele Dell’Aglio

Problem setting

Real time integration of dynamic data from heterogeneous

sources

– Traffic Prediction

2/33

Page 3: On Unified Stream Reasoning

Daniele Dell’Aglio

Problem setting

Real time integration of dynamic data from heterogeneous

sources

– Traffic Prediction

– Social media analytics

2/33

Page 4: On Unified Stream Reasoning

Daniele Dell’Aglio

Problem setting

Real time integration of dynamic data from heterogeneous

sources

– Traffic Prediction

– Social media analytics

– Personalised services

2/33

Page 5: On Unified Stream Reasoning

Daniele Dell’Aglio

Information Flow Processing

In literature there are two different main approaches to

process streams

3/33

Page 6: On Unified Stream Reasoning

Daniele Dell’Aglio

Information Flow Processing

In literature there are two different main approaches to

process streams

Data Stream Management Systems (DSMSs)

• Roots in DBMS research

• Aggregations, filters and joins

3/33

Page 7: On Unified Stream Reasoning

Daniele Dell’Aglio

Information Flow Processing

In literature there are two different main approaches to

process streams

Data Stream Management Systems (DSMSs)

• Roots in DBMS research

• Aggregations, filters and joins

Complex Event Processors (CEPs)

• Roots in Distributed Systems (Publish/Subscribe)

• Search of relevant patterns in the stream

• Non-equi-join on the timestamps (after, before, etc.)

3/33

Page 8: On Unified Stream Reasoning

Daniele Dell’Aglio

Information Flow Processing

In literature there are two different main approaches to

process streams

Data Stream Management Systems (DSMSs)

• Roots in DBMS research

• Aggregations, filters and joins

Complex Event Processors (CEPs)

• Roots in Distributed Systems (Publish/Subscribe)

• Search of relevant patterns in the stream

• Non-equi-join on the timestamps (after, before, etc.)

Current systems implements feature of both of them

• EPL (e.g. Esper, ORACLE CEP)

3/33

Page 9: On Unified Stream Reasoning

Daniele Dell’Aglio

Stream Reasoning

Information Flow

Processing

Semantic Technologies

Stream Reasoning

Inference over streams of data

Real-time processing of

highly dynamic data

Integration of heterogeneous data and access through

query answering

4/33

Page 10: On Unified Stream Reasoning

Daniele Dell’Aglio

The SR research so far

Euro

pe

Map

fro

m W

ikip

edia

Key

5/33

Page 11: On Unified Stream Reasoning

Daniele Dell’Aglio

The SR research so far

Euro

pe

Map

fro

m W

ikip

edia

Key

5/33

Page 12: On Unified Stream Reasoning

Daniele Dell’Aglio

The SR research so far

IMaRS

STARQL

DynamiTE

TROWL

Euro

pe

Map

fro

m W

ikip

edia

StreamRuleStarCITY

SPARKWAVE

LARS

Key

5/33

StreamQR

Page 13: On Unified Stream Reasoning

Daniele Dell’Aglio

The problem (1)

t3 6 91

{:alice :isIn :hall}

{:bob :isIn :hall}

{:alice :isIn :kitchen}

{:bob :isIn :kitchen}

e1 e2 e3 e4S

6/33

Page 14: On Unified Stream Reasoning

Daniele Dell’Aglio

The problem (1)

Where are Alice and Bob,

when they are together?

t3 6 91

{:alice :isIn :hall}

{:bob :isIn :hall}

{:alice :isIn :kitchen}

{:bob :isIn :kitchen}

e1 e2 e3 e4S

6/33

Page 15: On Unified Stream Reasoning

Daniele Dell’Aglio

The problem (1)

Where are Alice and Bob,

when they are together?

Let’s consider a tumbling

window W of size 5

Let’s execute the

experiment 4 times

t3 6 91

{:alice :isIn :hall}

{:bob :isIn :hall}

{:alice :isIn :kitchen}

{:bob :isIn :kitchen}

e1 e2 e3 e4S

6/33

Page 16: On Unified Stream Reasoning

Daniele Dell’Aglio

The problem (1)

Execution 1° answer 2° answer

1 :hall [6] :kitchen [11]

2 :hall [5] :kitchen [10]

3 :hall [6] :kitchen [11]

4 - [7] - [12]

Where are Alice and Bob,

when they are together?

Let’s consider a tumbling

window W of size 5

Let’s execute the

experiment 4 times

t3 6 91

{:alice :isIn :hall}

{:bob :isIn :hall}

{:alice :isIn :kitchen}

{:bob :isIn :kitchen}

Which is the correct answer?

e1 e2 e3 e4S

6/33

Page 17: On Unified Stream Reasoning

Daniele Dell’Aglio

The problem (2)

Execution 1° answer 2° answer

1 :hall [6] :kitchen [11]

2 :hall [5] :kitchen [10]

3 :hall [6] :kitchen [11]

4 - [7] - [12]

CSPARQL

t3 6 91

{:alice :isIn :hall}

{:bob :isIn :hall}

{:alice :isIn :kitchen}

{:bob :isIn :kitchen}

e1 e2 e3 e4S

7/33

Page 18: On Unified Stream Reasoning

Daniele Dell’Aglio

The problem (2)

Execution 1° answer 2° answer

1 :hall [6] :kitchen [11]

2 :hall [5] :kitchen [10]

3 :hall [6] :kitchen [11]

4 - [7] - [12]

Execution 1° answer 2° answer

1 :hall [3] :kitchen [9]

2 No answers

3 :hall [3] :kitchen [9]

4 No answers

CSPARQL CQELS

Which system behaves in the correct way?

t3 6 91

{:alice :isIn :hall}

{:bob :isIn :hall}

{:alice :isIn :kitchen}

{:bob :isIn :kitchen}

e1 e2 e3 e4S

7/33

Page 19: On Unified Stream Reasoning

Daniele Dell’Aglio

Research Question 1

In the context of continuous query answering over RDF

streams, how can the behaviour of existing systems be

captured, compared and contrast when deductive reasoning

processes are not involved?

8/33

Page 20: On Unified Stream Reasoning

Daniele Dell’Aglio

Research Question 1

In the context of continuous query answering over RDF

streams, how can the behaviour of existing systems be

captured, compared and contrast when deductive reasoning

processes are not involved?

Why do we need it?

• Comparison and contrast

• Study RDF Stream Processing related problems

• Standard RSP query language

8/33

Page 21: On Unified Stream Reasoning

Daniele Dell’Aglio

Background data

Streams

Applications

RDF

SPARQL

RSEP-QL

A reference model that formally defines the semantics of

RDF Stream Processing engines

9/33

Page 22: On Unified Stream Reasoning

Daniele Dell’Aglio

Background data

Streams

Applications

RSP-QL

RDF

SPARQL

RSEP-QL

A reference model that formally defines the semantics of

RDF Stream Processing engines

9/33

Page 23: On Unified Stream Reasoning

Daniele Dell’Aglio

Background data

Streams

Applications

RSP-QL BGP evaluation over background

data

BGP evaluation over streams

Model to express continous queries

RDF

SPARQL

RSEP-QL

A reference model that formally defines the semantics of

RDF Stream Processing engines

9/33

Page 24: On Unified Stream Reasoning

Daniele Dell’Aglio

Background data

Streams

RSEP-QL

Applications

RSP-QL BGP evaluation over background

data

BGP evaluation over streams

Event Pattern detection operators

Model to express continous queries

RDF

SPARQL

RSEP-QL

A reference model that formally defines the semantics of

RDF Stream Processing engines

9/33

Page 25: On Unified Stream Reasoning

Daniele Dell’Aglio

Q (E, DS, QF)

RSEP-QLFrom SPARQL to RSEP-QL

Query Interface

10/33

Page 26: On Unified Stream Reasoning

Daniele Dell’Aglio

Q (E, DS, QF)

RSEP-QLFrom SPARQL to RSEP-QL

Data layer

RDF graphs

DS

Query Interface

10/33

Page 27: On Unified Stream Reasoning

Daniele Dell’Aglio

Q (E, DS, QF)

RSEP-QLFrom SPARQL to RSEP-QL

Evaluator

Data layer

RDF graphs

E

DS

Query Interface

10/33

Page 28: On Unified Stream Reasoning

Daniele Dell’Aglio

Q (E, DS, QF)

RSEP-QLFrom SPARQL to RSEP-QL

Evaluator

Data layer

Result Formatter

Ans(Q)RDF graphs

E

DS

QF

Query Interface

10/33

Page 29: On Unified Stream Reasoning

Daniele Dell’Aglio

Q (E, DS, QF)

RSEP-QLFrom SPARQL to RSEP-QL

Evaluator

Data layer

Result Formatter

Ans(Q)RDF graphs

E

DS

QF

RDF graphsRDF streams

Query Interface

SDS

Q (E, SDS, QF)

10/33

Page 30: On Unified Stream Reasoning

Daniele Dell’Aglio

Q (E, DS, QF)

RSEP-QLFrom SPARQL to RSEP-QL

Evaluator

Data layer

Result Formatter

Ans(Q)RDF graphs

E

DS

QFContinuous EvaluatorET

RDF graphsRDF streams

Query Interface

SDS

Q (E, SDS, QF)

Q (E, SDS, ET, QF)

10/33

Ans(Q,t)

Page 31: On Unified Stream Reasoning

Daniele Dell’Aglio

Q (E, DS, QF)

RSEP-QLFrom SPARQL to RSEP-QL

Evaluator

Data layer

Result Formatter

Ans(Q)RDF graphs

E

DS

QFContinuous EvaluatorET

RDF graphsRDF streams

Query Interface

SDS

Q (E, SDS, QF)

Q (E, SDS, ET, QF)

SE

10/33

Q (SE, SDS, ET, QF)

Ans(Q,t)

Page 32: On Unified Stream Reasoning

Daniele Dell’Aglio

t

S3

S4 S5 S6

S7

S8 S9

S10

S11

SS1

S2

RSEP-QL: DatasetTime-based Sliding Window: 𝕎(ω,β,t0)

11/33

Page 33: On Unified Stream Reasoning

Daniele Dell’Aglio

Sequence of timestamped graphs (stream items)

𝕎(2,1,1)

t

S3

S4 S5 S6

S7

S8 S9

S10

S11

SS1

S2

RSEP-QL: DatasetTime-based Sliding Window: 𝕎(ω,β,t0)

11/33

Page 34: On Unified Stream Reasoning

Daniele Dell’Aglio

Sequence of timestamped graphs (stream items)

𝕎(2,1,1)

t

S3

S4 S5 S6

S7

S8 S9

S10

S11

SS1

S2

RSEP-QL: DatasetTime-based Sliding Window: 𝕎(ω,β,t0)

11/33

Page 35: On Unified Stream Reasoning

Daniele Dell’Aglio

Sequence of timestamped graphs (stream items)

𝕎(2,1,1)

ω

t

width

S3

S4 S5 S6

S7

S8 S9

S10

S11

SS1

S2

t0

RSEP-QL: DatasetTime-based Sliding Window: 𝕎(ω,β,t0)

11/33

Page 36: On Unified Stream Reasoning

Daniele Dell’Aglio

Sequence of timestamped graphs (stream items)

𝕎(2,1,1)

ω

t

width

S3

S4 S5 S6

S7

S8 S9

S10

S11

SS1

S2

t0

RSEP-QL: DatasetTime-based Sliding Window: 𝕎(ω,β,t0)

11/33

Page 37: On Unified Stream Reasoning

Daniele Dell’Aglio

Sequence of timestamped graphs (stream items)

𝕎(2,1,1)

β

ω

t

widthslide

S3

S4 S5 S6

S7

S8 S9

S10

S11

SS1

S2

t0

RSEP-QL: DatasetTime-based Sliding Window: 𝕎(ω,β,t0)

11/33

Page 38: On Unified Stream Reasoning

Daniele Dell’Aglio

Sequence of timestamped graphs (stream items)

𝕎(2,1,1)

β

ω

t

widthslide

S3

S4 S5 S6

S7

S8 S9

S10

S11

SS1

S2

t0

RSEP-QL: DatasetTime-based Sliding Window: 𝕎(ω,β,t0)

11/33

Page 39: On Unified Stream Reasoning

Daniele Dell’Aglio

𝕃(2)

t

S3

S4 S5 S6

S7

S8 S9

S10

S11

SS1

S2

t0

Sequence of timestamped graphs (stream items)

RSEP-QL: DatasetLandmark window: 𝕃(t0)

12/33

Page 40: On Unified Stream Reasoning

Daniele Dell’Aglio

𝕃(2)

t

S3

S4 S5 S6

S7

S8 S9

S10

S11

SS1

S2

t0

Sequence of timestamped graphs (stream items)

RSEP-QL: DatasetLandmark window: 𝕃(t0)

12/33

Page 41: On Unified Stream Reasoning

Daniele Dell’Aglio

𝕃(2)

t

S3

S4 S5 S6

S7

S8 S9

S10

S11

SS1

S2

t0

Sequence of timestamped graphs (stream items)

RSEP-QL: DatasetLandmark window: 𝕃(t0)

12/33

Page 42: On Unified Stream Reasoning

Daniele Dell’Aglio

𝕃(2)

t

S3

S4 S5 S6

S7

S8 S9

S10

S11

SS1

S2

t0

Sequence of timestamped graphs (stream items)

RSEP-QL: DatasetLandmark window: 𝕃(t0)

12/33

Page 43: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Dataset From SPARQL to RSEP-QL dataset

R={RDF graph}

SPARQL dataset

13/33

Page 44: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Dataset From SPARQL to RSEP-QL dataset

R={RDF graph}

SPARQL dataset

S3

S4 S5

S6

S7

S8

S9 S10

S11

S12

SS1

S2

13/33

Page 45: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Dataset From SPARQL to RSEP-QL dataset

R={RDF graph}

SPARQL dataset

S3

S4 S5

S6

S7

S8

S9 S10

S11

S12

SS1

S2

𝕎(S)

13/33

Page 46: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Dataset From SPARQL to RSEP-QL dataset

t1

G(t1)

T⊆ ℕ R={RDF graph}

SPARQL dataset

GInstantaneous GraphG(t1) RTime-Varying Graph

G: T R

S3

S4 S5

S6

S7

S8

S9 S10

S11

S12

SS1

S2

𝕎(S)

13/33

Page 47: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Dataset From SPARQL to RSEP-QL dataset

t1

G(t1)

T⊆ ℕ R={RDF graph}

SPARQL dataset

G

H

Instantaneous GraphG(t1) RTime-Varying Graph

G: T R

S3

S4 S5

S6

S7

S8

S9 S10

S11

S12

SS1

S2

𝕎(S)

13/33

Page 48: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Dataset From SPARQL to RSEP-QL dataset

t1

G(t1)

T⊆ ℕ R={RDF graph}

SPARQL dataset

G

H

Instantaneous GraphG(t1) RTime-Varying Graph

G: T R

RESP-QL dataset

S3

S4 S5

S6

S7

S8

S9 S10

S11

S12

SS1

S2

𝕎(S)

13/33

Page 49: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Operators

Stream Processing operators (RSP-QL)

• SPARQL operators

• WINDOW to specify that the active element is a window (similar to

GRAPH)

• RStream, IStream, DStream to create the output stream

14/33

Page 50: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Operators

Stream Processing operators (RSP-QL)

• SPARQL operators

• WINDOW to specify that the active element is a window (similar to

GRAPH)

• RStream, IStream, DStream to create the output stream

Event Processing operators (RSEP-QL)

• EVENT w P (Basic Event Pattern)

• E1 SEQ E2

• FIRST E1, LAST E1

• MATCH to describe an event pattern

• ...

14/33

Page 51: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsStream Processing Evaluation Semantics

The SPARQL evaluation function is defined as

⟦𝑃⟧𝐷𝑆(𝐺)

15/33

Page 52: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsStream Processing Evaluation Semantics

The SPARQL evaluation function is defined as

⟦𝑃⟧𝐷𝑆(𝐺)

The RSEP-QL evaluation function extends the SPARQL one

by introducing the evaluation time instant

⟪𝑃⟫𝑆𝐷𝑆(𝐴)𝑡

15/33

Page 53: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsStream Processing Evaluation Semantics

The SPARQL evaluation function is defined as

⟦𝑃⟧𝐷𝑆(𝐺)

The RSEP-QL evaluation function extends the SPARQL one

by introducing the evaluation time instant

⟪𝑃⟫𝑆𝐷𝑆(𝐴)𝑡

SPARQL operators are straight extended to the new

evaluation function

Example: JOIN

⟦𝐽𝑂𝐼𝑁(𝑃1, 𝑃2)⟧𝐷𝑆(𝐺) = ⟦𝑃1⟧𝐷𝑆 𝐺 ⨝⟦𝑃2⟧𝐷𝑆 𝐺⟪𝐽𝑂𝐼𝑁(𝑃1, 𝑃2)⟫𝑆𝐷𝑆 𝐴

𝑡 = ⟪𝑃1⟫𝑆𝐷𝑆 𝐴𝑡 ⨝⟪𝑃2⟫𝑆𝐷𝑆 𝐴

𝑡

15/33

Page 54: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsStream Processing Evaluation Semantics

The main difference is on the BGP evaluation:

⟪𝐵𝐺𝑃⟫𝑆𝐷𝑆(𝐴)𝑡

=⟦𝐵𝐺𝑃⟧𝑆𝐷𝑆(𝐴,𝑡)

16/33

Page 55: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsStream Processing Evaluation Semantics

The main difference is on the BGP evaluation:

⟪𝐵𝐺𝑃⟫𝑆𝐷𝑆(𝐴)𝑡

=⟦𝐵𝐺𝑃⟧𝑆𝐷𝑆(𝐴,𝑡)

SDS(A,t) is:

SDS(G,t)= SDS(G(t)) if A is a time-varying graph G

16/33

Page 56: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsStream Processing Evaluation Semantics

The main difference is on the BGP evaluation:

⟪𝐵𝐺𝑃⟫𝑆𝐷𝑆(𝐴)𝑡

=⟦𝐵𝐺𝑃⟧𝑆𝐷𝑆(𝐴,𝑡)

SDS(A,t) is:

SDS(G,t)= SDS(G(t)) if A is a time-varying graph G

SDS(𝕎(S),t)=SDS(m(𝕎(S,t))) if A is from a sliding window 𝕎

SDS(𝕃(S),t)=SDS(m(𝕃(S,t))) if A is from a landmark window 𝕃

where m denotes a merge function

m(𝕎(S,t))= 𝑑𝑖,𝑡𝑖 ∈𝕎(S,t)

𝑑𝑖

• takes as input a window content i.e. a sequence of timestamped

RDF graphs

• produces an RDF graph

16/33

Page 57: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsEvent Processing Evaluation semantics

A new evaluation function ⦅⋅⦆ 𝑜,𝑐𝑡

• t is the evaluation time instant (as in ⟪⋅⟫𝑆𝐷𝑆(𝐴)𝑡 ),

• 𝑜, 𝑐 is an additional window to identify the portion of the data

on which the event may happen

17/33

Page 58: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsEvent Processing Evaluation semantics

A new evaluation function ⦅⋅⦆ 𝑜,𝑐𝑡

• t is the evaluation time instant (as in ⟪⋅⟫𝑆𝐷𝑆(𝐴)𝑡 ),

• 𝑜, 𝑐 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 𝜇

17/33

Page 59: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsEvent Processing Evaluation semantics

A new evaluation function ⦅⋅⦆ 𝑜,𝑐𝑡

• t is the evaluation time instant (as in ⟪⋅⟫𝑆𝐷𝑆(𝐴)𝑡 ),

• 𝑜, 𝑐 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 𝜇

Selection and consumption policies to determine the data

involved in the evaluation

17/33

Page 60: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsEvaluation semantics - Example

⦅FIRST EVENT 𝑤1 𝑃1 SEQ EVERY EVENT 𝑤2 𝑃2⦆ 9,16𝑡

S2

S3 S4

S1 S1

S6

S7

S8

S9 S10

S11

S12

S2

FIRST EVENT 𝑤1 𝑃1

SEQ

EVERY EVENT 𝑤2 𝑃2

t10 12 14 1611 13 15

18/33

Page 61: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsEvaluation semantics - Example

⦅FIRST EVENT 𝑤1 𝑃1 SEQ EVERY EVENT 𝑤2 𝑃2⦆ 9,16𝑡

S2

S3 S4

S1 S1

S6

S7

S8

S9 S10

S11

S12

S2

FIRST EVENT 𝑤1 𝑃1

SEQ

EVERY EVENT 𝑤2 𝑃2

t10 12 14 1611 13 15

18/33

Page 62: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsEvaluation semantics - Example

⦅FIRST EVENT 𝑤1 𝑃1 SEQ EVERY EVENT 𝑤2 𝑃2⦆ 9,16𝑡

S2

S3 S4

S1 S1

S6

S7

S8

S9 S10

S11

S12

S2

FIRST EVENT 𝑤1 𝑃1

SEQ

EVERY EVENT 𝑤2 𝑃2

t10 12 14 1611 13 15

18/33

Page 63: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsEvaluation semantics - Example

⦅FIRST EVENT 𝑤1 𝑃1 SEQ EVERY EVENT 𝑤2 𝑃2⦆ 9,16𝑡

S2

S3 S4

S1 S1

S6

S7

S8

S9 S10

S11

S12

S2

FIRST EVENT 𝑤1 𝑃1

SEQ

EVERY EVENT 𝑤2 𝑃2

t10 12 14 1611 13 15

18/33

Page 64: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsEvaluation semantics - Example

⦅FIRST EVENT 𝑤1 𝑃1 SEQ EVERY EVENT 𝑤2 𝑃2⦆ 9,16𝑡

S2

S3 S4

S1 S1

S6

S7

S8

S9 S10

S11

S12

S2

S1 S10

FIRST EVENT 𝑤1 𝑃1

SEQ

EVERY EVENT 𝑤2 𝑃2

t10 12 14 1611 13 15

11 13

18/33

Page 65: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsEvaluation semantics - Example

⦅FIRST EVENT 𝑤1 𝑃1 SEQ EVERY EVENT 𝑤2 𝑃2⦆ 9,16𝑡

S2

S3 S4

S1 S1

S6

S7

S8

S9 S10

S11

S12

S2

S1 S10

FIRST EVENT 𝑤1 𝑃1

SEQ

EVERY EVENT 𝑤2 𝑃2

t10 12 14 1611 13 15

11 13

18/33

Page 66: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsEvaluation semantics - Example

⦅FIRST EVENT 𝑤1 𝑃1 SEQ EVERY EVENT 𝑤2 𝑃2⦆ 9,16𝑡

S2

S3 S4

S1 S1

S6

S7

S8

S9 S10

S11

S12

S2

S1 S10

FIRST EVENT 𝑤1 𝑃1

SEQ

EVERY EVENT 𝑤2 𝑃2

t10 12 14 1611 13 15

11 13

18/33

Page 67: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsEvaluation semantics - Example

⦅FIRST EVENT 𝑤1 𝑃1 SEQ EVERY EVENT 𝑤2 𝑃2⦆ 9,16𝑡

S2

S3 S4

S1 S1

S6

S7

S8

S9 S10

S11

S12

S2

S1 S10

S1 S12

FIRST EVENT 𝑤1 𝑃1

SEQ

EVERY EVENT 𝑤2 𝑃2

t10 12 14 1611 13 15

11 13

11 15

18/33

Page 68: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsMATCH graph pattern

Event patterns are enclosed in MATCH graph patterns

• Event mappings exist only in the context of event patterns

• The evaluation of a MATCH graph pattern produces a bag of solution

mappings

⟪𝑀𝐴𝑇𝐶𝐻 𝐸⟫𝑆𝐷𝑆 𝐴𝑡 = {𝜇| 𝜇, 𝑡1, 𝑡2 ∈ ⦅𝐸⦆ 0,𝑡

𝑡 }

It is possible to combine the MATCH graph pattern with

other SPARQL graph patterns

19/33

Page 69: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsContinuous evaluation

For each evaluation time t ∈ ET: ⟪𝑆𝐸⟫𝑆𝐷𝑆(𝐴)𝑡

• The continuous evaluation is a sequence of instantaneous

evaluations

20/33

Page 70: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsContinuous evaluation

For each evaluation time t ∈ ET: ⟪𝑆𝐸⟫𝑆𝐷𝑆(𝐴)𝑡

• The continuous evaluation is a sequence of instantaneous

evaluations

It is not always possible to compute ET a priori

20/33

Page 71: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsContinuous evaluation

For each evaluation time t ∈ ET: ⟪𝑆𝐸⟫𝑆𝐷𝑆(𝐴)𝑡

• The continuous evaluation is a sequence of instantaneous

evaluations

It is not always possible to compute ET a priori

• Can be infinite

• Can be data dependent

20/33

Page 72: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsContinuous evaluation

For each evaluation time t ∈ ET: ⟪𝑆𝐸⟫𝑆𝐷𝑆(𝐴)𝑡

• The continuous evaluation is a sequence of instantaneous

evaluations

It is not always possible to compute ET a priori

• Can be infinite

• Can be data dependent

ET is expressed through a Report Policy

• A set of conditions to one or more window operators in SDS

• Initially defined in SECRET for Stream Processing engines

20/33

Page 73: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Evaluation SemanticsContinuous evaluation

Report Policy examples:

• P Periodic: the window reports only at regular intervals

• WC Window Close: the window reports if the active window

closes

• CC Content Change: the window reports if the content changes.

21/33

Page 74: On Unified Stream Reasoning

Daniele Dell’Aglio

Research Question 2

Is it possible to add deductive reasoning features to RSEP-QL?

22/33

Page 75: On Unified Stream Reasoning

Daniele Dell’Aglio

Research Question 2

Is it possible to add deductive reasoning features to RSEP-QL?

Applications

RDF

SPARQL

Ontology

22/33

Page 76: On Unified Stream Reasoning

Daniele Dell’Aglio

Research Question 2

Is it possible to add deductive reasoning features to RSEP-QL?

Applications

RDF

SPARQL

Ontology

SPARQL Entailment

Regimes

22/33

Page 77: On Unified Stream Reasoning

Daniele Dell’Aglio

Research Question 2

Is it possible to add deductive reasoning features to RSEP-QL?

Streams OntologyBackground

data

RSEP-QL

Applications

RSP-QL

RDF

SPARQL

Ontology

SPARQL Entailment

Regimes

22/33

Page 78: On Unified Stream Reasoning

Daniele Dell’Aglio

Research Question 2

Is it possible to add deductive reasoning features to RSEP-QL?

Streams OntologyBackground

data

RSEP-QL Entailment

Regimes

RSEP-QL

Applications

RSP-QL

RDF

SPARQL

Ontology

SPARQL Entailment

Regimes

22/33

Page 79: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Reasoning

Stream Processing

At which point of the continuous query answering process

should the inference process be taken into account?

Event ProcessingWindow merge

Window operator

Stream S34 5

67

89

S 12

67

89

6-9

t

RDF Graph

RDF Stream

Window

23/33

Page 80: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Reasoning

Stream Processing

At which point of the continuous query answering process

should the inference process be taken into account?Direct application

on SPARQLentailment regimes

Event ProcessingWindow merge

Window operator

Stream S

Graph-level entailment

34 5

67

89

S 12

67

89

6-9

t

RDF Graph

RDF Stream

Window

23/33

Page 81: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Reasoning

Stream Processing

At which point of the continuous query answering process

should the inference process be taken into account?

After applying the window operator

Direct application on SPARQL

entailment regimes

Event ProcessingWindow merge

Window operator

Stream S

Graph-level entailment

Window-level entailment

34 5

67

89

S 12

67

89

6-9

t

RDF Graph

RDF Stream

Window

23/33

Page 82: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: Reasoning

Stream Processing

At which point of the continuous query answering process

should the inference process be taken into account?

A larger, landmark window to include

relevant information from the past

After applying the window operator

Direct application on SPARQL

entailment regimes

Event ProcessingWindow merge

Window operator

Stream S

Graph-level entailment

Window-level entailment

Stream-level entailment

34 5

67

89

S 12

67

89

6-9

t

67

89

34 5

RDF Graph

RDF Stream

Window

23/33

Page 83: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: ReasoningWindow-level and stream-level entailment regimes

How can DL ontology be extended to capture the window

content?

24/33

Page 84: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: ReasoningWindow-level and stream-level entailment regimes

How can DL ontology be extended to capture the window

content?

• Ontology stream – a sequence of time-stamped ABoxes 𝑆𝑜𝑐 𝑖

w.r.t a static TBox

24/33

Page 85: On Unified Stream Reasoning

Daniele Dell’Aglio

RSEP-QL: ReasoningWindow-level and stream-level entailment regimes

How can DL ontology be extended to capture the window

content?

• Ontology stream – a sequence of time-stamped ABoxes 𝑆𝑜𝑐 𝑖

w.r.t a static TBox

• Introduction of so-far closure, as the closure of the i-th

snapshot w.r.t. the Tbox and the previus snapshots

• The so-far closure of 𝑆𝑜𝑐 𝑖 is done w.r.t. the TBox and the

snapshots 𝑆𝑜𝑐 𝑜 … 𝑆𝑜

𝑐 𝑖 − 1

• The so-far closure of the ontology stream is obtained by so-far

closing all the ABox snapshots

24/33

Page 86: On Unified Stream Reasoning

Daniele Dell’Aglio

Event Processing

Stream-level entailment

RSEP-QL: ReasoningResults

1. Theorem: in the context of

Stream Processing operations,

graph- and window-level

entailments have the same

behaviour as far as no

inconsistency is entailed

25/33

Stream Processing

Window merge

Window operator

Stream S

Graph-level ent.

Window-level entailment

Page 87: On Unified Stream Reasoning

Daniele Dell’Aglio

Event Processing

Stream-level entailment

RSEP-QL: ReasoningResults

1. Theorem: in the context of

Stream Processing operations,

graph- and window-level

entailments have the same

behaviour as far as no

inconsistency is entailed

2. Theorem: The stream-level

entailment brings to a larger

set of answers w.r.t. graph-

and window- entailment ones.

25/33

Stream Processing

Event ProcessingWindow merge

Window operator

Stream S

Graph-level ent.

Window-level entailment

Stream-level entailment

Page 88: On Unified Stream Reasoning

Daniele Dell’Aglio

Execution 1° answer 2° answer

1 :hall [6] :kitchen [11]

2 :hall [5] :kitchen [10]

3 :hall [6] :kitchen [11]

4 - [7] - [12]

RSEP-QL in actionCorrectness assessment

t3 6 91

{:alice :isIn :hall}

{:bob :isIn :hall}

{:alice :isIn :kitchen}

{:bob :isIn :kitchen}

e1 e2 e3 e4S

26/33

Page 89: On Unified Stream Reasoning

Daniele Dell’Aglio

Execution 1° answer 2° answer

1 :hall [6] :kitchen [11]

2 :hall [5] :kitchen [10]

3 :hall [6] :kitchen [11]

4 - [7] - [12]

t0=0

RSEP-QL in actionCorrectness assessment

t3 6 91

{:alice :isIn :hall}

{:bob :isIn :hall}

{:alice :isIn :kitchen}

{:bob :isIn :kitchen}

e1 e2 e3 e4S

26/33

Page 90: On Unified Stream Reasoning

Daniele Dell’Aglio

Execution 1° answer 2° answer

1 :hall [6] :kitchen [11]

2 :hall [5] :kitchen [10]

3 :hall [6] :kitchen [11]

4 - [7] - [12]

t0=0

Window 1° answer 2° answer

t0=0 :hall [5] :kitchen [10]

RSEP-QL in actionCorrectness assessment

t3 6 91

{:alice :isIn :hall}

{:bob :isIn :hall}

{:alice :isIn :kitchen}

{:bob :isIn :kitchen}

e1 e2 e3 e4S

26/33

Page 91: On Unified Stream Reasoning

Daniele Dell’Aglio

Execution 1° answer 2° answer

1 :hall [6] :kitchen [11]

2 :hall [5] :kitchen [10]

3 :hall [6] :kitchen [11]

4 - [7] - [12]

t0=0

Window 1° answer 2° answer

t0=0 :hall [5] :kitchen [10]

t0=1

RSEP-QL in actionCorrectness assessment

t3 6 91

{:alice :isIn :hall}

{:bob :isIn :hall}

{:alice :isIn :kitchen}

{:bob :isIn :kitchen}

e1 e2 e3 e4S

26/33

Page 92: On Unified Stream Reasoning

Daniele Dell’Aglio

Execution 1° answer 2° answer

1 :hall [6] :kitchen [11]

2 :hall [5] :kitchen [10]

3 :hall [6] :kitchen [11]

4 - [7] - [12]

t0=0

Window 1° answer 2° answer

t0=0 :hall [5] :kitchen [10]

t0=1 :hall [6] :kitchen [11]

t0=1

RSEP-QL in actionCorrectness assessment

t3 6 91

{:alice :isIn :hall}

{:bob :isIn :hall}

{:alice :isIn :kitchen}

{:bob :isIn :kitchen}

e1 e2 e3 e4S

26/33

Page 93: On Unified Stream Reasoning

Daniele Dell’Aglio

Execution 1° answer 2° answer

1 :hall [6] :kitchen [11]

2 :hall [5] :kitchen [10]

3 :hall [6] :kitchen [11]

4 - [7] - [12]

t0=0

Window 1° answer 2° answer

t0=0 :hall [5] :kitchen [10]

t0=1 :hall [6] :kitchen [11]

t0=1

t0=2

RSEP-QL in actionCorrectness assessment

t3 6 91

{:alice :isIn :hall}

{:bob :isIn :hall}

{:alice :isIn :kitchen}

{:bob :isIn :kitchen}

e1 e2 e3 e4S

26/33

Page 94: On Unified Stream Reasoning

Daniele Dell’Aglio

Execution 1° answer 2° answer

1 :hall [6] :kitchen [11]

2 :hall [5] :kitchen [10]

3 :hall [6] :kitchen [11]

4 - [7] - [12]

t0=0

Window 1° answer 2° answer

t0=0 :hall [5] :kitchen [10]

t0=1 :hall [6] :kitchen [11]

t0=2 - [7] - [12]

t0=1

t0=2

RSEP-QL in actionCorrectness assessment

t3 6 91

{:alice :isIn :hall}

{:bob :isIn :hall}

{:alice :isIn :kitchen}

{:bob :isIn :kitchen}

e1 e2 e3 e4S

26/33

Page 95: On Unified Stream Reasoning

Daniele Dell’Aglio

Execution 1° answer 2° answer

1 :hall [6] :kitchen [11]

2 :hall [5] :kitchen [10]

3 :hall [6] :kitchen [11]

4 - [7] - [12]

t0=0

Window 1° answer 2° answer

t0=0 :hall [5] :kitchen [10]

t0=1 :hall [6] :kitchen [11]

t0=2 - [7] - [12]

t0=1

t0=2

RSEP-QL in actionCorrectness assessment

t3 6 91

{:alice :isIn :hall}

{:bob :isIn :hall}

{:alice :isIn :kitchen}

{:bob :isIn :kitchen}

e1 e2 e3 e4S

26/33

Page 96: On Unified Stream Reasoning

Daniele Dell’Aglio

Execution 1° answer 2° answer

1 :hall [6] :kitchen [11]

2 :hall [5] :kitchen [10]

3 :hall [6] :kitchen [11]

4 - [7] - [12]

Execution 1° answer 2° answer

1 :hall [3] :kitchen [9]

2 No answers

3 :hall [3] :kitchen [9]

4 No answers

CSPARQL CQELS

RSEP-QL in actionCorrectness assessment

27/33

t3 6 91

{:alice :isIn :hall}

{:bob :isIn :hall}

{:alice :isIn :kitchen}

{:bob :isIn :kitchen}

e1 e2 e3 e4S

Page 97: On Unified Stream Reasoning

Daniele Dell’Aglio

Execution 1° answer 2° answer

1 :hall [6] :kitchen [11]

2 :hall [5] :kitchen [10]

3 :hall [6] :kitchen [11]

4 - [7] - [12]

Execution 1° answer 2° answer

1 :hall [3] :kitchen [9]

2 No answers

3 :hall [3] :kitchen [9]

4 No answers

CSPARQL CQELS

Window-close vs content-change

Empty relation notification (yes|no)

RSEP-QL in actionCorrectness assessment

27/33

t3 6 91

{:alice :isIn :hall}

{:bob :isIn :hall}

{:alice :isIn :kitchen}

{:bob :isIn :kitchen}

e1 e2 e3 e4S

Page 98: On Unified Stream Reasoning

Daniele Dell’Aglio

CSR Bench

CSR Bench is an extension of the SRbench benchmark

that focuses on correctness

A test suite

• LinkedSensorData as dataset

• 8 parametric queries to tests the RSP engines in different

conditions

An oracle (an automatic correctness validator)

• Based on RSP-QL

28/33

Page 99: On Unified Stream Reasoning

Daniele Dell’Aglio

CSR BenchExperimental Results

All the three systems that we

considered in our experiments showed

wrong behaviours

The defects we identified are related to:

•The window operator

• Initialization

• Slide parameter

• Window contents

•Timestamps of the stream items

• Internal timestamp management

CQ

ELS

C-SPA

RQ

L

SPAR

QL

stream

Q1

Q2

Q3

Q4

Q5

Q6

Q7

29/33

Page 100: On Unified Stream Reasoning

Daniele Dell’Aglio

What’s next?

An RSEP-QL query language

• W3C RSP CG ongoing activities

30/33

Page 101: On Unified Stream Reasoning

Daniele Dell’Aglio

What’s next?

An RSEP-QL query language

• W3C RSP CG ongoing activities

Implementations

30/33

Page 102: On Unified Stream Reasoning

Daniele Dell’Aglio

What’s next?

An RSEP-QL query language

• W3C RSP CG ongoing activities

Implementations

• Yet another RSP engine

30/33

Page 103: On Unified Stream Reasoning

Daniele Dell’Aglio

What’s next?

An RSEP-QL query language

• W3C RSP CG ongoing activities

Implementations

• Yet another RSP engine

• Stream Reasoner composition

• RSEP-QL as model to capture the behaviour of SRs

• RSEP-QL queries to define tasks to be executed over one or

more SR engines

30/33

Page 104: On Unified Stream Reasoning

Daniele Dell’Aglio

What’s next?

An RSEP-QL query language

• W3C RSP CG ongoing activities

Implementations

• Yet another RSP engine

• Stream Reasoner composition

• RSEP-QL as model to capture the behaviour of SRs

• RSEP-QL queries to define tasks to be executed over one or

more SR engines

Stream-level entailment scalable techniques

• Initial work on stream without inference

• Permanent storage of portions of data (raw or inferred)

30/33

Page 105: On Unified Stream Reasoning

Daniele Dell’Aglio

What’s next?

Reasoning over streams and continuous query answering

over streams are still two different worlds

• Key to show why RDF Stream Processing is useful w.r.t.

DSMS and CEP

• Few initial attempts to put them together

31/33

Page 106: On Unified Stream Reasoning

Daniele Dell’Aglio

What’s next?

Reasoning over streams and continuous query answering

over streams are still two different worlds

• Key to show why RDF Stream Processing is useful w.r.t.

DSMS and CEP

• Few initial attempts to put them together

Streams in the Web are getting popular – applications want

more and more sophisticated features

• Different timestamps, out-of-orders

• Noise (inductive reasoning)

31/33

Page 107: On Unified Stream Reasoning

Daniele Dell’Aglio

Conclusions

RSEP-QL captures the evaluation semantics of existing

RSP engines

32/33

Page 108: On Unified Stream Reasoning

Daniele Dell’Aglio

Conclusions

RSEP-QL captures the evaluation semantics of existing

RSP engines

RSEP-QL can determine which are the correct answers of

an RSP engine, given the input data and query

• At the basis of CSR Bench

32/33

Page 109: On Unified Stream Reasoning

Daniele Dell’Aglio

Conclusions

RSEP-QL captures the evaluation semantics of existing

RSP engines

RSEP-QL can determine which are the correct answers of

an RSP engine, given the input data and query

• At the basis of CSR Bench

The dynamics introduced in the continuous query evaluation

process have not been totally understood

• Not fully captured by existing models

• RSEP-QL captures those dynamics

32/33

Page 110: On Unified Stream Reasoning

Daniele Dell’Aglio

Thank you! Questions?

On Unified Stream Reasoning

Daniele Dell’Aglio

Advisor: Prof. Emanuele Della Valle

33/33