an engine for ontology based stream processing
play

An Engine for Ontology-Based Stream Processing Theory and - PowerPoint PPT Presentation

An Engine for Ontology-Based Stream Processing Theory and Implementation Christian Neuenstadt 6. Februar 2018 Lbeck Motivation STARQL Transformation Evaluation Motivation - Use Case C. Neuenstadt An Engine for Ontology-Based Stream


  1. An Engine for Ontology-Based Stream Processing Theory and Implementation Christian Neuenstadt 6. Februar 2018 Lübeck

  2. Motivation STARQL Transformation Evaluation Motivation - Use Case C. Neuenstadt An Engine for Ontology-Based Stream Processing 2/ 30

  3. Motivation STARQL Transformation Evaluation Query Answering SPARQL C. Neuenstadt An Engine for Ontology-Based Stream Processing 3/ 30

  4. Motivation STARQL Transformation Evaluation Query Transformation From SPARQL to SQL C. Neuenstadt An Engine for Ontology-Based Stream Processing 4/ 30

  5. Motivation STARQL Transformation Evaluation Query Transformation From SPARQL to SQL C. Neuenstadt An Engine for Ontology-Based Stream Processing 5/ 30

  6. Motivation STARQL Transformation Evaluation Query Transformation From SPARQL to SQL C. Neuenstadt An Engine for Ontology-Based Stream Processing 6/ 30

  7. Transformation of Temporal Queries Ontology-Based Stream Processing

  8. Motivation 3) Evaluates multiple streams An Engine for Ontology-Based Stream Processing C. Neuenstadt • DSMS for live streams • DBMS for historic data • We execute transformed STARQL queries in modern database environments • We have implemented a query transformation strategy 2) Adopts current ontology standards STARQL 1) Uses temporal operators on state sequences • We have developed a new query language for ontology-based streams [S]treaming and [T]emporal ontology [A]ccess with a [R]easoning-based [Q]uery [L]anguage The Idea of STARQL Evaluation Transformation 8/ 30

  9. Motivation STARQL Transformation Evaluation A static graph pattern C. Neuenstadt An Engine for Ontology-Based Stream Processing 9/ 30

  10. Motivation STARQL Transformation Evaluation A temporal graph pattern C. Neuenstadt An Engine for Ontology-Based Stream Processing 10/ 30

  11. Motivation STARQL Transformation Evaluation Graph pattern and streaming data C. Neuenstadt An Engine for Ontology-Based Stream Processing 11/ 30

  12. Motivation STARQL Transformation Evaluation Graph pattern and streaming data C. Neuenstadt An Engine for Ontology-Based Stream Processing 12/ 30

  13. Motivation STARQL Transformation Evaluation Graph pattern and streaming data C. Neuenstadt An Engine for Ontology-Based Stream Processing 13/ 30

  14. Motivation STARQL Transformation Evaluation Graph pattern and streaming data C. Neuenstadt An Engine for Ontology-Based Stream Processing 14/ 30

  15. Motivation STARQL Transformation Evaluation From temporal graphs to temporal states C. Neuenstadt An Engine for Ontology-Based Stream Processing 15/ 30

  16. Motivation STARQL Transformation Evaluation From temporal graphs to temporal states C. Neuenstadt An Engine for Ontology-Based Stream Processing 16/ 30

  17. Motivation STARQL Transformation Evaluation A window operator C. Neuenstadt An Engine for Ontology-Based Stream Processing 17/ 30 S Msmt [ NOW − 3 s , NOW ] → 1 s

  18. Motivation STARQL Transformation Evaluation A window operator C. Neuenstadt An Engine for Ontology-Based Stream Processing 18/ 30 S Msmt [ NOW − 3 s , NOW ] → 1 s

  19. Motivation STARQL Transformation Evaluation A window operator C. Neuenstadt An Engine for Ontology-Based Stream Processing 19/ 30 S Msmt [ NOW − 3 s , NOW ] → 1 s

  20. Motivation 3 An Engine for Ontology-Based Stream Processing C. Neuenstadt AND ?x > 93) 5 HAVING EXISTS ?i IN (GRAPH ?i { :tempSensor :hasVal ?x } 4 :tempSensor :mountedAt :GasTurbine } WHERE { FROM S_Msmt [NOW-3s, NOW]-> 1s STARQL 2 SELECT ?x 1 Example STARQL Example 1 - Threshold Evaluation Transformation 20/ 30 ∃ i , x ( R 1 ( x , i ) ∧ x > 93 )

  21. Motivation 4 An Engine for Ontology-Based Stream Processing C. Neuenstadt THEN ?x <= ?y ) 8 AND ?i < ?j 7 AND GRAPH ?j { :tempSensor :hasVal ?y } 6 IF GRAPH ?i { :tempSensor :hasVal ?x } 5 HAVING FORALL ?i, ?j, ?x, ?y IN ( :tempSensor :mountedAt :GasTurbine } STARQL WHERE { 3 FROM S_Msmt [NOW-3s, NOW]-> 1s 2 CONSTRUCT GRAPH NOW {:tempSensor rdf:type MonInc } 1 Example STARQL Example 2 - Monotonic Increase Evaluation Transformation 21/ 30 ∀ i , j , x , y ( R 1 ( sens , x , i ) ∧ R 2 ( sens , y , j ) ∧ i < j → x ≤ y ))

  22. Motivation STARQL An Engine for Ontology-Based Stream Processing C. Neuenstadt st: sequencing strategy of the sequence generator sl: slide parameter of the window operator r: range of the window operator i: index of the specifjc temporal state (2) SELECT sId as ?sens, val as ?y GRAPH i { ?sens hasVal ?y } Time based mapping example (1) FROM Sensors SELECT SensorName AS ?sens ?sens :type :Sensor Static mapping example Transformation of temporal Graph Patterns with STARQL Evaluation Transformation 22/ 30 ← ← FROM Slice(Measurement, i , r , sl , st ) .

  23. Schematic Transformation of STARQL queries

  24. Motivation “Semantic access to streaming and static data at Siemens” Yes Yes API JDBC JDBC REST API REST API / built in Journal of Web Semantics 2017 Yes “Towards Analytics Aware Ontology Based Access to Static and Streaming Data” ISWC 2016 “OBDA for Temporal Querying and Streams” HiDeSt@KI 2015 “A Stream-Temporal Query Language for Ontology Based Data Access” DL 2014 / KI 2014 C. Neuenstadt An Engine for Ontology-Based Stream Processing No Historic Streams STARQL Live Streams Transformation Evaluation Comparison of implemented backend examples PostgreSQL PipelineDB Exareme Spark No Yes Yes Yes Yes Static Data Yes Yes Yes 24/ 30

  25. Motivation “Semantic access to streaming and static data at Siemens” Yes Yes API JDBC JDBC REST API REST API / built in Journal of Web Semantics 2017 Yes “Towards Analytics Aware Ontology Based Access to Static and Streaming Data” ISWC 2016 “OBDA for Temporal Querying and Streams” HiDeSt@KI 2015 “A Stream-Temporal Query Language for Ontology Based Data Access” DL 2014 / KI 2014 C. Neuenstadt An Engine for Ontology-Based Stream Processing No Historic Streams STARQL Live Streams Transformation Evaluation Comparison of implemented backend examples PostgreSQL PipelineDB Exareme Spark No Yes Yes Yes Yes Static Data Yes Yes Yes 25/ 30

  26. Motivation “Semantic access to streaming and static data at Siemens” Yes Yes API JDBC JDBC REST API REST API / built in Journal of Web Semantics 2017 Yes “Towards Analytics Aware Ontology Based Access to Static and Streaming Data” ISWC 2016 “OBDA for Temporal Querying and Streams” HiDeSt@KI 2015 “A Stream-Temporal Query Language for Ontology Based Data Access” DL 2014 / KI 2014 C. Neuenstadt An Engine for Ontology-Based Stream Processing No Historic Streams STARQL Live Streams Transformation Evaluation Comparison of implemented backend examples PostgreSQL PipelineDB Exareme Spark No Yes Yes Yes Yes Static Data Yes Yes Yes 26/ 30

  27. Motivation “Semantic access to streaming and static data at Siemens” Yes Yes API JDBC JDBC REST API REST API / built in Journal of Web Semantics 2017 Yes “Towards Analytics Aware Ontology Based Access to Static and Streaming Data” ISWC 2016 “OBDA for Temporal Querying and Streams” HiDeSt@KI 2015 “A Stream-Temporal Query Language for Ontology Based Data Access” DL 2014 / KI 2014 C. Neuenstadt An Engine for Ontology-Based Stream Processing No Historic Streams STARQL Live Streams Transformation Evaluation Comparison of implemented backend examples PostgreSQL PipelineDB Exareme Spark No Yes Yes Yes Yes Static Data Yes Yes Yes 27/ 30

  28. Motivation Experiment 2: Multi Core Evaluation An Engine for Ontology-Based Stream Processing C. Neuenstadt • Overhead for each window execution is not applicable to Spark • Scales by number of cores • Reduces data set per execution dramatically for interstate queries • Prototypical implementation per window execution based on pl/pgSQL • But INTERstate comparisons are expensive!! STARQL • Time scales for larger dataset with INTRAstate comparison • Threshold and MonInc query executed on difgerent data volumns Experiment 1: PostgreSQL / Spark (Historic Data) Prototypical Implementation Experimental Evaluation Evaluation Transformation 28/ 30

  29. Motivation 11 An Engine for Ontology-Based Stream Processing C. Neuenstadt • C-SPARQL / CQELS use their own execution environment • Only SPARQLstream and STARQL can be transformed to relational algebra Transformation: • Only C-SPARQL accesses timestamps or temporal ordering directly • All other three languages handle incoming triples as one graph per window. Query Language: Overall comparison Missing functionalities of STARQL are: ASK queries (1) and Property Paths (6) 11 17 STARQL 17 Supported queries STARQL CQELS C-SPARQL SPARQLStream Language SRBenchmark Evaluation Related Work Evaluation Transformation 29/ 30

Recommend


More recommend