ep-sparql: a unified language for event processing and stream reasoning

37
EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning Darko Anicic 1 Paul Fodor 2 Sebastian Rudolph 3 Nenad Stojanovic 1 1 FZI Research Center for Information Technology, Karlsruhe, Germany 2 State University of New York at Stony Brook, USA 3 Karlsruhe Institute of Technology, Karlsruhe, Germany WWWW 2011, Hyderabad, India

Upload: darko-anicic

Post on 08-May-2015

1.633 views

Category:

Technology


1 download

DESCRIPTION

A talk given at WWW 2011, Hyderabad, India. See the paper related to this talk: http://sites.google.com/site/darkoanicic/www29-anicic.pdf

TRANSCRIPT

Page 1: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

EP-SPARQL: A Unified Language for EventProcessing and Stream Reasoning

Darko Anicic1 Paul Fodor2 Sebastian Rudolph3

Nenad Stojanovic1

1FZI Research Center for Information Technology, Karlsruhe, Germany

2State University of New York at Stony Brook, USA

3Karlsruhe Institute of Technology, Karlsruhe, Germany

WWWW 2011, Hyderabad, India

Page 2: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

MotivationRelated Work

Introduction

Real-time data appear increasingly today everywhere.How to effectively process this data?

Financial sectorto find dealing opportunities across available assetsto detect fraud and enable real-time surveillanceto monitor operational risks

Traffic control systemsto observe traffic-update events and (re)plan the trafficto route the traffic and optimise paths

Sensor networksto process sensor data and detect real-time observationse.g., weather observations like tsunamis, hurricanes etc.

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 3: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

MotivationRelated Work

Introduction

Real-time data appear increasingly today everywhere.How to effectively process this data?

Financial sectorto find dealing opportunities across available assetsto detect fraud and enable real-time surveillanceto monitor operational risks

Traffic control systemsto observe traffic-update events and (re)plan the trafficto route the traffic and optimise paths

Sensor networksto process sensor data and detect real-time observationse.g., weather observations like tsunamis, hurricanes etc.

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 4: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

MotivationRelated Work

Introduction

Real-time data appear increasingly today everywhere.How to effectively process this data?

Financial sectorto find dealing opportunities across available assetsto detect fraud and enable real-time surveillanceto monitor operational risks

Traffic control systemsto observe traffic-update events and (re)plan the trafficto route the traffic and optimise paths

Sensor networksto process sensor data and detect real-time observationse.g., weather observations like tsunamis, hurricanes etc.

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 5: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

MotivationRelated Work

Introduction

Real-time data appear increasingly today everywhere.How to effectively process this data?

Financial sectorto find dealing opportunities across available assetsto detect fraud and enable real-time surveillanceto monitor operational risks

Traffic control systemsto observe traffic-update events and (re)plan the trafficto route the traffic and optimise paths

Sensor networksto process sensor data and detect real-time observationse.g., weather observations like tsunamis, hurricanes etc.

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 6: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

MotivationRelated Work

Supporting Real-Time Information Processing

An event is something that occurs, happens or changesthe current state of affairs.To detect more complex dynamic matters, (simpler) eventsare combined into complex events.

Event Processingdeals with the task of processing events with the goal ofidentifying meaningful situations, using event operators as wellas temporal and semantic relationships.

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 7: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

MotivationRelated Work

Supporting Real-Time Information Processing

An event is something that occurs, happens or changesthe current state of affairs.To detect more complex dynamic matters, (simpler) eventsare combined into complex events.

Event Processingdeals with the task of processing events with the goal ofidentifying meaningful situations, using event operators as wellas temporal and semantic relationships.

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 8: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

MotivationRelated Work

Supporting Real-Time Knowledge Processing

Current EP systems provide on-the-fly analysis of datastreams, but fall short of combining events with higher-levelbackground knowledge.Background knowledge describes the context or domain inwhich events are interpreted.Reasoning techniques are necessary for handlingbackground knowledge as events occur!

Stream Reasoningdeals with the task of conjunctively reasoning over streamingdata and background knowledge.

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 9: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

MotivationRelated Work

Supporting Real-Time Knowledge Processing

Current EP systems provide on-the-fly analysis of datastreams, but fall short of combining events with higher-levelbackground knowledge.Background knowledge describes the context or domain inwhich events are interpreted.Reasoning techniques are necessary for handlingbackground knowledge as events occur!

Stream Reasoningdeals with the task of conjunctively reasoning over streamingdata and background knowledge.

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 10: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

MotivationRelated Work

Toward Real-Time Semantic Web

Event Processing (EP)

han

dles

Rapidly changing data represented as events

Figure: Evaluation strategies

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 11: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

MotivationRelated Work

Toward Real-Time Semantic Web

Semantic Web technologies including

han

dles

Event Processing (EP)

han

dles

Rapidly changing data represented as events

Static or slowly evolving background knowledge

Figure: Evaluation strategies

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 12: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

MotivationRelated Work

Toward Real-Time Semantic Web

Semantic Web technologies including

han

dles

Event Processing (EP)

han

dles

Rapidly changing data represented as events

EP SPARQL EP-SPARQL

Static or slowly evolving background knowledge

Figure: Evaluation strategies

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 13: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

MotivationRelated Work

Toward Real-Time Semantic Web

Semantic Web technologies including

han

dles

Event Processing (EP)

han

dles

Rapidly changing data represented as events

EP SPARQL EP-SPARQL

Static or slowly evolving background knowledge

• Temporal relatedness • Semantic relatedness • Stream reasoning

Figure: Evaluation strategies

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 14: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

MotivationRelated Work

Related Work

Streaming DatabasesSASE [1]ZStream [10]CEDR [6]TelegraphCQ [5]

Temporal (and Spatial) RDFIntroducing time into RDF [8]SPARQL-ST [11], Temporal SPARQL [12], stSPARQL [9],and T-SPARQL [7]

Stream ReasoningC-SPARQL [3]Streaming Knowledge Bases [13]Streaming SPARQL [4]Incremental reasoning [2]

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 15: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

SyntaxSemanticsExecution Model

Syntax of the Language

EP-SPARQL– extends SPARQL to enable event-based processing thattakes into account temporal situatedness of triple assertions.– syntactical and semantic downward-compatibility to plainSPARQL.

1 Operators: FILTER, AND, UNION, OPTIONAL, SEQ, EQUALS,OPTIONALSEQ, and EQUALSOPTIONAL;

2 getDURATION() yields a literal of type xsd:durationgiving the time interval associated to the graph pattern;

3 getSTARTTIME() and getENDTIME() retrieve the timestamps of type xsd:dateTime of the start and end of theinterval;

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 16: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

SyntaxSemanticsExecution Model

Syntax of the Language

EP-SPARQL– extends SPARQL to enable event-based processing thattakes into account temporal situatedness of triple assertions.– syntactical and semantic downward-compatibility to plainSPARQL.

1 Operators: FILTER, AND, UNION, OPTIONAL, SEQ, EQUALS,OPTIONALSEQ, and EQUALSOPTIONAL;

2 getDURATION() yields a literal of type xsd:durationgiving the time interval associated to the graph pattern;

3 getSTARTTIME() and getENDTIME() retrieve the timestamps of type xsd:dateTime of the start and end of theinterval;

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 17: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

SyntaxSemanticsExecution Model

Informal Semantics

RDF stream – a set of triple occurrences 〈〈s,p,o〉, tα, tω〉 where〈s,p,o〉 is an RDF triple and tα, tω are the start and end of theinterval.

FILTER – restricts variable bindings to those 〈µ, tα, tω〉 forwhich the filter expression evaluates to true;AND – joins 〈µ, tα, tω〉 and 〈µ′, t ′α, t ′ω〉. The joined tuple hastimestamp t ′′α = min(tα, t ′α), t ′′ω = max(tω, t ′ω);UNION – forms the disjunction of 〈µ, tα, tω〉 and 〈µ′, t ′α, t ′ω〉;OPTIONAL – matches 〈µ, tα, tω〉 optionally with 〈µ′, t ′α, t ′ω〉when the filter expression evaluates to true;

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 18: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

SyntaxSemanticsExecution Model

Informal Semantics (cont’d)

SEQ – joins 〈µ, tα, tω〉 and 〈µ′, t ′α, t ′ω〉 only if 〈µ′, t ′α, t ′ω〉occurs strictly after 〈µ, tα, tω〉;EQUALS – joins 〈µ, tα, tω〉 and 〈µ′, t ′α, t ′ω〉 if they occur

simultaneously;OPTIONALSEQ and EQUALSOPTIONAL aretemporal-sensitive variants of OPTIONAL;CONSTRUCT – generates the stream enriched by triplesfrom possibly iterative CONSTRUCT rules. SELECT-queriesget evaluated not against the pure input stream but againstthe enriched generated stream.

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 19: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

SyntaxSemanticsExecution Model

Example I

Continuously search for companies having a larger than 20%stock price increase in less than 15 days without havingacquired another company during that period.

SELECT ?company WHERE{ ?company hasStockprice ?price1 }

SEQ { { ?company hasAcquired ?othercompany }OPTIONALSEQ{ ?company hasStockPrice ?price2 } }

FILTER ( ?price2 > ?price1 * 1.2 &&!BOUND(?othercompany) &&getDURATION() < "P15D"ˆˆxsd:duration)

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 20: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

SyntaxSemanticsExecution Model

Example II

Detect slow traffic and its cause which could be used toautomatically modify a speed limit on a certain roads.

SELECT ?road ?speed WHERE{ ?road tr: slowTrafficDue ?observ }

SEQ {{ ?road tr: slowTrafficDue ?observ }{ ?observ rdfs:subClassOf tr:SlowTraffic }{ ?observ wt:speed ?speed }}

FILTER ( getDURATION() < "P1H"ˆˆxsd:duration)

Observ_1 Observ_2rdf:type tr:GhostDriver ; rdf:type tr:IceConditions ;wt:speed "50"ˆˆxsd:int . wt:speed "40"ˆˆxsd:int .

tr:GhostDriver rdfs:subClassOf tr:SlowTraffic.tr:IceConditions rdfs:subClassOf tr:BadWeather.

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 21: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

SyntaxSemanticsExecution Model

Sequence OperatorSELECT ?company WHERE

{ ?comp hasStockPrice ?pr1 }SEQ { ?comp hasStockPrice ?pr2 }SEQ { ?comp hasStockPrice ?pr3 }

〈〈s, p, o〉, ti , tj 〉 represented as triple(s, p, o,Ti ,Tj ), and τ represents s, p, o.

triple(τi ,T1,T4)← triple(τ1,T1,T2) SEQ triple(τ2,T3,T4).triple(τ,T1,T6)← triple(τi ,T1,T4) SEQ triple(τ3,T5,T6).

Rule transformation – Incremental computation (Prolog syntax)

triple(τ1,T1,T2) :-assert

(goal(triple(τ2, , ), triple(τ1,T1,T2), triple(τi , , ))

).

triple(τ2,T3,T4) : −goal(triple(τ2, , ), triple(τ1,T1,T2), triple(τ, , )),T2 < T3,retract

(goal(triple(τ2, , ), triple(τ1,T1,T2), triple(τi , , ))

),

triple(τi ,T1,T4).

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 22: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

SyntaxSemanticsExecution Model

Sequence OperatorSELECT ?company WHERE

{ ?comp hasStockPrice ?pr1 }SEQ { ?comp hasStockPrice ?pr2 }SEQ { ?comp hasStockPrice ?pr3 }

〈〈s, p, o〉, ti , tj 〉 represented as triple(s, p, o,Ti ,Tj ), and τ represents s, p, o.

triple(τi ,T1,T4)← triple(τ1,T1,T2) SEQ triple(τ2,T3,T4).triple(τ,T1,T6)← triple(τi ,T1,T4) SEQ triple(τ3,T5,T6).

Rule transformation – Incremental computation (Prolog syntax)

triple(τ1,T1,T2) :-assert

(goal(triple(τ2, , ), triple(τ1,T1,T2), triple(τi , , ))

).

triple(τ2,T3,T4) : −goal(triple(τ2, , ), triple(τ1,T1,T2), triple(τ, , )),T2 < T3,retract

(goal(triple(τ2, , ), triple(τ1,T1,T2), triple(τi , , ))

),

triple(τi ,T1,T4).

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 23: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

SyntaxSemanticsExecution Model

Sequence OperatorSELECT ?company WHERE

{ ?comp hasStockPrice ?pr1 }SEQ { ?comp hasStockPrice ?pr2 }SEQ { ?comp hasStockPrice ?pr3 }

〈〈s, p, o〉, ti , tj 〉 represented as triple(s, p, o,Ti ,Tj ), and τ represents s, p, o.

triple(τi ,T1,T4)← triple(τ1,T1,T2) SEQ triple(τ2,T3,T4).triple(τ,T1,T6)← triple(τi ,T1,T4) SEQ triple(τ3,T5,T6).

Rule transformation – Incremental computation (Prolog syntax)

triple(τ1,T1,T2) :-assert

(goal(triple(τ2, , ), triple(τ1,T1,T2), triple(τi , , ))

).

triple(τ2,T3,T4) : −goal(triple(τ2, , ), triple(τ1,T1,T2), triple(τ, , )),T2 < T3,retract

(goal(triple(τ2, , ), triple(τ1,T1,T2), triple(τi , , ))

),

triple(τi ,T1,T4).

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 24: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

SyntaxSemanticsExecution Model

Other Operators

SELECT ?company WHERE...FILTER ( ?price2 < ?price1 * 0.7 &&

?price3 > ?price1 * 1.05)

FILTER – Rule transformation

condition(Price1,Price2,Price3) : −P1 is (Price1 ∗ 0.7), P1>Price2,P2 is (Price1 ∗ 0.5), Price3>P2.

EQUALS – Rule transformation

equals(TI1,TI2) : −TI1 = [TI1 S,TI1 E ], validTimeInterval(TI1),TI2 = [TI2 S,TI2 E ], validTimeInterval(TI2),TI1 S = TI2 S,TI1 E = TI2 E .

validTimeInterval(TI)←TI = [TI S,TI E ],TI S@ < TI E .

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 25: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

SyntaxSemanticsExecution Model

Other Operators

SELECT ?company WHERE...FILTER ( ?price2 < ?price1 * 0.7 &&

?price3 > ?price1 * 1.05)

FILTER – Rule transformation

condition(Price1,Price2,Price3) : −P1 is (Price1 ∗ 0.7), P1>Price2,P2 is (Price1 ∗ 0.5), Price3>P2.

EQUALS – Rule transformation

equals(TI1,TI2) : −TI1 = [TI1 S,TI1 E ], validTimeInterval(TI1),TI2 = [TI2 S,TI2 E ], validTimeInterval(TI2),TI1 S = TI2 S,TI1 E = TI2 E .

validTimeInterval(TI)←TI = [TI S,TI E ],TI S@ < TI E .

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 26: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

SyntaxSemanticsExecution Model

Other Operators

SELECT ?company WHERE...FILTER ( ?price2 < ?price1 * 0.7 &&

?price3 > ?price1 * 1.05)

FILTER – Rule transformation

condition(Price1,Price2,Price3) : −P1 is (Price1 ∗ 0.7), P1>Price2,P2 is (Price1 ∗ 0.5), Price3>P2.

EQUALS – Rule transformation

equals(TI1,TI2) : −TI1 = [TI1 S,TI1 E ], validTimeInterval(TI1),TI2 = [TI2 S,TI2 E ], validTimeInterval(TI2),TI1 S = TI2 S,TI1 E = TI2 E .

validTimeInterval(TI)←TI = [TI S,TI E ],TI S@ < TI E .

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 27: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

Test 1: Event ProcessingTest 2: Stream ReasoningTest 3: Example applications

Event Processing

Test pattern: monitoringthe average stock priceof a company X withCONSTRUCT queriesIntel Core Quad CPUQ9400 2,66GHz, 8GB ofRAM, Ubuntu 9.10ETALIS on SWI Prolog5.6.64 and YAP Prolog5.1.3 vs. Esper 3.3.0

0

5

10

15

20

25

30

100 500 1000 50000

Thro

ughp

ut (1

000

x Ev

ents

/Sec

)

Count window size

Throughput vs. Window size (Sum over Sequence)

Esper 3.3.0 EALIS-YAP

4000

5000

6000

7000

8000

9000

10000

1 3 10

Thro

ughp

ut (E

vent

/Sec

)

Time window size (Sec)

Throughput vs. Window size

ETALIS-YAP Esper

Figure: Aggregation over countsliding window

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 28: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

Test 1: Event ProcessingTest 2: Stream ReasoningTest 3: Example applications

Stream Reasoning

Test pattern: infer overstreaming tripleswhether the subject of atriple is an instance ofthe class of concern,or any of its 40,080subclasses.

!"#$"%$&'()*+,$-,#$.+/,"0(01$2+*/3

!

"!!

#!!!

#"!!

$!!!

"!!! #!!!! #"!!! $!!!!

!456+'$"%$&'()*+,.+/,"0(01$2+*/3$(0$5,

%&'()*+,'-

Figure: Delay caused by streamreasoning

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 29: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

Test 1: Event ProcessingTest 2: Stream ReasoningTest 3: Example applications

Example application I

Goods Delivery Systemin the city of Milan;RDF knowledge base torepresent locations andtraffic links;The system “listens” totraffic-update events andreschedule paths.

3 94 109 130 31

889

1076

1295

0

500

1000

1500

5 10 15 20

Con

sum

ed ti

me

in m

s Number of locations

No. of Locations vs. Consumed Time

1 Visitor 10 Visitors

35 86 119 165

204

810

1039

1503

0

500

1000

1500

2000

5 10 15 20

Con

sum

ed M

emor

y in

kB

Number of locations

No. of Locations vs. Consumed Memory

1 Visitor 10 Visitors

Figure: Delay caused byprocessing

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 30: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

Test 1: Event ProcessingTest 2: Stream ReasoningTest 3: Example applications

Example application II

A tsunami detectionsystem;Real buoy sensor datacontinuously processed;GeoNames to providegeographical placeswithin a certain radiusfrom the sensor location.

-0.04

-0.02

0

0.02

0.04

0.06

0.08

Pressure difference

Threshold

Time

Pres

sure

Figure: Tsunami detectionhistogram

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 31: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

ConclusionExampleSemantics

Conclusion

1 Addressing dynamics and notification on the Web hasbecome an important area of research;

2 The challenge is to get advantage of real-time data, andrecognise important situations in a timely fashion;

3 EP-SPARQL – a new language for Event Processing andStream Reasoning;

4 Future work: complete implementation, more expressiveformalisms, and adaptive optimizations.

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 32: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

ConclusionExampleSemantics

Thank you! Questions...

ETALIS is open source:http://code.google.com/p/etalis

On-line demo:http://etalis.fzi.de

Contact:[email protected]

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 33: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

ConclusionExampleSemantics

Jagrati Agrawal, Yanlei Diao, Daniel Gyllstrom, and NeilImmerman.Efficient pattern matching over event streams.In Proceedings of the 28th ACM SIGMOD Conference,pages 147–160, 2008.

Davide Francesco Barbieri, Daniele Braga, Stefano Ceri,Emanuele Della Valle, and Michael Grossniklaus.Incremental reasoning on streams and rich backgroundknowledge.In Proceedings of the 7th Extended Semantic WebConference (ESWC’10), pages 1–15, 2010.

Davide Francesco Barbieri, Daniele Braga, Stefano Ceri,and Michael Grossniklaus.An execution environment for C-SPARQL queries.

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 34: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

ConclusionExampleSemantics

In Proceedings of the 13th International Conference onExtending Database Technology (EDBT’10), pages441–452, 2010.

Andre Bolles, Marco Grawunder, and Jonas Jacobi.Streaming SPARQL - extending SPARQL to process datastreams.In Proceedings of the 5th European Semantic WebConference (ESWC’08), pages 448–462, 2008.

Sirish Chandrasekaran, Owen Cooper, Amol Deshpande,Michael J. Franklin, Joseph M. Hellerstein, Wei Hong,Sailesh Krishnamurthy, Samuel Madden, VijayshankarRaman, Frederick Reiss, and Mehul A. Shah.Telegraphcq: Continuous dataflow processing for anuncertain world.

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 35: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

ConclusionExampleSemantics

In Proceedings of the 1st Biennial Conference onInnovative Data Systems Research (CIDR’03), 2003.

Mitch Cherniack, Hari Balakrishnan, MagdalenaBalazinska, Donald Carney, Ugur Cetintemel, Ying Xing,and Stanley B. Zdonik.Scalable distributed stream processing.In Proceedings of the 1st Biennial Conference onInnovative Data Systems Research (CIDR’03), 2003.

Fabio Grandi.T-SPARQL: a TSQL2-like temporal query language forRDF.In International Workshop on on Querying GraphStructured Data, pages 21–30, 2010.

Claudio Gutierrez, Carlos A. Hurtado, and Alejandro A.Vaisman.

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 36: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

ConclusionExampleSemantics

Introducing time into rdf.The IEEE Transactions on Knowledge and DataEngineering, 19(2):207–218, 2007.

Manolis Koubarakis and Kostis Kyzirakos.Modeling and querying metadata in the semantic sensorweb: The model stRDF and the query language stSPARQL.

In Proceedings of the 7th Extended Semantic WebConference (ESWC’10), pages 425–439, 2010.

Yuan Mei and Samuel Madden.Zstream: a cost-based query processor for adaptivelydetecting composite events.In Proceedings of the 29th ACM SIGMOD Conference,pages 193–206, 2009.

Matthew Perry, Amit P. Sheth, and Prateek Jain.D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011

Page 37: EP-SPARQL: A Unified Language for Event Processing and Stream Reasoning

IntroductionEP-SPARQL

Experimental ResultsConclusion

ConclusionExampleSemantics

SPARQLST: Extending SPARQL to support spatiotemporalqueries.In Technical Report. KNOESIS-TR-2009-01, 2008.

Jonas Tappolet and Abraham Bernstein.Applied temporal RDF: Efficient temporal querying of RDFdata with SPARQL.In Proceedings of the 6th European Semantic WebConference (ESWC’09), pages 308–322, 2009.

Onkar Walavalkar, Anupam Joshi, Tim Finin, and YelenaYesha.Streaming knowledge bases.In International Workshop on Scalable Semantic WebKnowledge Base Systems, 2008.

D. Anicic, P. Fodor, S. Rudolph, N. Stojanovic EP-SPARQL – ETALIS – WWW 2011