continuous queries
play

Continuous queries Daniele DellAglio dellaglio@ifi.uzh.ch - PowerPoint PPT Presentation

How to Build a Stream Reasoning Application D. Dell'Aglio, E. Della Valle, T. Le-Pham, A. Mileo, and R. Tommasini http://streamreasoning.org/events/streamapp2017 Continuous queries Daniele DellAglio dellaglio@ifi.uzh.ch


  1. How to Build a Stream Reasoning Application D. Dell'Aglio, E. Della Valle, T. Le-Pham, A. Mileo, and R. Tommasini http://streamreasoning.org/events/streamapp2017 Continuous queries Daniele Dell’Aglio dellaglio@ifi.uzh.ch http://dellaglio.org @dandellaglio

  2. Share, Remix, Reuse — Legally This work is licensed under the Creative Commons  Attribution 3.0 Unported License. Your are free:  to Share — to copy, distribute and transmit the work to Remix — to adapt the work Under the following conditions  Attribution — You must attribute the work by inserting a credits slide stating – These slides are partially based on “ How to Build a Stream Reasoning Application 2017 ” by D. Dell'Aglio, E. Della Valle, T. Le-Pham, A. Mileo, and R. Tommasini available online at http://streamreasoning.org/events/streamapp2017 To view a copy of this license, visit  http://creativecommons.org/licenses/by/3.0/ http://streamreasoning.org/events/streamapp2017

  3. Continuous query evaluation  From SPARQL • One query, one answer • The query is sent after that the data is available  To a continuous query language • One query, multiple answers • The query is registered in the query engine • The registration usually happens before that the data arrives • Real-time responsiveness is usually required http://streamreasoning.org/events/streamapp2017 3

  4. Let’s process the RDF streams!  In literature there are two different main approaches to process streams  Data Stream Management Systems (DSMSs) • Roots in DBMS research • Aggregations and filters  Complex Event Processors (CEPs) • Roots in Discrete Event Simulation • Search of relevant patterns in the stream • Non-equi-join on the timestamps (after, before, etc.)  Current systems implements feature of both of them • EPL (e.g. Esper, ORACLE CEP)  Now we focus on the CQL/STREAM model • Developed in the DSMS research • C-SPARQL (and others) is inspired to this model http://streamreasoning.org/events/streamapp2017 4

  5. Querying data streams – The CQL model Sliding windows Relational algerbra stream-to-relation relation-to-relation Streams Relations … relation-to-stream <s 1 > infinite < s,τ > <s 2 > unbounded finite … sequence bag <s 3 > Stream Relation R(t) Mapping: T  R *Stream operators http://streamreasoning.org/events/streamapp2017 5

  6. CQL extension for querying RDF data streams Sliding windows S2R operators SPARQL operators RDF Mappings Streams R2S operators *Stream operators http://streamreasoning.org/events/streamapp2017 6

  7. Time-based sliding window width slide R2R operator ω β W(ω,β) S 1 S 3 S 6 S 8 S 11 S S 2 S 4 S 5 S 7 S 9 S 10 S 12 t http://streamreasoning.org/events/streamapp2017 7

  8. SPARQL: a quick recap http://streamreasoning.org/events/streamapp2017 8

  9. The query output S2R operators SPARQL operators RDF RDF Streams Mappings R2S operators  Which is the format of the answer?  We can distinguish two cases 1. No R2S operator: the output is a relation (that changes during the time) 2. R2S operator: a stream. – An RDF stream? It depends by the Query Form http://streamreasoning.org/events/streamapp2017 9

  10. No R2S operator: relation a  … b  … [t  1] a  … b  … SELECT ?a ?b … FROM …. a  … b  … [t  3] WHERE …. a  … b  … [t  5] a  … b  … [t  7] RSP bindings queries <… :prop … > [t  1] <… :prop … > CONSTRUCT {?a :prop ?b } <… :prop … > [t  3] FROM …. WHERE …. <… :prop … > [t  5] <… :prop … > [t  7] triples http://streamreasoning.org/events/streamapp2017 10

  11. R2S operator: stream  stream R2S operators … <… :prop … > [t  1] CONSTRUCT RSTREAM {?a :prop ?b } <… :prop … > [t  1] FROM …. <… : prop … > [t  3] WHERE …. RSP <… : prop … > [t  5] query < …: prop … > [t  7] …  Three operators:  Rstream: streams out all data in the last step  Istream: streams out data in the last step that wasn’t on the previous step, i.e. streams out what is new  Dstream: streams out data in the previous step that isn’t in the last step, i.e. streams out what is old http://streamreasoning.org/events/streamapp2017 11

  12. Some existing RSP systems (oversimplified!)  C-SPARQL: RDF Store + Stream processor • Combined architecture RDF Store C-SPARQL continuous translator query results Stream processor  CQELS: Implemented from scratch. Focus on performance • Native + adaptive joins for static-data and streaming data continuous CQELS Native RSP results query http://streamreasoning.org/events/streamapp2017 12

  13. Some existing RSP systems (oversimplified!)  SPARQL stream : Ontology-based stream query answering • Virtual RDF views, using R2RML mappings • SPARQL stream queries over the original data streams. continuous SPARQLStream rewriter DSMS/CEP results query R2RML mappings  Instans: RETE-based evaluation http://streamreasoning.org/events/streamapp2017 13

  14. Classification of existing systems Triple window Union, Join, Time window R2S operator Continuous Aggregates Optional, execution Model Filter ✔ TA-RDF Limited TA-SPARQL ✔ tRDF tSPARQL ✔ ✔ ✔ ✔ RDF Stream Streaming SPARQL ✔ ✔ ✔ ✔ ✔ RDF Stream Rstream C-SPARQL only ✔ ✔ ✔ ✔ ✔ RDF Stream Istream CQELS only (Virtual) RDF ✔ ✔ ✔ ✔ ✔ SPARQLStream Stream ✔ ✔ ✔ RDF Instans Disclaimer: only a partial view http://streamreasoning.org/events/streamapp2017 14

  15. Similar models, similar (not equals!) query languages SELECT ?sensor FROM NAMED STREAM <http://www.cwi.nl/SRBench/observations> [NOW-3 HOURS SLIDE 10 MINUTES] SPARQL stream WHERE { ?observation om-owl:procedure ?sensor ; om-owl:observedProperty weather:WindSpeed ; om-owl:result [ om-owl:floatValue ?value ] . } GROUP BY ?sensor HAVING ( AVG(?value) >= "74"^^xsd:float ) SELECT ?sensor FROM STREAM <http://www.cwi.nl/SRBench/observations> [RANGE 1h STEP 10m] WHERE { C-SPARQL ?observation om-owl:procedure ?sensor ; om-owl:observedProperty weather:WindSpeed ; om-owl:result [ om-owl:floatValue ?value ] . } GROUP BY ?sensor HAVING ( AVG(?value) >= "74"^^xsd:float ) SELECT ?sensor WHERE { STREAM <http://www.cwi.nl/SRBench/observations> [RANGE 10800s SLIDE 600s] { ?observation om-owl:procedure ?sensor ; om-owl:observedProperty weather:WindSpeed ; CQELS om-owl:result [ om-owl:floatValue ?value ] .} } GROUP BY ?sensor HAVING ( AVG(?value) >= "74"^^xsd:float ) http://streamreasoning.org/events/streamapp2017 15

  16. The problem (1) {:alice :isIn :hall} {:alice :isIn :kitchen} {:bob :isIn :hall} {:bob :isIn :kitchen} S e 1 e 2 e 3 e 4 1 3 6 9 t  Where are Alice and Bob, Executi 1° 2° answer when they are together? on answer 1 :hall [6] :kitchen [11]  Let’s consider a tumbling 2 :hall [5] :kitchen [10] window W(ω=β=5) 3 :hall [6] :kitchen [11]  Let’s execute the experiment 4 - [7] - [12] 4 times Which is the correct answer? http://streamreasoning.org/events/streamapp2017 16

  17. The problem (2) {:alice :isIn :hall} {:alice :isIn :kitchen} {:bob :isIn :hall} {:bob :isIn :kitchen} S e 1 e 2 e 3 e 4 1 3 6 9 t CSPARQL CQELS Executi 1° 2° answer Executi 1° 2° answer on answer on answer 1 :hall [6] :kitchen [11] 1 :hall [3] :kitchen [9] 2 :hall [5] :kitchen [10] 2 No answers 3 :hall [6] :kitchen [11] 3 :hall [3] :kitchen [9] 4 - [7] - [12] 4 No answers Which system behaves in the correct way? http://streamreasoning.org/events/streamapp2017 17

  18. Understanding the RSPs  They share similar models, but they behave in different ways  The C-SPARQL, CQELS and SPARQL stream models do not allow to determine in a unique way which should be the answer given the inputs and the query • There are missing parameters (encoded in the implementations)  Why is it important to understand those behaviours? • To assess the correct implementation of the systems • To improve the comprehension of the benchmarking  W3C RDF stream processor community group started to jointly work out a recommendation in 2014  http://www.w3.org/community/rsp/ http://streamreasoning.org/events/streamapp2017 18

  19. The problem (3)  In the context of continuous query answering over RDF streams, how can the behaviour of existing systems be captured, compared and contrasted?  Why do we need it? • Comparison and contrast • Interoperability • Study RDF Stream Processing related problems • Standard RSP query language http://streamreasoning.org/events/streamapp2017 19

  20. RSEP-QL  A reference model that formally defines the semantics of RDF Stream Processing engines Event Pattern detection operators Applications Model to express continous RSEP-QL queries SPARQL BGP evaluation RSP-QL over background data Backgroun RDF Streams d data BGP evaluation over streams http://streamreasoning.org/events/streamapp2017 20

  21. RSEP-QL From SPARQL to RSEP-QL Continuous QF Evaluator ET SE E Q Q Q Q Query Evaluator ( SE , SDS , ET , QF) (E, SDS , ET , QF) (E, SDS, QF) (E, DS, QF) Interface Result DS SDS Formatter Data layer RDF graphs RDF graphs Ans(Q) RDF streams http://streamreasoning.org/events/streamapp2017 21

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend