Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Stream Reasoning : Where We Got So Far

2,700 views

Published on

The presentation I gave at NeFoRS'10 colocated with ESWC 2010 in Heraklion, Greece, on May 31st, 2010

Published in: Education, Technology
  • Be the first to comment

Stream Reasoning : Where We Got So Far

  1. 1. Stream Reasoning Where We Got So Far http://streamreasoning.org Emanuele Della Valle DEI - Politecnico di Milano [email_address] http://emanueledellavalle.org Joint work with: Davide Francesco Barbieri, Daniele Braga, Stefano Ceri, and Michael Grossniklaus
  2. 2. Agenda <ul><li>Motivation </li></ul><ul><li>Background </li></ul><ul><li>Concept </li></ul><ul><li>Running Example </li></ul><ul><li>Achievements </li></ul><ul><li>Retrospective and Conclusions </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  3. 3. Motivation It‘s a streaming World! [IEEE-IS2009] <ul><li>Sensor networks, … </li></ul><ul><li>traffic engineering, … </li></ul><ul><li>social networking, … </li></ul><ul><li>financial markets, … </li></ul><ul><li>generate streams! </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  4. 4. Motivation Questions People are Asking <ul><li>Given this brand of turbine, what is the expected time to failure when the barring starts to vibrate as now detected? </li></ul><ul><li>Is a traffic jam going to happen in this highway? And is then convenient to reallocate travelers based upon the forecast?” </li></ul><ul><li>Who are the opinion makers? i.e., the users who are likely to influence the behavior of other users who follow them </li></ul><ul><li>In the financial context, can we detect any intraday correlation clusters among stock exchange?  </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  5. 5. Motivation Problem Statement <ul><li>Making sense </li></ul><ul><ul><li>in real time </li></ul></ul><ul><ul><li>of gigantic and inevitably noisy data streams </li></ul></ul><ul><ul><li>in order to support the decision process of extremely large numbers of concurrent users </li></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  6. 6. Background What are data streams anyway? <ul><li>Formally: </li></ul><ul><ul><li>Data streams are unbounded sequences of time-varying data elements </li></ul></ul><ul><li>Less formally: </li></ul><ul><ul><li>an (almost) “continuous” flow of information </li></ul></ul><ul><ul><li>with the recent information being more relevant as it describes the current state of a dynamic system </li></ul></ul>time NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  7. 7. Background Can the Semantic Web process data stream? <ul><li>The Semantic Web, the Web of Data is doing fine </li></ul><ul><ul><li>RDF, RDF Schema, SPARQL, OWL, DL </li></ul></ul><ul><ul><li>well understood theory, </li></ul></ul><ul><ul><li>rapid increase in scalability </li></ul></ul><ul><li>BUT it pretends that the world is static or at best a low change rate both in change-volume and change-frequency </li></ul><ul><ul><li>ontology versioning </li></ul></ul><ul><ul><li>belief revision </li></ul></ul><ul><ul><li>time stamps on named graphs </li></ul></ul><ul><li>It sticks to the traditional one-time semantics </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  8. 8. Background Continuous Semantics <ul><li>Processing data streams in the space of one-time semantics is difficult because of the very nature of the underlying data </li></ul><ul><li>Innovative * assumption: continuous semantics! </li></ul><ul><ul><li>streams can be consumed on the fly rather than being stored forever and </li></ul></ul><ul><ul><li>queries are registered and continuously produce answers </li></ul></ul><ul><li>* This innovation arose in DB community in ’90s </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  9. 9. Background Stream Processing <ul><li>Continuous queries registered over streams that are observed trough windows </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010 window input stream stream of answer Registered Continuous Query
  10. 10. Background Key Optimization in Stream Processing <ul><li>When a continuous query is registered, generate a query execution plan </li></ul><ul><ul><li>New plan merged with existing plans </li></ul></ul><ul><ul><li>Global scheduler for plan execution maximizing experience gathered with previous queries. </li></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  11. 11. Background Data Stream Management Systems (DSMS) <ul><li>Research Prototypes </li></ul><ul><ul><li>Amazon/Cougar (Cornell) – sensors </li></ul></ul><ul><ul><li>Aurora (Brown/MIT) – sensor monitoring, dataflow </li></ul></ul><ul><ul><li>Gigascope: AT&T Labs – Network Monitoring </li></ul></ul><ul><ul><li>Hancock (AT&T) – Telecom streams </li></ul></ul><ul><ul><li>Niagara (OGI/Wisconsin) – Internet DBs & XML </li></ul></ul><ul><ul><li>OpenCQ (Georgia) – triggers, view maintenance </li></ul></ul><ul><ul><li>Stream (Stanford) – general-purpose DSMS </li></ul></ul><ul><ul><li>Stream Mill (UCLA) - power & extensibility </li></ul></ul><ul><ul><li>Tapestry (Xerox) – publish/subscribe filtering </li></ul></ul><ul><ul><li>Telegraph (Berkeley) – adaptive engine for sensors </li></ul></ul><ul><ul><li>Tribeca (Bellcore) – network monitoring </li></ul></ul><ul><li>High-tech startups </li></ul><ul><ul><li>Streambase, Coral8, Apama, Truviso </li></ul></ul><ul><li>Major DBMS vendors are all adding stream extensions as well </li></ul><ul><ul><li>Oracle http://www.oracle.com/technology/products/dataint/htdocs/streams_fo.html </li></ul></ul><ul><ul><li>DB2 http://www.eweek.com/c/a/Database/IBM-DB2-Turns-25-and-Prepares-for-New-Life/ </li></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  12. 12. Concept Stream Reasoning [IEEE-IS2010, Dagstuhl2010] <ul><li>Idea origination </li></ul><ul><ul><li>Can continuous semantics be ported to reasoning? </li></ul></ul><ul><ul><li>This is an unexplored yet high impact research area! </li></ul></ul><ul><li>Stream Reasoning </li></ul><ul><ul><li>Logical reasoning in real time on gigantic and inevitably noisy data streams in order to support the decision process of extremely large numbers of concurrent users. </li></ul></ul><ul><ul><li>-- S. Ceri , E. Della Valle , F. van Harmelen and H. Stuckenschmidt , 2010 </li></ul></ul><ul><li>Note: making sense of streams necessarily requires processing them against rich background knowledge </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  13. 13. Concept Research Challenges <ul><li>Relation with data-stream systems </li></ul><ul><ul><li>Just as RDF relates to data-base systems? </li></ul></ul><ul><li>Query languages for semantic streams </li></ul><ul><ul><li>Just as SPARQL for RDF but with continuous semantics? </li></ul></ul><ul><li>Reasoning on Streams </li></ul><ul><ul><li>Formal representations for stream reasoning </li></ul></ul><ul><ul><ul><li>Active Logic? Step Logic? Temporal Logic? None of them? </li></ul></ul></ul><ul><ul><li>Notions of soundness and completeness </li></ul></ul><ul><ul><ul><li>How to define these on windows? </li></ul></ul></ul><ul><ul><li>Efficient incremental updates of deductive closures? </li></ul></ul><ul><ul><li>How to combine streams and background knowledge? </li></ul></ul><ul><li>Dealing with incomplete & noisy data </li></ul><ul><ul><li>Even more so than on the current Web of Data </li></ul></ul><ul><li>Distributed and parallel processing </li></ul><ul><ul><li>Streams are parallel in nature </li></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  14. 14. Concept Engineering challenges <ul><li>Software architectures </li></ul><ul><li>Integration with existing systems </li></ul><ul><li>Optimization and scalability </li></ul><ul><li>Real-time computations </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  15. 15. Concept Evaluation and Success Criteria <ul><li>An early attempt </li></ul><ul><ul><li>-- S. Ceri , E. Della Valle , F. van Harmelen , Ralf Möller and H. Stuckenschmidt , 2009 </li></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010 Efficiency Criterion Querying Answering Complex Inference Nr. of streams 10s of streams 10s of streams Speed per stream (assertions/second a/t) 1000s a/t 10s a/t Nr. of registered queries 100s of queries 100s of queries Response Latency 10s of milliseconds 1000s of milliseconds
  16. 16. Running Example Real-Time Streams on the Web <ul><li>Streams are appearing more and more often on the Web in sites that distribute and present information in real-time streams. </li></ul><ul><li>Checkout http://activitystrea.ms/ for a standard API </li></ul><ul><li>E.g. </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010 Emanuele Della Valle - visit http://streamreasoning.org LDOW2010 @ WWW 2010, Raleigh, North Carolina, April 27th, 2010
  17. 17. Running Example Example of Questions Users are Asking <ul><li>What are the hottest topics under discussion on Twitter? </li></ul><ul><li>Which topics have my close friends discussed in the last hour? </li></ul><ul><li>Who is discussing about Italian food in northern Italy right now? </li></ul><ul><li>Which movie is my friend likely to watch next? </li></ul><ul><li>Which Tuscany red wine should I recommend to one of my friends? </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  18. 18. Running Example Real Social Media Stream Data: Glue NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  19. 19. Running Example Glue Data Model as an Ontology NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010 URL rdfs : label skos : subject owl : sameAs Object Resource links describes URL foaf : name User sioc : follows foaf : knows accesses likes dislikes data stream background knowledge URL rdfs : label
  20. 20. Achievements Stream Reasoner Inputs and Outputs NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  21. 21. Achievements Explored Continuous Semantics for SeWeb <ul><li>We gave up one-time semantics in Semantic Web and explored the benefits provided by continuous semantics when dealing with streams </li></ul><ul><li>We investigated </li></ul><ul><ul><li>Architecture of a Simple Stream Reasoner </li></ul></ul><ul><ul><li>RDF streams </li></ul></ul><ul><ul><ul><li>the natural extension of the RDF data model to the new continuous scenario and </li></ul></ul></ul><ul><ul><li>Continuous SPARQL (or simply C-SPARQL ) </li></ul></ul><ul><ul><ul><li>the extension of SPARQL for querying RDF streams. </li></ul></ul></ul><ul><ul><li>Efficient incremental updates of deductive closures </li></ul></ul><ul><ul><ul><li>specifically considering the nature of data streams </li></ul></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  22. 22. Achievements Architecture of our Simple Stream Reasoner <ul><li>Based on the LarKC conceptual framework </li></ul><ul><li>http://www.larkc.eu </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010 Select Abstract Reason Streamed Input Window Content RDF Streams Answers Streams Window RDF Graphs
  23. 23. Achievements RDF Stream [WWW2009,EDBT2010] <ul><li>RDF Stream Data Type </li></ul><ul><ul><li>Ordered sequence of pairs, where each pair is made of an RDF triple and its timestamp t </li></ul></ul><ul><ul><ul><li>(< triple >, t) </li></ul></ul></ul><ul><li>E.g., </li></ul><ul><ul><li>(<:Giulia :likes :Twilight >, 2010-02-12T13:34:41) </li></ul></ul><ul><ul><li>(<:John :accesses :TheLordOfTheRings >, 2010-02-12T13:36:28) </li></ul></ul><ul><ul><li>(<:Alice :dislikes :Twilight >, 2010-02-12T13:36:28) </li></ul></ul><ul><ul><li>(<:Bob :accesses :Chianti >, 2010-02-12T13:37:18) </li></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  24. 24. Achievements Windows on RDF Streams <ul><li>RDF streams are intrinsically infinite </li></ul><ul><li>A window extracts the last triples </li></ul><ul><li>The extraction can be </li></ul><ul><ul><li>physical </li></ul></ul><ul><ul><ul><li>a given number of triples </li></ul></ul></ul><ul><ul><li>logical </li></ul></ul><ul><ul><ul><li>a variable number of triples which occur during a given time interval </li></ul></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  25. 25. Achievements Example Window of RDF Stream [SDOW2009] <ul><li>A real source of social semantic data streams </li></ul><ul><ul><li>Source: the Social Network Glue http://getglue.com </li></ul></ul><ul><ul><li>RDF obtained applying GRDDL to XML results of invocation of http://api.getglue.com/v2/glue/recent Glue REST service </li></ul></ul><ul><ul><li>Check out the current content of the window http://c-sparql.cefriel.it/sdow-demo/RDFstream.html </li></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  26. 26. Achievements C-SPARQL [WWW2009,EDBT2010] <ul><li>We specificied of C-SPARQL syntax </li></ul><ul><ul><li>Incrementally, from existing specifications </li></ul></ul><ul><ul><ul><li>Including windows, grouping, aggregates, timestamping </li></ul></ul></ul><ul><li>We gave the formal semantics of C-SPARQL </li></ul><ul><ul><li>Query registration, handling overloads </li></ul></ul><ul><ul><li>Order of evaluation, pattern matching over time, … </li></ul></ul><ul><li>We investigated efficiency of evaluation </li></ul><ul><ul><li>Defining a suitable algebra </li></ul></ul><ul><ul><li>Applying optimizations </li></ul></ul><ul><ul><li>Efficient materialization of inferred data from streams </li></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  27. 27. Achievements An Simple Example of C-SPARQL Query <ul><li>What have my closest friends been visiting in the last hour? </li></ul><ul><li>REGISTER QUERY WhatMyFriendsVisitedInTheLastHour AS </li></ul><ul><li>PREFIX sioc: <http://rdfs.org/sioc/ns#> </li></ul><ul><li>PREFIX foaf: <http://xmlns.com/foaf/0.1/> </li></ul><ul><li>PREFIX glue: <http://c-sparql.cefriel.it/sdow-demo/> </li></ul><ul><li>SELECT DISTINCT ?friend ?topic </li></ul><ul><li>FROM <http://c-sparql.cefriel.it/sdow-demo/glueusers.rdf> </li></ul><ul><li>FROM STREAM <http://c-sparql.cefriel.it/sdow-demo/interactions.trdf> </li></ul><ul><li>[ RANGE 60m STEP 5m ] </li></ul><ul><li>WHERE { glue:id1 foaf:knows ?friend . </li></ul><ul><li>?post sioc:has_creator ?friend . </li></ul><ul><li>?post rdf:type sioc:Post . </li></ul><ul><li>?post sioc:topic ?topic . } </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  28. 28. Achievements An Simple Example of C-SPARQL Query <ul><li>What have my closest friends been visiting in the last hour? </li></ul><ul><li>REGISTER QUERY WhatMyFriendsVisitedInTheLastHour AS </li></ul><ul><li>PREFIX sioc: <http://rdfs.org/sioc/ns#> </li></ul><ul><li>PREFIX foaf: <http://xmlns.com/foaf/0.1/> </li></ul><ul><li>PREFIX glue: <http://c-sparql.cefriel.it/sdow-demo/> </li></ul><ul><li>SELECT DISTINCT ?friend ?topic </li></ul><ul><li>FROM <http://c-sparql.cefriel.it/sdow-demo/glueusers.rdf> </li></ul><ul><li>FROM STREAM <http://c-sparql.cefriel.it/sdow-demo/interactions.trdf> </li></ul><ul><li>[ RANGE 60m STEP 5m ] </li></ul><ul><li>WHERE { glue:id1 foaf:knows ?friend . </li></ul><ul><li>?post sioc:has_creator ?friend . </li></ul><ul><li>?post rdf:type sioc:Post . </li></ul><ul><li>?post sioc:topic ?topic . } </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010 Triples from a graph Combined with triples from a stream Query registration (for continuous execution) FROM STREAM clause WINDOW
  29. 29. Achievements An Advance Example of C-SPARQL Query <ul><li>Who are the opinion makers? i.e., the users who are likely to influence the behavior of other users who follow them </li></ul><ul><li>REGISTER STREAM OpinionMakers COMPUTED EVERY 5m AS </li></ul><ul><li>CONSTRUCT { ?opinionMaker sd:about ?resource } </li></ul><ul><li>FROM STREAM <http://streamingsocialdata.org/interactions> [RANGE 30m STEP 5m] </li></ul><ul><li>WHERE { </li></ul><ul><li>?opinionMaker ?opinion ?resource . </li></ul><ul><li>?follower sioc:follows ?opinionMaker. </li></ul><ul><li>?follower ?opinion ?resource. </li></ul><ul><li>FILTER ( cs:timestamp (?follower) > cs:timestamp (?opinionMaker) </li></ul><ul><li>&& ?opinion != sd:accesses ) </li></ul><ul><li>} </li></ul><ul><li>HAVING ( COUNT(DISTINCT ?follower) > 3 ) </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  30. 30. Achievements C-SPARQL at Work [SDOW2009] NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010 http://c-sparql.cefriel.it/sdow-demo/C-SPARQLquery.html
  31. 31. Achievements Efficiency of Evaluation 1/3 [SDOW2009] <ul><li>Evaluation of Window-based Selection </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  32. 32. Achievements Efficiency of Evaluation 2/3 [EDBT2010] <ul><li>Several transformations can be applied to algebraic representation of C-SPARQL </li></ul><ul><li>some recalling well known results from classical relational optimization </li></ul><ul><ul><li>push of FILTERs and projections </li></ul></ul><ul><li>some being more specific to the domain of streams. </li></ul><ul><ul><li>push of aggregates. </li></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  33. 33. Achievements Efficiency of Evaluation 3/3 [EDBT2010] <ul><li>Push of filters and projections </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  34. 34. Achievements Example of C-SPARQL and Reasoning 1/2 <ul><li>Who are the movie opinion makers ? </li></ul><ul><li>REGISTER STREAM MovieOpinionMakers COMPUTED EVERY 5m AS </li></ul><ul><li>CONSTRUCT { ?opinionMaker sd:about ?resource } </li></ul><ul><li>FROM STREAM <http://streamingsocialdata.org/interactions> [RANGE 30m STEP 5m] </li></ul><ul><li>WHERE { </li></ul><ul><li>?opinionMaker ?opinion ?resource . </li></ul><ul><li>?opinionMaker a sd:UserOnlyInterestInMovies . </li></ul><ul><li>?follower sioc:follows ?opinionMaker. </li></ul><ul><li>?follower ?opinion ?resource. </li></ul><ul><li>FILTER ( cs:timestamp(?follower) > </li></ul><ul><li>cs:timestamp(?opinionMaker) </li></ul><ul><li>&& ?opinion != sd:accesses ) </li></ul><ul><li>} </li></ul><ul><li>HAVING ( COUNT(DISTINCT ?follower) > 3 ) </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  35. 35. Achievements Example of C-SPARQL and Reasoning 2/2 <ul><li>If we define </li></ul><ul><li>sd:UserOnlyInterestInMovies rdfs:subClassOf sd:User; </li></ul><ul><li>rdfs:subClassOf [ </li></ul><ul><li> a owl:Restriction; </li></ul><ul><li> owl:onProperty sd:likes; </li></ul><ul><li> owl:allValuesFrom yago:Movie; </li></ul><ul><li>] . </li></ul><ul><li>if the current window contains the following triples, </li></ul><ul><li>( <:Giulia sd:likes :Avatar >, 2010-02-12T13:18:05) </li></ul><ul><li>( <:John sd:likes :StarWars >, 2010-02-12T13:36:23) </li></ul><ul><li>( <:John sd:likes :WutheringHeights >, 2010-02-12T13:38:07) </li></ul><ul><li>( <:Giulia sd:likes :AliceInWonderland >, 2010-02-12T13:42:07) </li></ul><ul><li>Giulia is an instance of the class UserOnlyInterestInMovies (i.e., she liked only movies), while John is not (i.e., he liked a movies and a book). </li></ul><ul><ul><li>NOTE: we are using OWL2-RL + Negation As Failure </li></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  36. 36. Achievements Incremental Reasoning: State-of-the-Art <ul><li>Incremental Maintenance of Materialized Views </li></ul><ul><ul><li>Stefano Ceri, Jennifer Widom: Deriving Incremental Production Rules for Deductive Data. Inf. Syst. 19(6): 467-490 (1994) </li></ul></ul><ul><ul><li>HA Kuno, EA Rundensteiner: Incremental Maintenance of Materialized Object-Oriented Views in MultiView: Strategies and Performance Evaluation. TDKE 1998 </li></ul></ul><ul><ul><li>Raphael Volz, Steffen Staab, Boris Motik: Incrementally Maintaining Materializations of Ontologies Stored in Logic Databases. J. Data Semantics 2: 1-34 (2005) </li></ul></ul><ul><li>Incremental Rule-based Reasoning </li></ul><ul><ul><li>F Fabret, M Regnier, E Simon: An Adaptive Algorithm for Incremental Evaluation of Production Rules in Databases. VLDB 1993 </li></ul></ul><ul><ul><li>B. Berster: Extending the RETE Algorithm for Event Management.TIME’02 </li></ul></ul><ul><li>Incremental DL Reasoning </li></ul><ul><ul><li>Cuenca-Grau et al : History Matters: Incremental Ontology Reasoning Using Modules. ISWC 2007. </li></ul></ul><ul><ul><li>Parsia et al: Towards incremental reasoning through updates in OWL-DL. - Reasoning on the Web-Workshop at WWW-2006 </li></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  37. 37. Achievements State-of-the-Art Approach [Ceri1994,Volz2005] <ul><li>Overestimation of deletion : Overestimates deletions by computing all direct consequences of a deletion. </li></ul><ul><li>Rederivation : Prunes those estimated deletions for which alternative derivations (via some other facts in the program) exist. </li></ul><ul><li>Insertion : Adds the new derivations that are consequences of insertions to extensional predicates. </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  38. 38. Achievements our approach [ESWC2010] 1/2 <ul><li>Assuption </li></ul><ul><ul><li>Insertions and deletions are triples respectively entering and exiting the window </li></ul></ul><ul><ul><li>The window size is known </li></ul></ul><ul><li>Therefore </li></ul><ul><ul><li>The time when each triple will expire is known and determined by the window size </li></ul></ul><ul><ul><ul><li>E.g. if the window is 10s long a triple entering at time t will exit at time t+10s </li></ul></ul></ul><ul><ul><li>Note: all knowledge can be annotated with an expiration time </li></ul></ul><ul><ul><ul><li>i.e., background knowledge is annotated with +  </li></ul></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  39. 39. Achievements our approach [ESWC2010] 2/2 <ul><li>The algorithm </li></ul><ul><ul><li>computes the entailments derived by the inserts, </li></ul></ul><ul><ul><li>annotates each entailed triple with a expiration time, and </li></ul></ul><ul><ul><li>eliminates from the current state all copies of derived triples except the one with the highest timestamp. </li></ul></ul><ul><li>NOTE: if you like to learn more come to my presentation on 1.6.2010 in Mobility & Sensor Network I session </li></ul><ul><ul><li>http://www.slideshare.net/emanueledellavalle/incremental-reasoning-on-streams-andrich-background-knowledge </li></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  40. 40. Achievements Comparative Evaluation [ESWC2010] <ul><li>Hypothesis </li></ul><ul><ul><li>Background knowledge do not change and it is materialized </li></ul></ul><ul><ul><li>Changes only take place in the window </li></ul></ul><ul><li>An experiment comparing the time required to compute a new materialization using </li></ul><ul><ul><li>Re-computing from scratch (i.e.,1250 ms in our setting) </li></ul></ul><ul><ul><li>State of the art incremental approach [Volz, 2005] </li></ul></ul><ul><ul><li>Our approach </li></ul></ul><ul><li>Results at increasing % of the triples updated </li></ul><ul><li>. </li></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  41. 41. Retrospective and Conclusions Wrap Up <ul><li>RDF Streams </li></ul><ul><ul><li>Notion defined </li></ul></ul><ul><ul><li>Examples of RDF streams can be easily created </li></ul></ul><ul><ul><ul><li>e.g., http://c-sparql.cefriel.it/sdow-demo/RDFstream.html </li></ul></ul></ul><ul><li>C-SPARQL </li></ul><ul><ul><li>Syntax and semantics defined as a SPARQL extension </li></ul></ul><ul><ul><li>Engine designed </li></ul></ul><ul><ul><li>Engine implemented based on the decision to keep stream management and query evaluation separated </li></ul></ul><ul><li>Experiments with C-SPARQL under simple RDF entailment regimes </li></ul><ul><ul><li>window based selection of C-SPARQL outperforms the standard FILTER based selection </li></ul></ul><ul><ul><li>having formally defined C-SPARQL semantics algebraic optimizations are possible </li></ul></ul><ul><li>Experiment with C-SPARQL under OWL-RL entailment regimes </li></ul><ul><ul><li>efficient incremental updates of deductive closures investigated </li></ul></ul><ul><ul><li>our approach outperform state-of-the-art when updates comes as stream </li></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  42. 42. Retrospective and Conclusions Achievements vs. Research Challenges <ul><li>Relation with data-stream systems </li></ul><ul><ul><li>Notion of RDF stream :-| </li></ul></ul><ul><li>Query languages for semantic streams </li></ul><ul><ul><li>C-SPARQL :-D </li></ul></ul><ul><li>Reasoning on Streams </li></ul><ul><ul><li>Formal representations for stream reasoning </li></ul></ul><ul><ul><ul><li>:-P </li></ul></ul></ul><ul><ul><li>Notions of soundness and completeness </li></ul></ul><ul><ul><ul><li>:-P </li></ul></ul></ul><ul><ul><li>Efficient incremental updates of deductive closures </li></ul></ul><ul><ul><ul><li>ESWC 2010 paper :-) ... but much more work is needed! </li></ul></ul></ul><ul><ul><li>How to combine streams and background knowledge </li></ul></ul><ul><ul><ul><li>ESWC 2010 paper :-| ... but a lot needs to be studied ... </li></ul></ul></ul><ul><li>Dealing with incomplete & noisy data </li></ul><ul><ul><li>:-P </li></ul></ul><ul><li>Distributed and parallel processing </li></ul><ul><ul><li>:-P </li></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  43. 43. Retrospective and Conclusions Achievements vs. Engineering challenges <ul><li>Software architectures </li></ul><ul><ul><li>C-SPARQL engine :-| only very preliminary results </li></ul></ul><ul><li>Integration with existing systems </li></ul><ul><ul><li>:-) C-SPARQL prototype based on esper </li></ul></ul><ul><li>Optimization </li></ul><ul><ul><li>:-) EDBT 2010 and ESWC 2010 paper, but still a lot of investigation is possible </li></ul></ul><ul><li>Scalability </li></ul><ul><ul><li>:-D for Query Answering in C-SPARQL under simple RDF entailment regime </li></ul></ul><ul><ul><li>:-| for Query Answering in C-SPARQL under OWL-RL entailment regime </li></ul></ul><ul><ul><li>:-P for Complex Reasoning </li></ul></ul><ul><li>Real-time computations </li></ul><ul><ul><li>:-P </li></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  44. 44. Retrospective and Conclusions A Key Problem to Investigate [Dagstuhl2010] <ul><li>Reasoning on Data streams has a huge potential impact </li></ul><ul><li>Current Reasoning methods are not suited to work on data with a high change frequency. </li></ul><ul><li>A promising approach? </li></ul><ul><ul><li>-- H. Stuckenschmidt, S. Ceri, E. Della Valle and F. van Harmelen, 2010 </li></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010 Raw Stream Processing RDF Streams Logic Programs DL Complexity Reasoning Querying Rewriting Abstraction Selection Interpretation Change Frequency PTIME 2NEXPTIME 10 4 Hz 1 Hz Dynamics and Scale vs. Complexity Evolving Knowlege
  45. 45. References (selection) <ul><li>Vision </li></ul><ul><ul><li>[IEEE-IS2009] Emanuele Della Valle, Stefano Ceri, Frank van Harmelen, Dieter Fensel It's a Streaming World! Reasoning upon Rapidly Changing Information . IEEE Intelligent Systems 24(6): 83-89 (2009) bibtex </li></ul></ul><ul><li>Continuous SPARQL (C-SPARQL) </li></ul><ul><ul><li>[EDBT2010] Davide Francesco Barbieri, Daniele Braga, Stefano Ceri and Michael Grossniklaus. An Execution Environment for C-SPARQL Queries . EDBT 2010 </li></ul></ul><ul><ul><li>[WWW2009] Davide Francesco Barbieri, Daniele Braga, Stefano Ceri, Emanuele Della Valle, Michael Grossniklaus: C-SPARQL: SPARQL for continuous querying . WWW 2009: 1061-1062 bibtex </li></ul></ul><ul><ul><li>[SDOW2009] Davide Francesco Barbieri, Daniele Braga, Stefano Ceri and Emanuele Della Valle and Michael Grossniklaus, Continuous Queries and Real-time Analysis of Social Semantic Data with C-SPARQL , in SDoW 2009 Colocated with ISWC 2009. bibtex </li></ul></ul><ul><li>Stream Reasoning </li></ul><ul><ul><li>[ESWC2010] Davide Francesco Barbieri, Daniele Braga, Stefano Ceri, Emanuele Della Valle, Michael Grossniklaus. Incremental Reasoning on Streams and Rich Background Knowledge. In. 7th Extended Semantic Web Conference (ESWC 2010) </li></ul></ul><ul><ul><li>[Dagstuhl2010] Heiner Stuckenschmidt, Stefano Ceri, Emanuele Della Valle and Frank van Harmelen. Towards Expressive Stream Reasoning. Proceedings of the Dagstuhl Seminar on Semantic Aspects of Sensor Networks, 2010. </li></ul></ul>NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010
  46. 46. Thank You! Questions? Much More to Come! Keep an eye on http://www.streamreasoning.org NeFoRS'10 @ ESWC 2010, Heraklion, Greece, May 31st, 2010

×