SlideShare a Scribd company logo
1 of 47
Download to read offline
How to combine event stream reasoning with
transactions for the Semantic Web
Ana Sofia Gomes and Jos´e J´ulio Alferes
NOVA LINCS, Universidade NOVA de Lisboa,
August 5, 2015
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 1 / 16
Example: Acting upon traffic violations
Consider a scenario where the police wants to monitor, detect and act
upon traffic violations based on a sensor network deployed in roads
A sensor in such a network can identify plates of vehicles and
distinguish between types of vehicles
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 2 / 16
Example: Acting upon traffic violations
Consider a scenario where the police wants to monitor, detect and act
upon traffic violations based on a sensor network deployed in roads
A sensor in such a network can identify plates of vehicles and
distinguish between types of vehicles
Based on the information that is published by sensors, and
information about vehicles, the system must reason about what
vehicles are indulging in traffic violations
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 2 / 16
Example: Acting upon traffic violations
Consider a scenario where the police wants to monitor, detect and act
upon traffic violations based on a sensor network deployed in roads
A sensor in such a network can identify plates of vehicles and
distinguish between types of vehicles
Based on the information that is published by sensors, and
information about vehicles, the system must reason about what
vehicles are indulging in traffic violations
For vehicles found to be violating traffic rules, the system must issue
fines and notify the corresponding drivers
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 2 / 16
Required Ingredients
The sensor network (of course!)
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
Required Ingredients
The sensor network (of course!)
Data published by the sensors in some processable way
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
Required Ingredients
The sensor network (of course!)
Data published by the sensors in some processable way
Combining data from different types of sensors, for interoperability
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
Required Ingredients
The sensor network (of course!)
Data published by the sensors in some processable way
Combining data from different types of sensors, for interoperability
Detecting complex events, based on atomic data from sensors
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
Required Ingredients
The sensor network (of course!)
Data published by the sensors in some processable way
Combining data from different types of sensors, for interoperability
Detecting complex events, based on atomic data from sensors
Reasoning with sensor data together with data about vehicles,
vehicles types, kinds of violations, etc
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
Required Ingredients
The sensor network (of course!)
Data published by the sensors in some processable way
Combining data from different types of sensors, for interoperability
Detecting complex events, based on atomic data from sensors
Reasoning with sensor data together with data about vehicles,
vehicles types, kinds of violations, etc
Expressing rules describing how to act upon the detection of traffic
violations
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
Required Ingredients
The sensor network (of course!)
Data published by the sensors in some processable way
E.g. publish data in RDF
Combining data from different types of sensors, for interoperability
Detecting complex events, based on atomic data from sensors
Reasoning with sensor data together with data about vehicles,
vehicles types, kinds of violations, etc
Expressing rules describing how to act upon the detection of traffic
violations
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
Required Ingredients
The sensor network (of course!)
Data published by the sensors in some processable way
E.g. publish data in RDF
Combining data from different types of sensors, for interoperability
Semantic Sensor Web ontologies
Detecting complex events, based on atomic data from sensors
Reasoning with sensor data together with data about vehicles,
vehicles types, kinds of violations, etc
Expressing rules describing how to act upon the detection of traffic
violations
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
Required Ingredients
The sensor network (of course!)
Data published by the sensors in some processable way
E.g. publish data in RDF
Combining data from different types of sensors, for interoperability
Semantic Sensor Web ontologies
Detecting complex events, based on atomic data from sensors
Complex event detection languages
Reasoning with sensor data together with data about vehicles,
vehicles types, kinds of violations, etc
Expressing rules describing how to act upon the detection of traffic
violations
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
Required Ingredients
The sensor network (of course!)
Data published by the sensors in some processable way
E.g. publish data in RDF
Combining data from different types of sensors, for interoperability
Semantic Sensor Web ontologies
Detecting complex events, based on atomic data from sensors
Complex event detection languages
Reasoning with sensor data together with data about vehicles,
vehicles types, kinds of violations, etc
Ontologies (e.g. in OWL)
Expressing rules describing how to act upon the detection of traffic
violations
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
Required Ingredients
The sensor network (of course!)
Data published by the sensors in some processable way
E.g. publish data in RDF
Combining data from different types of sensors, for interoperability
Semantic Sensor Web ontologies
Detecting complex events, based on atomic data from sensors
Complex event detection languages
Reasoning with sensor data together with data about vehicles,
vehicles types, kinds of violations, etc
Ontologies (e.g. in OWL)
Expressing rules describing how to act upon the detection of traffic
violations
Event-Condition-Action rules
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
Reactivity
Reactivity: the ability to detect and react to changes
On event if condition then action
Basic Premisses
Events can be complex
Actions can be complex
Events need to be handled as soon as possible
Actions may trigger events and indirectly execute other actions
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 4 / 16
Reactivity
Reactivity: the ability to detect and react to changes
On event if condition then action
Basic Premisses
Events can be complex
Actions can be complex
Events need to be handled as soon as possible
Actions may trigger events and indirectly execute other actions
Actions can be defined as a transaction
In our example, issuing a fine and notifying the driver must be defined as a
transaction
it can never be the case that the fine is issued and the driver is not
notified, nor vice-versa
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 4 / 16
Our goal
Goal
Combine in a declarative, rule-based language all the above described
requirements:
detection of complex events
combining events with ontological data
definition of reactive rules
ability to define transactions
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 5 / 16
Our goal
Goal
Combine in a declarative, rule-based language all the above described
requirements:
detection of complex events
combining events with ontological data
definition of reactive rules
ability to define transactions
We do this based on an extension of Transaction Logic, called T Rev
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 5 / 16
Transaction Logic
Abstract logic to reason about how a transaction executes
Evaluates complex formulas over paths
P, D1, . . . , Dn |= φ
φ can execute transactionally in program P, over the path D1, . . . , Dn
φ causes the Knowledge Base to evolve from state D1 into state Dn
Finds the paths where formulas can execute transactionally
Transactions and states are abstract
T R can use several different semantics of state change
Reasoning about what primitives are true in a state, and state
transitions is outsourced to Oracles
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 6 / 16
Transaction Logic
Can reason about transactions
Can also reason about complex events
reason about what events have become true in a path
P, D1, . . . , Dn |= φ
φ occurs over the path D1, . . . , Dn
(almost) as expressible as SNOOP’s event algebra (more details in the
paper)
What is Missing?
Reactivity: the ability to reason and react to events
T R can reason about transactions and events individually, but not
with both simultaneously
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 7 / 16
Transaction Logic with Events (T Rev
)
Extends T R with the ability to detect and react to complex events
Key Concepts
formulas are partitioned into transactions and events
transaction formulas depend on what event formulas are true
transactions only succeed on paths where all events are responded as a
transaction
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 8 / 16
Transaction Logic with Events (T Rev
)
Extends T R with the ability to detect and react to complex events
Key Concepts
formulas are partitioned into transactions and events
transaction formulas depend on what event formulas are true
transactions only succeed on paths where all events are responded as a
transaction
if an event is triggered during a transaction, the transaction is
expanded with the event response
if the event formula o(e) is true on a path π, then this path needs to
be expanded with the execution of the transaction r(e)
non-monotonic behavior
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 8 / 16
Example
p ← a.ins ⊗ b.ins
{a}
r(e1)
{}
a.ins
o(a.ins)
{a, b} {a, b, c}
c.inso(e1)
o(b.ins) o(c.ins)
{a}{}
a.ins
p
o(a.ins)
{a, b}
o(b.ins)
b.ins
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 9 / 16
Example
p ← a.ins ⊗ b.ins
{a}
r(e1)
{}
a.ins
o(a.ins)
{a, b} {a, b, c}
c.inso(e1)
o(b.ins) o(c.ins)
{a}{}
a.ins
p
o(a.ins)
{a, b}
o(b.ins)
b.ins
p ← a.ins ⊗ b.ins
r(e1) ← c.ins
o(e1) ← o(b.ins)
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 9 / 16
Example
p ← a.ins ⊗ b.ins
{a}
r(e1)
{}
a.ins
o(a.ins)
{a, b} {a, b, c}
c.inso(e1)
o(b.ins) o(c.ins)
{a}{}
a.ins
p
o(a.ins)
{a, b}
o(b.ins)
b.ins
p ← a.ins ⊗ b.ins
r(e1) ← c.ins
o(e1) ← o(b.ins)
{a}
r(e1)
{}
a.ins
p
o(a.ins)
{a, b} {a, b, c}
c.inso(e1)
o(b.ins) o(c.ins)
b.ins
{a}{}
a.ins
o(a.ins)
{
o(e1)
o(b.ins)
b.ins
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 9 / 16
Interpretations and states
Definition (Interpretation)
An interpretation M is a mapping assigning a set of atoms to every
possible path, with the restrictions (where Di s are states, and ϕ an atom):
ϕ ∈ M( D ) if ϕ ∈ Od (D)
{ϕ, o(ϕ)} ⊆ M( D1
o(ϕ)→D2 ) if ϕ ∈ Ot(D1, D2) ∧ ϕ ∈ POa
o(ϕ) ∈ M( D1
o(ϕ)→D2 ) if o(ϕ) ∈ Ot(D1, D2) ∧ o(ϕ) ∈ POe
o(e) ∈ M( D o(e)→D )
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 10 / 16
Interpretations and states
Definition (Interpretation)
An interpretation M is a mapping assigning a set of atoms to every
possible path, with the restrictions (where Di s are states, and ϕ an atom):
ϕ ∈ M( D ) if ϕ ∈ Od (D)
{ϕ, o(ϕ)} ⊆ M( D1
o(ϕ)→D2 ) if ϕ ∈ Ot(D1, D2) ∧ ϕ ∈ POa
o(ϕ) ∈ M( D1
o(ϕ)→D2 ) if o(ϕ) ∈ Ot(D1, D2) ∧ o(ϕ) ∈ POe
o(e) ∈ M( D o(e)→D )
The definition of states depends on the application at hands, and their
meaning is formalised by the oracles Od and Ot
in the examples of the previous slide, states Di are simply sets of
atoms
in our motivating example, states are RDF graphs
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 10 / 16
Oracles for RDF graphs
Definition (RDF data Oracle)
A state is an RDF graph G, i.e., a set of RDF triples of the form (s p o)
together with an OWL ontology. The data oracle (Od ) is defined such
that Od (G) |= (s p o) iff (s p o) ∈ Closure(G), where Closure(G) is the
closure of the graph under the ontology.
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 11 / 16
Oracles for RDF graphs
Definition (RDF data Oracle)
A state is an RDF graph G, i.e., a set of RDF triples of the form (s p o)
together with an OWL ontology. The data oracle (Od ) is defined such
that Od (G) |= (s p o) iff (s p o) ∈ Closure(G), where Closure(G) is the
closure of the graph under the ontology.
Definition (RDF transition Oracle)
Let g1 be an RDF graph, i.e., a set of RDF triples of the form (s p o).
Ot(D1, D2) |= g1.ins iff both statements are true:
D2 = D1 ∪ {(s p o) : (s p o) ∈ g1} and;
Ot(D1, D2) = {g1.ins} ∪ {o((s p o).ins) : (s p o) ∈
Closure(D2)Closure(D1)}
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 11 / 16
Oracles for RDF graphs
Definition (RDF data Oracle)
A state is an RDF graph G, i.e., a set of RDF triples of the form (s p o)
together with an OWL ontology. The data oracle (Od ) is defined such
that Od (G) |= (s p o) iff (s p o) ∈ Closure(G), where Closure(G) is the
closure of the graph under the ontology.
Definition (RDF transition Oracle)
Let g1 be an RDF graph, i.e., a set of RDF triples of the form (s p o).
Ot(D1, D2) |= g1.ins iff both statements are true:
D2 = D1 ∪ {(s p o) : (s p o) ∈ g1} and;
Ot(D1, D2) = {g1.ins} ∪ {o((s p o).ins) : (s p o) ∈
Closure(D2)Closure(D1)}
Ot(D1, D2) |= g1.del iff both statements are true:
D2 = D1 ∩ {(s p o) : (s p o) ∈ g1} and;
Ot(D1, D2) = {g1.del} ∪ {o((s p o).del) : (s p o) ∈
Closure(D1)Closure(D2)}
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 11 / 16
Example in T Rev
Application specific RDF data
ov : vehicle rdf : type owl : Class .
ov : motorVehicle rdfs : subClassOf ov : vehicle .
ov : lightVehicle rdfs : subClassOf ov : motorVehicle .
ov : heavyVehicle rdfs : subClassOf ov : vehicle .
ov : sensor rdf : type owl : Class .
ov : sensor1 rdf : type ov : sensor .
ov : sensor2 rdf : type ov : sensor .
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 12 / 16
Example in T Rev
Application specific RDF data
ov : vehicle rdf : type owl : Class .
ov : motorVehicle rdfs : subClassOf ov : vehicle .
ov : lightVehicle rdfs : subClassOf ov : motorVehicle .
ov : heavyVehicle rdfs : subClassOf ov : vehicle .
ov : sensor rdf : type owl : Class .
ov : sensor1 rdf : type ov : sensor .
ov : sensor2 rdf : type ov : sensor .
Definition of transactions
processViolation(P, DT, V) ← fineCost(V, Cost) ⊗ isDriver(P, D)⊗
fineIssued(P, D, DT, Cost).ins ⊗ notifyFine(P, D, DT, Cost)
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 12 / 16
Example in T Rev
Application specific RDF data
ov : vehicle rdf : type owl : Class .
ov : motorVehicle rdfs : subClassOf ov : vehicle .
ov : lightVehicle rdfs : subClassOf ov : motorVehicle .
ov : heavyVehicle rdfs : subClassOf ov : vehicle .
ov : sensor rdf : type owl : Class .
ov : sensor1 rdf : type ov : sensor .
ov : sensor2 rdf : type ov : sensor .
Definition of transactions
processViolation(P, DT, V) ← fineCost(V, Cost) ⊗ isDriver(P, D)⊗
fineIssued(P, D, DT, Cost).ins ⊗ notifyFine(P, D, DT, Cost)
notifyFine(P, D, DT, Cost) ← hasAddress(D, Addr)⊗
sendLetter(D, Addr, P, DT, Cost)
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 12 / 16
Example in T Rev
Event Detection
o(passingWrongWay(P, DT1)) ←
[o((Obs1 ov:plateRead P).ins)
∧ o((Obs1 ov:vehicleDetected motorVehicle).ins)
∧ o((Obs1 ov:dateTime DT1).ins) ∧ o((Obs1 ov:readBy sensor2).ins)]
⊗
[o((Obs2 ov:plateRead P).ins)
∧ o((Obs2 ov:vehicleDetected motorVehicle).ins)
∧ o((Obs2 ov:dateTime DT2).ins) ∧ o((Obs2 ov:readBy sensor1).ins))]
∧ (DT1 < DT2)
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 13 / 16
Example in T Rev
Event Detection
o(passingWrongWay(P, DT1)) ←
[o((Obs1 ov:plateRead P).ins)
∧ o((Obs1 ov:vehicleDetected motorVehicle).ins)
∧ o((Obs1 ov:dateTime DT1).ins) ∧ o((Obs1 ov:readBy sensor2).ins)]
⊗
[o((Obs2 ov:plateRead P).ins)
∧ o((Obs2 ov:vehicleDetected motorVehicle).ins)
∧ o((Obs2 ov:dateTime DT2).ins) ∧ o((Obs2 ov:readBy sensor1).ins))]
∧ (DT1 < DT2)
Event Response
r(passingWrongWay(P, DT)) ← processViolation(P, DT, wrongWay)
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 13 / 16
Example in T Rev
Usage
Prove statements of the form:
P, S1– |= (ov:obs1).ins ⊗ (ov:obs2).ins . . .
where S1 is the initial RDF graph and obsi are the RDF triples observed at
each moment.
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 14 / 16
Behaviour in a concrete situation
ov : obs1 rdf : type ov : Observation ;
ov : plateRead "01-01-AA" ;
ov : dateTime 1426325213000 ;
ov : vehicleDetected ov : heavyVehicle ;
ov : readBy ov : sensor1 .
ov : obs2 rdf : type ov : Observation ;
ov : plateRead "01-01-AA" ;
ov : dateTime 1426325213516 ;
ov : vehicleDetected ov : heavyVehicle ;
ov : readBy ov : sensor2 .
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 15 / 16
Behaviour in a concrete situation
ov : obs1 rdf : type ov : Observation ;
ov : plateRead "01-01-AA" ;
ov : dateTime 1426325213000 ;
ov : vehicleDetected ov : heavyVehicle ;
ov : readBy ov : sensor1 .
ov : obs2 rdf : type ov : Observation ;
ov : plateRead "01-01-AA" ;
ov : dateTime 1426325213516 ;
ov : vehicleDetected ov : heavyVehicle ;
ov : readBy ov : sensor2 .
Since, from the ontology, heavyVehicle vehicle,
o((ov:obs1 ov:vehicleDetected motorVehicle).ins) holds in the
same transition as o((ov:obs1).ins)
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 15 / 16
Behaviour in a concrete situation
ov : obs1 rdf : type ov : Observation ;
ov : plateRead "01-01-AA" ;
ov : dateTime 1426325213000 ;
ov : vehicleDetected ov : heavyVehicle ;
ov : readBy ov : sensor1 .
ov : obs2 rdf : type ov : Observation ;
ov : plateRead "01-01-AA" ;
ov : dateTime 1426325213516 ;
ov : vehicleDetected ov : heavyVehicle ;
ov : readBy ov : sensor2 .
Since, from the ontology, heavyVehicle vehicle,
o((ov:obs1 ov:vehicleDetected motorVehicle).ins) holds in the
same transition as o((ov:obs1).ins)
Similarly o((ov:obs2 ov:vehicleDetected motorVehicle).ins)
holds together with o((ov:obs1).ins)
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 15 / 16
Behaviour in a concrete situation
ov : obs1 rdf : type ov : Observation ;
ov : plateRead "01-01-AA" ;
ov : dateTime 1426325213000 ;
ov : vehicleDetected ov : heavyVehicle ;
ov : readBy ov : sensor1 .
ov : obs2 rdf : type ov : Observation ;
ov : plateRead "01-01-AA" ;
ov : dateTime 1426325213516 ;
ov : vehicleDetected ov : heavyVehicle ;
ov : readBy ov : sensor2 .
Since, from the ontology, heavyVehicle vehicle,
o((ov:obs1 ov:vehicleDetected motorVehicle).ins) holds in the
same transition as o((ov:obs1).ins)
Similarly o((ov:obs2 ov:vehicleDetected motorVehicle).ins)
holds together with o((ov:obs1).ins)
So, o(passingWrongWay("01-01-AA", 1426325213000) holds in the
same transition where actions (ov:obs1).ins ⊗ (ov:obs2).ins occur
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 15 / 16
Behaviour in a concrete situation
ov : obs1 rdf : type ov : Observation ;
ov : plateRead "01-01-AA" ;
ov : dateTime 1426325213000 ;
ov : vehicleDetected ov : heavyVehicle ;
ov : readBy ov : sensor1 .
ov : obs2 rdf : type ov : Observation ;
ov : plateRead "01-01-AA" ;
ov : dateTime 1426325213516 ;
ov : vehicleDetected ov : heavyVehicle ;
ov : readBy ov : sensor2 .
Since, from the ontology, heavyVehicle vehicle,
o((ov:obs1 ov:vehicleDetected motorVehicle).ins) holds in the
same transition as o((ov:obs1).ins)
Similarly o((ov:obs2 ov:vehicleDetected motorVehicle).ins)
holds together with o((ov:obs1).ins)
So, o(passingWrongWay("01-01-AA", 1426325213000) holds in the
same transition where actions (ov:obs1).ins ⊗ (ov:obs2).ins occur
Thus (ov:obs1).ins ⊗ (ov:obs2).ins only success in a path where the
driver of vehicle "01-01-AA" is fined and notified for the infraction of
passing the road in the wrong way
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 15 / 16
Conclusions
We proposed a set of oracle instantiations to make T Rev
useful for
domains involving sensor networks and Semantic Web technologies
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 16 / 16
Conclusions
We proposed a set of oracle instantiations to make T Rev
useful for
domains involving sensor networks and Semantic Web technologies
We’ve shown how T Rev
can be used to reason about what complex
events occur, and what transactions need to be executed to respond
to these events
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 16 / 16
Conclusions
We proposed a set of oracle instantiations to make T Rev
useful for
domains involving sensor networks and Semantic Web technologies
We’ve shown how T Rev
can be used to reason about what complex
events occur, and what transactions need to be executed to respond
to these events
As in stream reasoning, we can use the domain’s application
knowledge to reason about what complex events occur
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 16 / 16
Conclusions
We proposed a set of oracle instantiations to make T Rev
useful for
domains involving sensor networks and Semantic Web technologies
We’ve shown how T Rev
can be used to reason about what complex
events occur, and what transactions need to be executed to respond
to these events
As in stream reasoning, we can use the domain’s application
knowledge to reason about what complex events occur
All this is done by a single rule-based language, with a clearly defined
declarative semantics
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 16 / 16
Conclusions
We proposed a set of oracle instantiations to make T Rev
useful for
domains involving sensor networks and Semantic Web technologies
We’ve shown how T Rev
can be used to reason about what complex
events occur, and what transactions need to be executed to respond
to these events
As in stream reasoning, we can use the domain’s application
knowledge to reason about what complex events occur
All this is done by a single rule-based language, with a clearly defined
declarative semantics
The semantics is equipped with correct proof procedures that serve as
basis for implementations (cf. presentation this morning in RR)
Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 16 / 16

More Related Content

Viewers also liked

Iteration, induction, and recursion
Iteration, induction, and recursionIteration, induction, and recursion
Iteration, induction, and recursionMohammed Hussein
 
Math induction principle (slides)
Math induction principle (slides)Math induction principle (slides)
Math induction principle (slides)IIUM
 
Mathematical induction
Mathematical inductionMathematical induction
Mathematical inductionsonia -
 
Mathematical induction
Mathematical inductionMathematical induction
Mathematical inductionSman Abbasi
 
5.4 mathematical induction
5.4 mathematical induction5.4 mathematical induction
5.4 mathematical inductionmath260
 
Principle of mathematical induction
Principle of mathematical inductionPrinciple of mathematical induction
Principle of mathematical inductionKriti Varshney
 
mathematical induction
mathematical inductionmathematical induction
mathematical inductionankush_kumar
 

Viewers also liked (7)

Iteration, induction, and recursion
Iteration, induction, and recursionIteration, induction, and recursion
Iteration, induction, and recursion
 
Math induction principle (slides)
Math induction principle (slides)Math induction principle (slides)
Math induction principle (slides)
 
Mathematical induction
Mathematical inductionMathematical induction
Mathematical induction
 
Mathematical induction
Mathematical inductionMathematical induction
Mathematical induction
 
5.4 mathematical induction
5.4 mathematical induction5.4 mathematical induction
5.4 mathematical induction
 
Principle of mathematical induction
Principle of mathematical inductionPrinciple of mathematical induction
Principle of mathematical induction
 
mathematical induction
mathematical inductionmathematical induction
mathematical induction
 

Similar to RuleML2015: How to combine event stream reasoning with transactions for the Semantic Web

Chapter 1 organizing data vantage domain action and validity
Chapter 1  organizing data  vantage domain action and validityChapter 1  organizing data  vantage domain action and validity
Chapter 1 organizing data vantage domain action and validityPhu Nguyen
 
Forrester Wave - Big data streaming analytics platforms
Forrester Wave - Big data streaming analytics platformsForrester Wave - Big data streaming analytics platforms
Forrester Wave - Big data streaming analytics platformsIBM Software India
 
Challenging cop surveillance tech FL (pp, alpr, ssd)
Challenging cop surveillance tech FL (pp, alpr, ssd)Challenging cop surveillance tech FL (pp, alpr, ssd)
Challenging cop surveillance tech FL (pp, alpr, ssd)Stephanie Lacambra
 
Splunk for ITOps
Splunk for ITOpsSplunk for ITOps
Splunk for ITOpsSplunk
 
Enrico Turrin - ARROW - Luxembourg - 062013
Enrico Turrin - ARROW - Luxembourg - 062013Enrico Turrin - ARROW - Luxembourg - 062013
Enrico Turrin - ARROW - Luxembourg - 062013Europeana Licensing
 
Flow questions and answers
Flow questions and answersFlow questions and answers
Flow questions and answersProQSys
 
Body Cameras For Police Could Be One Smart-Step
Body Cameras For Police Could Be One Smart-StepBody Cameras For Police Could Be One Smart-Step
Body Cameras For Police Could Be One Smart-StepBrenda Thomas
 
Aaai 2011 event processing tutorial
Aaai 2011 event processing tutorialAaai 2011 event processing tutorial
Aaai 2011 event processing tutorialOpher Etzion
 
Story Tellers: Hartford Crime Analysis
Story Tellers: Hartford Crime AnalysisStory Tellers: Hartford Crime Analysis
Story Tellers: Hartford Crime AnalysisNeil Ryan
 
Why Use Open Source to Gain More Visibility into Network Monitoring
Why Use Open Source to Gain More Visibility into Network MonitoringWhy Use Open Source to Gain More Visibility into Network Monitoring
Why Use Open Source to Gain More Visibility into Network MonitoringDevOps.com
 
The Purpose Of An OSI Model
The Purpose Of An OSI ModelThe Purpose Of An OSI Model
The Purpose Of An OSI ModelKatie Parker
 
Approximation and Self-Organisation on the Web of Data
Approximation and Self-Organisation on the Web of DataApproximation and Self-Organisation on the Web of Data
Approximation and Self-Organisation on the Web of DataKathrin Dentler
 
Paul Davidson – Opening up public data to improve transparancy and efficiency
Paul Davidson – Opening up public data to improve transparancy and efficiencyPaul Davidson – Opening up public data to improve transparancy and efficiency
Paul Davidson – Opening up public data to improve transparancy and efficiencyCorvé Open Government Preconference 2010
 
A survey on Stack Path Identification and Encryption Adopted as Spoofing Defe...
A survey on Stack Path Identification and Encryption Adopted as Spoofing Defe...A survey on Stack Path Identification and Encryption Adopted as Spoofing Defe...
A survey on Stack Path Identification and Encryption Adopted as Spoofing Defe...IOSR Journals
 
Story_Tellers_Alteryx_Data_Challenge_V2
Story_Tellers_Alteryx_Data_Challenge_V2Story_Tellers_Alteryx_Data_Challenge_V2
Story_Tellers_Alteryx_Data_Challenge_V2Ashwin Chadaga
 
AppNeta: Challenges of Monitoring the Remote Office in the Hybrid-Cloud Era
AppNeta: Challenges of Monitoring the Remote Office in the Hybrid-Cloud EraAppNeta: Challenges of Monitoring the Remote Office in the Hybrid-Cloud Era
AppNeta: Challenges of Monitoring the Remote Office in the Hybrid-Cloud EraAppNeta
 
Free Printable Assignment Sheets For Students - Print
Free Printable Assignment Sheets For Students - PrintFree Printable Assignment Sheets For Students - Print
Free Printable Assignment Sheets For Students - PrintKatrina Banks
 

Similar to RuleML2015: How to combine event stream reasoning with transactions for the Semantic Web (20)

Chapter 1 organizing data vantage domain action and validity
Chapter 1  organizing data  vantage domain action and validityChapter 1  organizing data  vantage domain action and validity
Chapter 1 organizing data vantage domain action and validity
 
Forrester Wave - Big data streaming analytics platforms
Forrester Wave - Big data streaming analytics platformsForrester Wave - Big data streaming analytics platforms
Forrester Wave - Big data streaming analytics platforms
 
Challenging cop surveillance tech FL (pp, alpr, ssd)
Challenging cop surveillance tech FL (pp, alpr, ssd)Challenging cop surveillance tech FL (pp, alpr, ssd)
Challenging cop surveillance tech FL (pp, alpr, ssd)
 
Splunk for ITOps
Splunk for ITOpsSplunk for ITOps
Splunk for ITOps
 
Enrico Turrin - ARROW - Luxembourg - 062013
Enrico Turrin - ARROW - Luxembourg - 062013Enrico Turrin - ARROW - Luxembourg - 062013
Enrico Turrin - ARROW - Luxembourg - 062013
 
Flow questions and answers
Flow questions and answersFlow questions and answers
Flow questions and answers
 
Ecosystem Iot and trends slide share
Ecosystem Iot and trends slide shareEcosystem Iot and trends slide share
Ecosystem Iot and trends slide share
 
Body Cameras For Police Could Be One Smart-Step
Body Cameras For Police Could Be One Smart-StepBody Cameras For Police Could Be One Smart-Step
Body Cameras For Police Could Be One Smart-Step
 
Aaai 2011 event processing tutorial
Aaai 2011 event processing tutorialAaai 2011 event processing tutorial
Aaai 2011 event processing tutorial
 
sdReport
sdReportsdReport
sdReport
 
Story Tellers: Hartford Crime Analysis
Story Tellers: Hartford Crime AnalysisStory Tellers: Hartford Crime Analysis
Story Tellers: Hartford Crime Analysis
 
Why Use Open Source to Gain More Visibility into Network Monitoring
Why Use Open Source to Gain More Visibility into Network MonitoringWhy Use Open Source to Gain More Visibility into Network Monitoring
Why Use Open Source to Gain More Visibility into Network Monitoring
 
The Purpose Of An OSI Model
The Purpose Of An OSI ModelThe Purpose Of An OSI Model
The Purpose Of An OSI Model
 
Approximation and Self-Organisation on the Web of Data
Approximation and Self-Organisation on the Web of DataApproximation and Self-Organisation on the Web of Data
Approximation and Self-Organisation on the Web of Data
 
Paul Davidson – Opening up public data to improve transparancy and efficiency
Paul Davidson – Opening up public data to improve transparancy and efficiencyPaul Davidson – Opening up public data to improve transparancy and efficiency
Paul Davidson – Opening up public data to improve transparancy and efficiency
 
A survey on Stack Path Identification and Encryption Adopted as Spoofing Defe...
A survey on Stack Path Identification and Encryption Adopted as Spoofing Defe...A survey on Stack Path Identification and Encryption Adopted as Spoofing Defe...
A survey on Stack Path Identification and Encryption Adopted as Spoofing Defe...
 
Story_Tellers_Alteryx_Data_Challenge_V2
Story_Tellers_Alteryx_Data_Challenge_V2Story_Tellers_Alteryx_Data_Challenge_V2
Story_Tellers_Alteryx_Data_Challenge_V2
 
AppNeta: Challenges of Monitoring the Remote Office in the Hybrid-Cloud Era
AppNeta: Challenges of Monitoring the Remote Office in the Hybrid-Cloud EraAppNeta: Challenges of Monitoring the Remote Office in the Hybrid-Cloud Era
AppNeta: Challenges of Monitoring the Remote Office in the Hybrid-Cloud Era
 
Free Printable Assignment Sheets For Students - Print
Free Printable Assignment Sheets For Students - PrintFree Printable Assignment Sheets For Students - Print
Free Printable Assignment Sheets For Students - Print
 
Technology Ecosystem Iot and trends in AGVs
Technology Ecosystem Iot and trends in AGVsTechnology Ecosystem Iot and trends in AGVs
Technology Ecosystem Iot and trends in AGVs
 

More from RuleML

Aggregates in Recursion: Issues and Solutions
Aggregates in Recursion: Issues and SolutionsAggregates in Recursion: Issues and Solutions
Aggregates in Recursion: Issues and SolutionsRuleML
 
A software agent controlling 2 robot arms in co-operating concurrent tasks
A software agent controlling 2 robot arms in co-operating concurrent tasksA software agent controlling 2 robot arms in co-operating concurrent tasks
A software agent controlling 2 robot arms in co-operating concurrent tasksRuleML
 
Port Clearance Rules in PSOA RuleML: From Controlled-English Regulation to Ob...
Port Clearance Rules in PSOA RuleML: From Controlled-English Regulation to Ob...Port Clearance Rules in PSOA RuleML: From Controlled-English Regulation to Ob...
Port Clearance Rules in PSOA RuleML: From Controlled-English Regulation to Ob...RuleML
 
Challenge@RuleML2015 Developing Situation-Aware Applications for Disaster Man...
Challenge@RuleML2015 Developing Situation-Aware Applications for Disaster Man...Challenge@RuleML2015 Developing Situation-Aware Applications for Disaster Man...
Challenge@RuleML2015 Developing Situation-Aware Applications for Disaster Man...RuleML
 
Rule Generalization Strategies in Incremental Learning of Disjunctive Concepts
Rule Generalization Strategies in Incremental Learning of Disjunctive ConceptsRule Generalization Strategies in Incremental Learning of Disjunctive Concepts
Rule Generalization Strategies in Incremental Learning of Disjunctive ConceptsRuleML
 
RuleML 2015 Constraint Handling Rules - What Else?
RuleML 2015 Constraint Handling Rules - What Else?RuleML 2015 Constraint Handling Rules - What Else?
RuleML 2015 Constraint Handling Rules - What Else?RuleML
 
RuleML2015 The Herbrand Manifesto - Thinking Inside the Box
RuleML2015 The Herbrand Manifesto - Thinking Inside the Box RuleML2015 The Herbrand Manifesto - Thinking Inside the Box
RuleML2015 The Herbrand Manifesto - Thinking Inside the Box RuleML
 
RuleML2015 PSOA RuleML: Integrated Object-Relational Data and Rules
RuleML2015 PSOA RuleML: Integrated Object-Relational Data and RulesRuleML2015 PSOA RuleML: Integrated Object-Relational Data and Rules
RuleML2015 PSOA RuleML: Integrated Object-Relational Data and RulesRuleML
 
Industry@RuleML2015: Norwegian State of Estate A Reporting Service for the St...
Industry@RuleML2015: Norwegian State of Estate A Reporting Service for the St...Industry@RuleML2015: Norwegian State of Estate A Reporting Service for the St...
Industry@RuleML2015: Norwegian State of Estate A Reporting Service for the St...RuleML
 
A Service for Improving the Assignments of Common Agriculture Policy Funds to...
A Service for Improving the Assignments of Common Agriculture Policy Funds to...A Service for Improving the Assignments of Common Agriculture Policy Funds to...
A Service for Improving the Assignments of Common Agriculture Policy Funds to...RuleML
 
Datalog+-Track Introduction & Reasoning on UML Class Diagrams via Datalog+-
Datalog+-Track Introduction & Reasoning on UML Class Diagrams via Datalog+-Datalog+-Track Introduction & Reasoning on UML Class Diagrams via Datalog+-
Datalog+-Track Introduction & Reasoning on UML Class Diagrams via Datalog+-RuleML
 
RuleML2015: Binary Frontier-guarded ASP with Function Symbols
RuleML2015: Binary Frontier-guarded ASP with Function SymbolsRuleML2015: Binary Frontier-guarded ASP with Function Symbols
RuleML2015: Binary Frontier-guarded ASP with Function SymbolsRuleML
 
RuleML2015: API4KP Metamodel: A Meta-API for Heterogeneous Knowledge Platforms
RuleML2015: API4KP Metamodel: A Meta-API for Heterogeneous Knowledge PlatformsRuleML2015: API4KP Metamodel: A Meta-API for Heterogeneous Knowledge Platforms
RuleML2015: API4KP Metamodel: A Meta-API for Heterogeneous Knowledge PlatformsRuleML
 
RuleML2015: Rule-Based Exploration of Structured Data in the Browser
RuleML2015: Rule-Based Exploration of Structured Data in the BrowserRuleML2015: Rule-Based Exploration of Structured Data in the Browser
RuleML2015: Rule-Based Exploration of Structured Data in the BrowserRuleML
 
RuleML2015: Ontology-Based Multidimensional Contexts with Applications to Qua...
RuleML2015: Ontology-Based Multidimensional Contexts with Applications to Qua...RuleML2015: Ontology-Based Multidimensional Contexts with Applications to Qua...
RuleML2015: Ontology-Based Multidimensional Contexts with Applications to Qua...RuleML
 
RuleML2015: Compact representation of conditional probability for rule-based...
RuleML2015:  Compact representation of conditional probability for rule-based...RuleML2015:  Compact representation of conditional probability for rule-based...
RuleML2015: Compact representation of conditional probability for rule-based...RuleML
 
RuleML2015: Learning Characteristic Rules in Geographic Information Systems
RuleML2015: Learning Characteristic Rules in Geographic Information SystemsRuleML2015: Learning Characteristic Rules in Geographic Information Systems
RuleML2015: Learning Characteristic Rules in Geographic Information SystemsRuleML
 
RuleML2015: Using Substitutive Itemset Mining Framework for Finding Synonymou...
RuleML2015: Using Substitutive Itemset Mining Framework for Finding Synonymou...RuleML2015: Using Substitutive Itemset Mining Framework for Finding Synonymou...
RuleML2015: Using Substitutive Itemset Mining Framework for Finding Synonymou...RuleML
 
RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and...
RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and...RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and...
RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and...RuleML
 
RuleML2015: Representing Flexible Role-Based Access Control Policies Using Ob...
RuleML2015: Representing Flexible Role-Based Access Control Policies Using Ob...RuleML2015: Representing Flexible Role-Based Access Control Policies Using Ob...
RuleML2015: Representing Flexible Role-Based Access Control Policies Using Ob...RuleML
 

More from RuleML (20)

Aggregates in Recursion: Issues and Solutions
Aggregates in Recursion: Issues and SolutionsAggregates in Recursion: Issues and Solutions
Aggregates in Recursion: Issues and Solutions
 
A software agent controlling 2 robot arms in co-operating concurrent tasks
A software agent controlling 2 robot arms in co-operating concurrent tasksA software agent controlling 2 robot arms in co-operating concurrent tasks
A software agent controlling 2 robot arms in co-operating concurrent tasks
 
Port Clearance Rules in PSOA RuleML: From Controlled-English Regulation to Ob...
Port Clearance Rules in PSOA RuleML: From Controlled-English Regulation to Ob...Port Clearance Rules in PSOA RuleML: From Controlled-English Regulation to Ob...
Port Clearance Rules in PSOA RuleML: From Controlled-English Regulation to Ob...
 
Challenge@RuleML2015 Developing Situation-Aware Applications for Disaster Man...
Challenge@RuleML2015 Developing Situation-Aware Applications for Disaster Man...Challenge@RuleML2015 Developing Situation-Aware Applications for Disaster Man...
Challenge@RuleML2015 Developing Situation-Aware Applications for Disaster Man...
 
Rule Generalization Strategies in Incremental Learning of Disjunctive Concepts
Rule Generalization Strategies in Incremental Learning of Disjunctive ConceptsRule Generalization Strategies in Incremental Learning of Disjunctive Concepts
Rule Generalization Strategies in Incremental Learning of Disjunctive Concepts
 
RuleML 2015 Constraint Handling Rules - What Else?
RuleML 2015 Constraint Handling Rules - What Else?RuleML 2015 Constraint Handling Rules - What Else?
RuleML 2015 Constraint Handling Rules - What Else?
 
RuleML2015 The Herbrand Manifesto - Thinking Inside the Box
RuleML2015 The Herbrand Manifesto - Thinking Inside the Box RuleML2015 The Herbrand Manifesto - Thinking Inside the Box
RuleML2015 The Herbrand Manifesto - Thinking Inside the Box
 
RuleML2015 PSOA RuleML: Integrated Object-Relational Data and Rules
RuleML2015 PSOA RuleML: Integrated Object-Relational Data and RulesRuleML2015 PSOA RuleML: Integrated Object-Relational Data and Rules
RuleML2015 PSOA RuleML: Integrated Object-Relational Data and Rules
 
Industry@RuleML2015: Norwegian State of Estate A Reporting Service for the St...
Industry@RuleML2015: Norwegian State of Estate A Reporting Service for the St...Industry@RuleML2015: Norwegian State of Estate A Reporting Service for the St...
Industry@RuleML2015: Norwegian State of Estate A Reporting Service for the St...
 
A Service for Improving the Assignments of Common Agriculture Policy Funds to...
A Service for Improving the Assignments of Common Agriculture Policy Funds to...A Service for Improving the Assignments of Common Agriculture Policy Funds to...
A Service for Improving the Assignments of Common Agriculture Policy Funds to...
 
Datalog+-Track Introduction & Reasoning on UML Class Diagrams via Datalog+-
Datalog+-Track Introduction & Reasoning on UML Class Diagrams via Datalog+-Datalog+-Track Introduction & Reasoning on UML Class Diagrams via Datalog+-
Datalog+-Track Introduction & Reasoning on UML Class Diagrams via Datalog+-
 
RuleML2015: Binary Frontier-guarded ASP with Function Symbols
RuleML2015: Binary Frontier-guarded ASP with Function SymbolsRuleML2015: Binary Frontier-guarded ASP with Function Symbols
RuleML2015: Binary Frontier-guarded ASP with Function Symbols
 
RuleML2015: API4KP Metamodel: A Meta-API for Heterogeneous Knowledge Platforms
RuleML2015: API4KP Metamodel: A Meta-API for Heterogeneous Knowledge PlatformsRuleML2015: API4KP Metamodel: A Meta-API for Heterogeneous Knowledge Platforms
RuleML2015: API4KP Metamodel: A Meta-API for Heterogeneous Knowledge Platforms
 
RuleML2015: Rule-Based Exploration of Structured Data in the Browser
RuleML2015: Rule-Based Exploration of Structured Data in the BrowserRuleML2015: Rule-Based Exploration of Structured Data in the Browser
RuleML2015: Rule-Based Exploration of Structured Data in the Browser
 
RuleML2015: Ontology-Based Multidimensional Contexts with Applications to Qua...
RuleML2015: Ontology-Based Multidimensional Contexts with Applications to Qua...RuleML2015: Ontology-Based Multidimensional Contexts with Applications to Qua...
RuleML2015: Ontology-Based Multidimensional Contexts with Applications to Qua...
 
RuleML2015: Compact representation of conditional probability for rule-based...
RuleML2015:  Compact representation of conditional probability for rule-based...RuleML2015:  Compact representation of conditional probability for rule-based...
RuleML2015: Compact representation of conditional probability for rule-based...
 
RuleML2015: Learning Characteristic Rules in Geographic Information Systems
RuleML2015: Learning Characteristic Rules in Geographic Information SystemsRuleML2015: Learning Characteristic Rules in Geographic Information Systems
RuleML2015: Learning Characteristic Rules in Geographic Information Systems
 
RuleML2015: Using Substitutive Itemset Mining Framework for Finding Synonymou...
RuleML2015: Using Substitutive Itemset Mining Framework for Finding Synonymou...RuleML2015: Using Substitutive Itemset Mining Framework for Finding Synonymou...
RuleML2015: Using Substitutive Itemset Mining Framework for Finding Synonymou...
 
RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and...
RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and...RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and...
RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and...
 
RuleML2015: Representing Flexible Role-Based Access Control Policies Using Ob...
RuleML2015: Representing Flexible Role-Based Access Control Policies Using Ob...RuleML2015: Representing Flexible Role-Based Access Control Policies Using Ob...
RuleML2015: Representing Flexible Role-Based Access Control Policies Using Ob...
 

Recently uploaded

GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry
GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry
GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry Areesha Ahmad
 
Zoology 5th semester notes( Sumit_yadav).pdf
Zoology 5th semester notes( Sumit_yadav).pdfZoology 5th semester notes( Sumit_yadav).pdf
Zoology 5th semester notes( Sumit_yadav).pdfSumit Kumar yadav
 
Use of mutants in understanding seedling development.pptx
Use of mutants in understanding seedling development.pptxUse of mutants in understanding seedling development.pptx
Use of mutants in understanding seedling development.pptxRenuJangid3
 
Bhiwandi Bhiwandi ❤CALL GIRL 7870993772 ❤CALL GIRLS ESCORT SERVICE In Bhiwan...
Bhiwandi Bhiwandi ❤CALL GIRL 7870993772 ❤CALL GIRLS  ESCORT SERVICE In Bhiwan...Bhiwandi Bhiwandi ❤CALL GIRL 7870993772 ❤CALL GIRLS  ESCORT SERVICE In Bhiwan...
Bhiwandi Bhiwandi ❤CALL GIRL 7870993772 ❤CALL GIRLS ESCORT SERVICE In Bhiwan...Monika Rani
 
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....muralinath2
 
FAIRSpectra - Enabling the FAIRification of Analytical Science
FAIRSpectra - Enabling the FAIRification of Analytical ScienceFAIRSpectra - Enabling the FAIRification of Analytical Science
FAIRSpectra - Enabling the FAIRification of Analytical ScienceAlex Henderson
 
Selaginella: features, morphology ,anatomy and reproduction.
Selaginella: features, morphology ,anatomy and reproduction.Selaginella: features, morphology ,anatomy and reproduction.
Selaginella: features, morphology ,anatomy and reproduction.Silpa
 
Thyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate ProfessorThyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate Professormuralinath2
 
Human genetics..........................pptx
Human genetics..........................pptxHuman genetics..........................pptx
Human genetics..........................pptxSilpa
 
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryFAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryAlex Henderson
 
module for grade 9 for distance learning
module for grade 9 for distance learningmodule for grade 9 for distance learning
module for grade 9 for distance learninglevieagacer
 
PSYCHOSOCIAL NEEDS. in nursing II sem pptx
PSYCHOSOCIAL NEEDS. in nursing II sem pptxPSYCHOSOCIAL NEEDS. in nursing II sem pptx
PSYCHOSOCIAL NEEDS. in nursing II sem pptxSuji236384
 
Reboulia: features, anatomy, morphology etc.
Reboulia: features, anatomy, morphology etc.Reboulia: features, anatomy, morphology etc.
Reboulia: features, anatomy, morphology etc.Silpa
 
POGONATUM : morphology, anatomy, reproduction etc.
POGONATUM : morphology, anatomy, reproduction etc.POGONATUM : morphology, anatomy, reproduction etc.
POGONATUM : morphology, anatomy, reproduction etc.Silpa
 
Grade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its FunctionsGrade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its FunctionsOrtegaSyrineMay
 
development of diagnostic enzyme assay to detect leuser virus
development of diagnostic enzyme assay to detect leuser virusdevelopment of diagnostic enzyme assay to detect leuser virus
development of diagnostic enzyme assay to detect leuser virusNazaninKarimi6
 
CYTOGENETIC MAP................ ppt.pptx
CYTOGENETIC MAP................ ppt.pptxCYTOGENETIC MAP................ ppt.pptx
CYTOGENETIC MAP................ ppt.pptxSilpa
 
Role of AI in seed science Predictive modelling and Beyond.pptx
Role of AI in seed science  Predictive modelling and  Beyond.pptxRole of AI in seed science  Predictive modelling and  Beyond.pptx
Role of AI in seed science Predictive modelling and Beyond.pptxArvind Kumar
 

Recently uploaded (20)

GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry
GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry
GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry
 
Zoology 5th semester notes( Sumit_yadav).pdf
Zoology 5th semester notes( Sumit_yadav).pdfZoology 5th semester notes( Sumit_yadav).pdf
Zoology 5th semester notes( Sumit_yadav).pdf
 
PATNA CALL GIRLS 8617370543 LOW PRICE ESCORT SERVICE
PATNA CALL GIRLS 8617370543 LOW PRICE ESCORT SERVICEPATNA CALL GIRLS 8617370543 LOW PRICE ESCORT SERVICE
PATNA CALL GIRLS 8617370543 LOW PRICE ESCORT SERVICE
 
Use of mutants in understanding seedling development.pptx
Use of mutants in understanding seedling development.pptxUse of mutants in understanding seedling development.pptx
Use of mutants in understanding seedling development.pptx
 
Bhiwandi Bhiwandi ❤CALL GIRL 7870993772 ❤CALL GIRLS ESCORT SERVICE In Bhiwan...
Bhiwandi Bhiwandi ❤CALL GIRL 7870993772 ❤CALL GIRLS  ESCORT SERVICE In Bhiwan...Bhiwandi Bhiwandi ❤CALL GIRL 7870993772 ❤CALL GIRLS  ESCORT SERVICE In Bhiwan...
Bhiwandi Bhiwandi ❤CALL GIRL 7870993772 ❤CALL GIRLS ESCORT SERVICE In Bhiwan...
 
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....
 
FAIRSpectra - Enabling the FAIRification of Analytical Science
FAIRSpectra - Enabling the FAIRification of Analytical ScienceFAIRSpectra - Enabling the FAIRification of Analytical Science
FAIRSpectra - Enabling the FAIRification of Analytical Science
 
Selaginella: features, morphology ,anatomy and reproduction.
Selaginella: features, morphology ,anatomy and reproduction.Selaginella: features, morphology ,anatomy and reproduction.
Selaginella: features, morphology ,anatomy and reproduction.
 
Thyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate ProfessorThyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate Professor
 
Human genetics..........................pptx
Human genetics..........................pptxHuman genetics..........................pptx
Human genetics..........................pptx
 
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryFAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
 
module for grade 9 for distance learning
module for grade 9 for distance learningmodule for grade 9 for distance learning
module for grade 9 for distance learning
 
PSYCHOSOCIAL NEEDS. in nursing II sem pptx
PSYCHOSOCIAL NEEDS. in nursing II sem pptxPSYCHOSOCIAL NEEDS. in nursing II sem pptx
PSYCHOSOCIAL NEEDS. in nursing II sem pptx
 
Reboulia: features, anatomy, morphology etc.
Reboulia: features, anatomy, morphology etc.Reboulia: features, anatomy, morphology etc.
Reboulia: features, anatomy, morphology etc.
 
POGONATUM : morphology, anatomy, reproduction etc.
POGONATUM : morphology, anatomy, reproduction etc.POGONATUM : morphology, anatomy, reproduction etc.
POGONATUM : morphology, anatomy, reproduction etc.
 
Grade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its FunctionsGrade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its Functions
 
development of diagnostic enzyme assay to detect leuser virus
development of diagnostic enzyme assay to detect leuser virusdevelopment of diagnostic enzyme assay to detect leuser virus
development of diagnostic enzyme assay to detect leuser virus
 
CYTOGENETIC MAP................ ppt.pptx
CYTOGENETIC MAP................ ppt.pptxCYTOGENETIC MAP................ ppt.pptx
CYTOGENETIC MAP................ ppt.pptx
 
Role of AI in seed science Predictive modelling and Beyond.pptx
Role of AI in seed science  Predictive modelling and  Beyond.pptxRole of AI in seed science  Predictive modelling and  Beyond.pptx
Role of AI in seed science Predictive modelling and Beyond.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

RuleML2015: How to combine event stream reasoning with transactions for the Semantic Web

  • 1. How to combine event stream reasoning with transactions for the Semantic Web Ana Sofia Gomes and Jos´e J´ulio Alferes NOVA LINCS, Universidade NOVA de Lisboa, August 5, 2015 Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 1 / 16
  • 2. Example: Acting upon traffic violations Consider a scenario where the police wants to monitor, detect and act upon traffic violations based on a sensor network deployed in roads A sensor in such a network can identify plates of vehicles and distinguish between types of vehicles Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 2 / 16
  • 3. Example: Acting upon traffic violations Consider a scenario where the police wants to monitor, detect and act upon traffic violations based on a sensor network deployed in roads A sensor in such a network can identify plates of vehicles and distinguish between types of vehicles Based on the information that is published by sensors, and information about vehicles, the system must reason about what vehicles are indulging in traffic violations Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 2 / 16
  • 4. Example: Acting upon traffic violations Consider a scenario where the police wants to monitor, detect and act upon traffic violations based on a sensor network deployed in roads A sensor in such a network can identify plates of vehicles and distinguish between types of vehicles Based on the information that is published by sensors, and information about vehicles, the system must reason about what vehicles are indulging in traffic violations For vehicles found to be violating traffic rules, the system must issue fines and notify the corresponding drivers Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 2 / 16
  • 5. Required Ingredients The sensor network (of course!) Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
  • 6. Required Ingredients The sensor network (of course!) Data published by the sensors in some processable way Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
  • 7. Required Ingredients The sensor network (of course!) Data published by the sensors in some processable way Combining data from different types of sensors, for interoperability Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
  • 8. Required Ingredients The sensor network (of course!) Data published by the sensors in some processable way Combining data from different types of sensors, for interoperability Detecting complex events, based on atomic data from sensors Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
  • 9. Required Ingredients The sensor network (of course!) Data published by the sensors in some processable way Combining data from different types of sensors, for interoperability Detecting complex events, based on atomic data from sensors Reasoning with sensor data together with data about vehicles, vehicles types, kinds of violations, etc Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
  • 10. Required Ingredients The sensor network (of course!) Data published by the sensors in some processable way Combining data from different types of sensors, for interoperability Detecting complex events, based on atomic data from sensors Reasoning with sensor data together with data about vehicles, vehicles types, kinds of violations, etc Expressing rules describing how to act upon the detection of traffic violations Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
  • 11. Required Ingredients The sensor network (of course!) Data published by the sensors in some processable way E.g. publish data in RDF Combining data from different types of sensors, for interoperability Detecting complex events, based on atomic data from sensors Reasoning with sensor data together with data about vehicles, vehicles types, kinds of violations, etc Expressing rules describing how to act upon the detection of traffic violations Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
  • 12. Required Ingredients The sensor network (of course!) Data published by the sensors in some processable way E.g. publish data in RDF Combining data from different types of sensors, for interoperability Semantic Sensor Web ontologies Detecting complex events, based on atomic data from sensors Reasoning with sensor data together with data about vehicles, vehicles types, kinds of violations, etc Expressing rules describing how to act upon the detection of traffic violations Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
  • 13. Required Ingredients The sensor network (of course!) Data published by the sensors in some processable way E.g. publish data in RDF Combining data from different types of sensors, for interoperability Semantic Sensor Web ontologies Detecting complex events, based on atomic data from sensors Complex event detection languages Reasoning with sensor data together with data about vehicles, vehicles types, kinds of violations, etc Expressing rules describing how to act upon the detection of traffic violations Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
  • 14. Required Ingredients The sensor network (of course!) Data published by the sensors in some processable way E.g. publish data in RDF Combining data from different types of sensors, for interoperability Semantic Sensor Web ontologies Detecting complex events, based on atomic data from sensors Complex event detection languages Reasoning with sensor data together with data about vehicles, vehicles types, kinds of violations, etc Ontologies (e.g. in OWL) Expressing rules describing how to act upon the detection of traffic violations Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
  • 15. Required Ingredients The sensor network (of course!) Data published by the sensors in some processable way E.g. publish data in RDF Combining data from different types of sensors, for interoperability Semantic Sensor Web ontologies Detecting complex events, based on atomic data from sensors Complex event detection languages Reasoning with sensor data together with data about vehicles, vehicles types, kinds of violations, etc Ontologies (e.g. in OWL) Expressing rules describing how to act upon the detection of traffic violations Event-Condition-Action rules Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 3 / 16
  • 16. Reactivity Reactivity: the ability to detect and react to changes On event if condition then action Basic Premisses Events can be complex Actions can be complex Events need to be handled as soon as possible Actions may trigger events and indirectly execute other actions Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 4 / 16
  • 17. Reactivity Reactivity: the ability to detect and react to changes On event if condition then action Basic Premisses Events can be complex Actions can be complex Events need to be handled as soon as possible Actions may trigger events and indirectly execute other actions Actions can be defined as a transaction In our example, issuing a fine and notifying the driver must be defined as a transaction it can never be the case that the fine is issued and the driver is not notified, nor vice-versa Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 4 / 16
  • 18. Our goal Goal Combine in a declarative, rule-based language all the above described requirements: detection of complex events combining events with ontological data definition of reactive rules ability to define transactions Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 5 / 16
  • 19. Our goal Goal Combine in a declarative, rule-based language all the above described requirements: detection of complex events combining events with ontological data definition of reactive rules ability to define transactions We do this based on an extension of Transaction Logic, called T Rev Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 5 / 16
  • 20. Transaction Logic Abstract logic to reason about how a transaction executes Evaluates complex formulas over paths P, D1, . . . , Dn |= φ φ can execute transactionally in program P, over the path D1, . . . , Dn φ causes the Knowledge Base to evolve from state D1 into state Dn Finds the paths where formulas can execute transactionally Transactions and states are abstract T R can use several different semantics of state change Reasoning about what primitives are true in a state, and state transitions is outsourced to Oracles Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 6 / 16
  • 21. Transaction Logic Can reason about transactions Can also reason about complex events reason about what events have become true in a path P, D1, . . . , Dn |= φ φ occurs over the path D1, . . . , Dn (almost) as expressible as SNOOP’s event algebra (more details in the paper) What is Missing? Reactivity: the ability to reason and react to events T R can reason about transactions and events individually, but not with both simultaneously Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 7 / 16
  • 22. Transaction Logic with Events (T Rev ) Extends T R with the ability to detect and react to complex events Key Concepts formulas are partitioned into transactions and events transaction formulas depend on what event formulas are true transactions only succeed on paths where all events are responded as a transaction Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 8 / 16
  • 23. Transaction Logic with Events (T Rev ) Extends T R with the ability to detect and react to complex events Key Concepts formulas are partitioned into transactions and events transaction formulas depend on what event formulas are true transactions only succeed on paths where all events are responded as a transaction if an event is triggered during a transaction, the transaction is expanded with the event response if the event formula o(e) is true on a path π, then this path needs to be expanded with the execution of the transaction r(e) non-monotonic behavior Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 8 / 16
  • 24. Example p ← a.ins ⊗ b.ins {a} r(e1) {} a.ins o(a.ins) {a, b} {a, b, c} c.inso(e1) o(b.ins) o(c.ins) {a}{} a.ins p o(a.ins) {a, b} o(b.ins) b.ins Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 9 / 16
  • 25. Example p ← a.ins ⊗ b.ins {a} r(e1) {} a.ins o(a.ins) {a, b} {a, b, c} c.inso(e1) o(b.ins) o(c.ins) {a}{} a.ins p o(a.ins) {a, b} o(b.ins) b.ins p ← a.ins ⊗ b.ins r(e1) ← c.ins o(e1) ← o(b.ins) Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 9 / 16
  • 26. Example p ← a.ins ⊗ b.ins {a} r(e1) {} a.ins o(a.ins) {a, b} {a, b, c} c.inso(e1) o(b.ins) o(c.ins) {a}{} a.ins p o(a.ins) {a, b} o(b.ins) b.ins p ← a.ins ⊗ b.ins r(e1) ← c.ins o(e1) ← o(b.ins) {a} r(e1) {} a.ins p o(a.ins) {a, b} {a, b, c} c.inso(e1) o(b.ins) o(c.ins) b.ins {a}{} a.ins o(a.ins) { o(e1) o(b.ins) b.ins Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 9 / 16
  • 27. Interpretations and states Definition (Interpretation) An interpretation M is a mapping assigning a set of atoms to every possible path, with the restrictions (where Di s are states, and ϕ an atom): ϕ ∈ M( D ) if ϕ ∈ Od (D) {ϕ, o(ϕ)} ⊆ M( D1 o(ϕ)→D2 ) if ϕ ∈ Ot(D1, D2) ∧ ϕ ∈ POa o(ϕ) ∈ M( D1 o(ϕ)→D2 ) if o(ϕ) ∈ Ot(D1, D2) ∧ o(ϕ) ∈ POe o(e) ∈ M( D o(e)→D ) Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 10 / 16
  • 28. Interpretations and states Definition (Interpretation) An interpretation M is a mapping assigning a set of atoms to every possible path, with the restrictions (where Di s are states, and ϕ an atom): ϕ ∈ M( D ) if ϕ ∈ Od (D) {ϕ, o(ϕ)} ⊆ M( D1 o(ϕ)→D2 ) if ϕ ∈ Ot(D1, D2) ∧ ϕ ∈ POa o(ϕ) ∈ M( D1 o(ϕ)→D2 ) if o(ϕ) ∈ Ot(D1, D2) ∧ o(ϕ) ∈ POe o(e) ∈ M( D o(e)→D ) The definition of states depends on the application at hands, and their meaning is formalised by the oracles Od and Ot in the examples of the previous slide, states Di are simply sets of atoms in our motivating example, states are RDF graphs Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 10 / 16
  • 29. Oracles for RDF graphs Definition (RDF data Oracle) A state is an RDF graph G, i.e., a set of RDF triples of the form (s p o) together with an OWL ontology. The data oracle (Od ) is defined such that Od (G) |= (s p o) iff (s p o) ∈ Closure(G), where Closure(G) is the closure of the graph under the ontology. Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 11 / 16
  • 30. Oracles for RDF graphs Definition (RDF data Oracle) A state is an RDF graph G, i.e., a set of RDF triples of the form (s p o) together with an OWL ontology. The data oracle (Od ) is defined such that Od (G) |= (s p o) iff (s p o) ∈ Closure(G), where Closure(G) is the closure of the graph under the ontology. Definition (RDF transition Oracle) Let g1 be an RDF graph, i.e., a set of RDF triples of the form (s p o). Ot(D1, D2) |= g1.ins iff both statements are true: D2 = D1 ∪ {(s p o) : (s p o) ∈ g1} and; Ot(D1, D2) = {g1.ins} ∪ {o((s p o).ins) : (s p o) ∈ Closure(D2)Closure(D1)} Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 11 / 16
  • 31. Oracles for RDF graphs Definition (RDF data Oracle) A state is an RDF graph G, i.e., a set of RDF triples of the form (s p o) together with an OWL ontology. The data oracle (Od ) is defined such that Od (G) |= (s p o) iff (s p o) ∈ Closure(G), where Closure(G) is the closure of the graph under the ontology. Definition (RDF transition Oracle) Let g1 be an RDF graph, i.e., a set of RDF triples of the form (s p o). Ot(D1, D2) |= g1.ins iff both statements are true: D2 = D1 ∪ {(s p o) : (s p o) ∈ g1} and; Ot(D1, D2) = {g1.ins} ∪ {o((s p o).ins) : (s p o) ∈ Closure(D2)Closure(D1)} Ot(D1, D2) |= g1.del iff both statements are true: D2 = D1 ∩ {(s p o) : (s p o) ∈ g1} and; Ot(D1, D2) = {g1.del} ∪ {o((s p o).del) : (s p o) ∈ Closure(D1)Closure(D2)} Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 11 / 16
  • 32. Example in T Rev Application specific RDF data ov : vehicle rdf : type owl : Class . ov : motorVehicle rdfs : subClassOf ov : vehicle . ov : lightVehicle rdfs : subClassOf ov : motorVehicle . ov : heavyVehicle rdfs : subClassOf ov : vehicle . ov : sensor rdf : type owl : Class . ov : sensor1 rdf : type ov : sensor . ov : sensor2 rdf : type ov : sensor . Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 12 / 16
  • 33. Example in T Rev Application specific RDF data ov : vehicle rdf : type owl : Class . ov : motorVehicle rdfs : subClassOf ov : vehicle . ov : lightVehicle rdfs : subClassOf ov : motorVehicle . ov : heavyVehicle rdfs : subClassOf ov : vehicle . ov : sensor rdf : type owl : Class . ov : sensor1 rdf : type ov : sensor . ov : sensor2 rdf : type ov : sensor . Definition of transactions processViolation(P, DT, V) ← fineCost(V, Cost) ⊗ isDriver(P, D)⊗ fineIssued(P, D, DT, Cost).ins ⊗ notifyFine(P, D, DT, Cost) Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 12 / 16
  • 34. Example in T Rev Application specific RDF data ov : vehicle rdf : type owl : Class . ov : motorVehicle rdfs : subClassOf ov : vehicle . ov : lightVehicle rdfs : subClassOf ov : motorVehicle . ov : heavyVehicle rdfs : subClassOf ov : vehicle . ov : sensor rdf : type owl : Class . ov : sensor1 rdf : type ov : sensor . ov : sensor2 rdf : type ov : sensor . Definition of transactions processViolation(P, DT, V) ← fineCost(V, Cost) ⊗ isDriver(P, D)⊗ fineIssued(P, D, DT, Cost).ins ⊗ notifyFine(P, D, DT, Cost) notifyFine(P, D, DT, Cost) ← hasAddress(D, Addr)⊗ sendLetter(D, Addr, P, DT, Cost) Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 12 / 16
  • 35. Example in T Rev Event Detection o(passingWrongWay(P, DT1)) ← [o((Obs1 ov:plateRead P).ins) ∧ o((Obs1 ov:vehicleDetected motorVehicle).ins) ∧ o((Obs1 ov:dateTime DT1).ins) ∧ o((Obs1 ov:readBy sensor2).ins)] ⊗ [o((Obs2 ov:plateRead P).ins) ∧ o((Obs2 ov:vehicleDetected motorVehicle).ins) ∧ o((Obs2 ov:dateTime DT2).ins) ∧ o((Obs2 ov:readBy sensor1).ins))] ∧ (DT1 < DT2) Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 13 / 16
  • 36. Example in T Rev Event Detection o(passingWrongWay(P, DT1)) ← [o((Obs1 ov:plateRead P).ins) ∧ o((Obs1 ov:vehicleDetected motorVehicle).ins) ∧ o((Obs1 ov:dateTime DT1).ins) ∧ o((Obs1 ov:readBy sensor2).ins)] ⊗ [o((Obs2 ov:plateRead P).ins) ∧ o((Obs2 ov:vehicleDetected motorVehicle).ins) ∧ o((Obs2 ov:dateTime DT2).ins) ∧ o((Obs2 ov:readBy sensor1).ins))] ∧ (DT1 < DT2) Event Response r(passingWrongWay(P, DT)) ← processViolation(P, DT, wrongWay) Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 13 / 16
  • 37. Example in T Rev Usage Prove statements of the form: P, S1– |= (ov:obs1).ins ⊗ (ov:obs2).ins . . . where S1 is the initial RDF graph and obsi are the RDF triples observed at each moment. Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 14 / 16
  • 38. Behaviour in a concrete situation ov : obs1 rdf : type ov : Observation ; ov : plateRead "01-01-AA" ; ov : dateTime 1426325213000 ; ov : vehicleDetected ov : heavyVehicle ; ov : readBy ov : sensor1 . ov : obs2 rdf : type ov : Observation ; ov : plateRead "01-01-AA" ; ov : dateTime 1426325213516 ; ov : vehicleDetected ov : heavyVehicle ; ov : readBy ov : sensor2 . Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 15 / 16
  • 39. Behaviour in a concrete situation ov : obs1 rdf : type ov : Observation ; ov : plateRead "01-01-AA" ; ov : dateTime 1426325213000 ; ov : vehicleDetected ov : heavyVehicle ; ov : readBy ov : sensor1 . ov : obs2 rdf : type ov : Observation ; ov : plateRead "01-01-AA" ; ov : dateTime 1426325213516 ; ov : vehicleDetected ov : heavyVehicle ; ov : readBy ov : sensor2 . Since, from the ontology, heavyVehicle vehicle, o((ov:obs1 ov:vehicleDetected motorVehicle).ins) holds in the same transition as o((ov:obs1).ins) Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 15 / 16
  • 40. Behaviour in a concrete situation ov : obs1 rdf : type ov : Observation ; ov : plateRead "01-01-AA" ; ov : dateTime 1426325213000 ; ov : vehicleDetected ov : heavyVehicle ; ov : readBy ov : sensor1 . ov : obs2 rdf : type ov : Observation ; ov : plateRead "01-01-AA" ; ov : dateTime 1426325213516 ; ov : vehicleDetected ov : heavyVehicle ; ov : readBy ov : sensor2 . Since, from the ontology, heavyVehicle vehicle, o((ov:obs1 ov:vehicleDetected motorVehicle).ins) holds in the same transition as o((ov:obs1).ins) Similarly o((ov:obs2 ov:vehicleDetected motorVehicle).ins) holds together with o((ov:obs1).ins) Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 15 / 16
  • 41. Behaviour in a concrete situation ov : obs1 rdf : type ov : Observation ; ov : plateRead "01-01-AA" ; ov : dateTime 1426325213000 ; ov : vehicleDetected ov : heavyVehicle ; ov : readBy ov : sensor1 . ov : obs2 rdf : type ov : Observation ; ov : plateRead "01-01-AA" ; ov : dateTime 1426325213516 ; ov : vehicleDetected ov : heavyVehicle ; ov : readBy ov : sensor2 . Since, from the ontology, heavyVehicle vehicle, o((ov:obs1 ov:vehicleDetected motorVehicle).ins) holds in the same transition as o((ov:obs1).ins) Similarly o((ov:obs2 ov:vehicleDetected motorVehicle).ins) holds together with o((ov:obs1).ins) So, o(passingWrongWay("01-01-AA", 1426325213000) holds in the same transition where actions (ov:obs1).ins ⊗ (ov:obs2).ins occur Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 15 / 16
  • 42. Behaviour in a concrete situation ov : obs1 rdf : type ov : Observation ; ov : plateRead "01-01-AA" ; ov : dateTime 1426325213000 ; ov : vehicleDetected ov : heavyVehicle ; ov : readBy ov : sensor1 . ov : obs2 rdf : type ov : Observation ; ov : plateRead "01-01-AA" ; ov : dateTime 1426325213516 ; ov : vehicleDetected ov : heavyVehicle ; ov : readBy ov : sensor2 . Since, from the ontology, heavyVehicle vehicle, o((ov:obs1 ov:vehicleDetected motorVehicle).ins) holds in the same transition as o((ov:obs1).ins) Similarly o((ov:obs2 ov:vehicleDetected motorVehicle).ins) holds together with o((ov:obs1).ins) So, o(passingWrongWay("01-01-AA", 1426325213000) holds in the same transition where actions (ov:obs1).ins ⊗ (ov:obs2).ins occur Thus (ov:obs1).ins ⊗ (ov:obs2).ins only success in a path where the driver of vehicle "01-01-AA" is fined and notified for the infraction of passing the road in the wrong way Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 15 / 16
  • 43. Conclusions We proposed a set of oracle instantiations to make T Rev useful for domains involving sensor networks and Semantic Web technologies Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 16 / 16
  • 44. Conclusions We proposed a set of oracle instantiations to make T Rev useful for domains involving sensor networks and Semantic Web technologies We’ve shown how T Rev can be used to reason about what complex events occur, and what transactions need to be executed to respond to these events Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 16 / 16
  • 45. Conclusions We proposed a set of oracle instantiations to make T Rev useful for domains involving sensor networks and Semantic Web technologies We’ve shown how T Rev can be used to reason about what complex events occur, and what transactions need to be executed to respond to these events As in stream reasoning, we can use the domain’s application knowledge to reason about what complex events occur Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 16 / 16
  • 46. Conclusions We proposed a set of oracle instantiations to make T Rev useful for domains involving sensor networks and Semantic Web technologies We’ve shown how T Rev can be used to reason about what complex events occur, and what transactions need to be executed to respond to these events As in stream reasoning, we can use the domain’s application knowledge to reason about what complex events occur All this is done by a single rule-based language, with a clearly defined declarative semantics Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 16 / 16
  • 47. Conclusions We proposed a set of oracle instantiations to make T Rev useful for domains involving sensor networks and Semantic Web technologies We’ve shown how T Rev can be used to reason about what complex events occur, and what transactions need to be executed to respond to these events As in stream reasoning, we can use the domain’s application knowledge to reason about what complex events occur All this is done by a single rule-based language, with a clearly defined declarative semantics The semantics is equipped with correct proof procedures that serve as basis for implementations (cf. presentation this morning in RR) Jos´e Alferes (NOVA LINCS) Combining Streams with Transactions August 5, 2015 16 / 16