Stream Reasoning with LARS Harald Beck Minh Dao-Tran Thomas Eiter - - PowerPoint PPT Presentation
Stream Reasoning with LARS Harald Beck Minh Dao-Tran Thomas Eiter - - PowerPoint PPT Presentation
Stream Reasoning with LARS Harald Beck Minh Dao-Tran Thomas Eiter The 2nd Stream Reasoning Workshop December 8-9, 2016 Outline LARS Overview (Revised) LARS Syntax and Semantics Recent and Ongoing LARS Research @ KBS LARS Collaboration
Outline
LARS Overview (Revised) LARS Syntax and Semantics Recent and Ongoing LARS Research @ KBS LARS’ Collaboration
LARS Overview
LARS is a logical framework with a rule-based language that
- ffers
◮ generic window operators, ◮ different ways to refer to time, and ◮ an ASP-like semantics
for (analyzing) stream reasoning.
LARS Setting: Streams
11 12 13 14 15 16 17 18 19 20 21 22 23
- a
p p e a r e d ( , t r
2 5
)
- a
p p e a r e d ( 1 , t r
2 5
)
- a
p p e a r e d ( 1 , b
2 7 A
)
Data Streams D = (T, υ) T = [0, 50] υ = 12 → {appeared(0, tr 25)}, 17 → {appeared(1, tr 25)}, 19 → {appeared(1, b27A)}
LARS Setting: Streams
11 12 13 14 15 16 17 18 19 20 21 22 23
- a
p p e a r e d ( , t r
2 5
)
- a
p p e a r e d ( 1 , t r
2 5
)
- a
p p e a r e d ( 1 , b
2 7 A
)
- e
x p ( 2 , t r
2 5
)
- e
x p ( 2 , b
2 7 A
)
Interpretation Stream S⋆ = (T ⋆, υ⋆) ⊇ D T ⋆ = [0, 50] υ⋆ = 12 → {appeared(0, tr 25)}, 21 → {exp(2, tr 25)}, 17 → {appeared(1, tr 25)}, 23 → {exp(2, b27A)}, 19 → {appeared(1, b27A)}
LARS Window Functions and Operators
11 12 13 14 15 16 17 18 19 20 21 22 23
- a
p p e a r e d ( , t r
2 5
)
- a
p p e a r e d ( 1 , t r
2 5
)
- a
p p e a r e d ( 1 , b
2 7 A
)
Window functions S′ = (T ′, υ′) = w(S, t) T ′ = [15, 20] υ′ = {17 → {appeared(1, tr 25)}, 19 → {appeared(1, b27A)}} Window operators ⊞w
(Revised) LARS Syntax
α ::=
(Revised) LARS Syntax
α ::= a | ¬α | α∧α | α∨α | α → α
◮ standard logical operators
(Revised) LARS Syntax
α ::= a | ¬α | α∧α | α∨α | α → α | ♦α | α | @tα
◮ standard logical operators ◮ various ways for time references
(Revised) LARS Syntax
α ::= a | ¬α | α∧α | α∨α | α → α | ♦α | α | @tα | ⊞wα
◮ standard logical operators ◮ various ways for time references ◮ window operators which can be nested
⊞60 ⊞10 ♦appeared(s, b1)
(Revised) LARS Syntax
α ::= a | ¬α | α∧α | α∨α | α → α | ♦α | α | @tα | ⊞wα | ⊲α
◮ standard logical operators ◮ various ways for time references ◮ window operators which can be nested
⊞60 ⊞10 ♦appeared(s, b1)
◮ Reset operator
(Revised) LARS Syntax
α ::= a | ¬α | α∧α | α∨α | α → α | ♦α | α | @tα | ⊞wα | ⊲α
◮ standard logical operators ◮ various ways for time references ◮ window operators which can be nested
⊞60 ⊞10 ♦appeared(s, b1)
◮ Reset operator ◮ Rules
@T+Lexp(M, V ) ← ⊞5@Tappeared(N, V ), plan(N, M, V , L).
(Revised) LARS Entailment
Structure M = S⋆, W , B
(Revised) LARS Entailment
Structure M = S⋆, W , B Substream S = (T, υ) of S⋆: currently considered window Time point t ∈ T
(Revised) LARS Entailment
Structure M = S⋆, W , B Substream S = (T, υ) of S⋆: currently considered window Time point t ∈ T M, S, t a iff a ∈ υ(t) or a ∈ B ,
(Revised) LARS Entailment
Structure M = S⋆, W , B Substream S = (T, υ) of S⋆: currently considered window Time point t ∈ T M, S, t a iff a ∈ υ(t) or a ∈ B , M, S, t ¬α iff M, S, t α, M, S, t α ∧ β iff M, S, t α and M, S, t β, M, S, t α ∨ β iff M, S, t α or M, S, t β, M, S, t α → β iff M, S, t α or M, S, t β,
(Revised) LARS Entailment
Structure M = S⋆, W , B Substream S = (T, υ) of S⋆: currently considered window Time point t ∈ T M, S, t a iff a ∈ υ(t) or a ∈ B , M, S, t ¬α iff M, S, t α, M, S, t α ∧ β iff M, S, t α and M, S, t β, M, S, t α ∨ β iff M, S, t α or M, S, t β, M, S, t α → β iff M, S, t α or M, S, t β, M, S, t ♦α iff M, S, t′ α for some t′ ∈ T,
(Revised) LARS Entailment
Structure M = S⋆, W , B Substream S = (T, υ) of S⋆: currently considered window Time point t ∈ T M, S, t a iff a ∈ υ(t) or a ∈ B , M, S, t ¬α iff M, S, t α, M, S, t α ∧ β iff M, S, t α and M, S, t β, M, S, t α ∨ β iff M, S, t α or M, S, t β, M, S, t α → β iff M, S, t α or M, S, t β, M, S, t ♦α iff M, S, t′ α for some t′ ∈ T, M, S, t α iff M, S, t′ α for all t′ ∈ T ,
(Revised) LARS Entailment
Structure M = S⋆, W , B Substream S = (T, υ) of S⋆: currently considered window Time point t ∈ T M, S, t a iff a ∈ υ(t) or a ∈ B , M, S, t ¬α iff M, S, t α, M, S, t α ∧ β iff M, S, t α and M, S, t β, M, S, t α ∨ β iff M, S, t α or M, S, t β, M, S, t α → β iff M, S, t α or M, S, t β, M, S, t ♦α iff M, S, t′ α for some t′ ∈ T, M, S, t α iff M, S, t′ α for all t′ ∈ T , M, S, t @t′α iff M, S, t′ α and t′ ∈ T ,
(Revised) LARS Entailment
Structure M = S⋆, W , B Substream S = (T, υ) of S⋆: currently considered window Time point t ∈ T M, S, t a iff a ∈ υ(t) or a ∈ B , M, S, t ¬α iff M, S, t α, M, S, t α ∧ β iff M, S, t α and M, S, t β, M, S, t α ∨ β iff M, S, t α or M, S, t β, M, S, t α → β iff M, S, t α or M, S, t β, M, S, t ♦α iff M, S, t′ α for some t′ ∈ T, M, S, t α iff M, S, t′ α for all t′ ∈ T , M, S, t @t′α iff M, S, t′ α and t′ ∈ T , M, S, t ⊞wα iff M, S′, t α where S′ = w(S, t) ,
(Revised) LARS Entailment
Structure M = S⋆, W , B Substream S = (T, υ) of S⋆: currently considered window Time point t ∈ T M, S, t a iff a ∈ υ(t) or a ∈ B , M, S, t ¬α iff M, S, t α, M, S, t α ∧ β iff M, S, t α and M, S, t β, M, S, t α ∨ β iff M, S, t α or M, S, t β, M, S, t α → β iff M, S, t α or M, S, t β, M, S, t ♦α iff M, S, t′ α for some t′ ∈ T, M, S, t α iff M, S, t′ α for all t′ ∈ T , M, S, t @t′α iff M, S, t′ α and t′ ∈ T , M, S, t ⊞wα iff M, S′, t α where S′ = w(S, t) , M, S, t ⊲α iff M, S⋆, t α ,
Scenario
U1 Kagran 25 27A Kagraner Platz 26 Carminweg
LARS Programs
11 12 13 14 15 16 17 18 19 20 21 22 23
- a
p p e a r e d ( , t r
2 5
)
- a
p p e a r e d ( 1 , t r
2 5
)
- a
p p e a r e d ( 1 , b
2 7 A
)
@T+Lexp(M, V ) ← ⊞5@Tappeared(N, V ), plan(N, M, V , L). takeBus(N) ← ⊞+2♦ exp(N, B), bus(B), not takeTram(N). takeTram(N) ← ⊞+5♦ exp(N, Tr), tram(Tr), not takeBus(N).
LARS Programs
11 12 13 14 15 16 17 18 19 20 21 22 23
- a
p p e a r e d ( , t r
2 5
)
- a
p p e a r e d ( 1 , t r
2 5
)
- a
p p e a r e d ( 1 , b
2 7 A
)
- e
x p ( 2 , t r
2 5
)
- e
x p ( 2 , b
2 7 A
)
@T+Lexp(M, V ) ← ⊞5@Tappeared(N, V ), plan(N, M, V , L). takeBus(N) ← ⊞+2♦ exp(N, B), bus(B), not takeTram(N). takeTram(N) ← ⊞+5♦ exp(N, Tr), tram(Tr), not takeBus(N).
LARS Programs
11 12 13 14 15 16 17 18 19 20 21 22 23
- a
p p e a r e d ( , t r
2 5
)
- a
p p e a r e d ( 1 , t r
2 5
)
- a
p p e a r e d ( 1 , b
2 7 A
)
- e
x p ( 2 , t r
2 5
)
- e
x p ( 2 , b
2 7 A
)
- t
a k e B u s ( 2 )
@T+Lexp(M, V ) ← ⊞5@Tappeared(N, V ), plan(N, M, V , L). takeBus(N) ← ⊞+2♦ exp(N, B), bus(B), not takeTram(N). takeTram(N) ← ⊞+5♦ exp(N, Tr), tram(Tr), not takeBus(N).
LARS Programs
11 12 13 14 15 16 17 18 19 20 21 22 23
- a
p p e a r e d ( , t r
2 5
)
- a
p p e a r e d ( 1 , t r
2 5
)
- a
p p e a r e d ( 1 , b
2 7 A
)
- e
x p ( 2 , t r
2 5
)
- e
x p ( 2 , b
2 7 A
)
- t
a k e T r a m ( 2 )
@T+Lexp(M, V ) ← ⊞5@Tappeared(N, V ), plan(N, M, V , L). takeBus(N) ← ⊞+2♦ exp(N, B), bus(B), not takeTram(N). takeTram(N) ← ⊞+5♦ exp(N, Tr), tram(Tr), not takeBus(N).
Recent and Ongoing LARS Research @ KBS
Answer Update for Rule-based Stream Reasoning [Beck et al., 2015] Contrasting RDF Stream Processing Semantics [Dao-Tran et al., 2015] Equivalence of LARS programs [Beck et al., 2016b] Ongoing implementation based on Truth Maintenance Systems
LARS’ Collaboration
Vrije Universiteit Amsterdam (Jacopo Urbani and Hamid Bazoobabdi)
◮ Dipper engine
Alpen-Adria-University Klagenfurt (Konstantin Schekotihin)
◮ Rule-based Stream Reasoning for Intelligent
Administration of Content-Centric Networks [Beck et al., 2016a]
◮ LotTraveller