c sparql a continuous extension of sparql
play

C-SPARQL: A Continuous Extension of SPARQL Marco Balduini - PowerPoint PPT Presentation

Stream Reasoning for Linked Data M. Balduini, J-P Calbimonte, O. Corcho, D. Dell'Aglio, E. Della Valle http://streamreasoning.org/events/sr4ld2014 C-SPARQL: A Continuous Extension of SPARQL Marco Balduini marco.balduini@polimi.it Share,


  1. Stream Reasoning for Linked Data M. Balduini, J-P Calbimonte, O. Corcho, D. Dell'Aglio, E. Della Valle http://streamreasoning.org/events/sr4ld2014 C-SPARQL: A Continuous Extension of SPARQL Marco Balduini marco.balduini@polimi.it

  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 – “ [source http://streamreasoning.org/rsp2014] ” at the end of each reused slide – a credits slide stating - These slides are partially based on “ Streaming Reasoning for Linked Data 2013 ” by M. Balduini, J-P Calbimonte, O. Corcho, D. Dell'Aglio, E. Della Valle, and J.Z. Pan http://streamreasoning.org/sr4ld2013 § To view a copy of this license, visit http://creativecommons.org/licenses/by/3.0/ 2 http://streamreasoning.org/events/sr4ld2014

  3. Agenda § Introduction § Running example § C-SPARQL language • Query and Stream Registration • FROM STREAM Clause • TimeStamp Function • Query Chaining • Accessing background Information • Stream reasoning support § C-SPARQL Engine § Resources 3 http://streamreasoning.org/events/sr4ld2014

  4. A Reminder of SPARQL http://streamreasoning.org/events/sr4ld2014 4

  5. Where C-SPARQL Extends SPARQL http://streamreasoning.org/events/sr4ld2014 5

  6. C-SPARQL language § C-SPARQL is an extension of SPARQL 1.1 § C-SPARQL queries • Changes the semantics of SPARQL 1.1 query forms from the one-time semantics to the continuous one (i.e., instantaneous) • Adds to SPARQL 1.1 query forms the STREAM form and • Adds to SPARQL 1.1 datasets clauses the FROM STREAM one • Adds a built-in function to access the timestamp of a triple 6 http://streamreasoning.org/events/sr4ld2014

  7. Running Example RedRoom BlueRoom Bob RedSensor 4 Carl f Alice R David Elena f BlueSensor RFID Foursquare Facebook is with 4 f R http://streamreasoning.org/events/sr4ld2014 7

  8. Running Example – Data Model Streaming Background information information where Room isConnectedTo observes Observation isIn Sensor subClassOf subPropOf posts Post subClassOf discusses Person who isWith http://streamreasoning.org/events/sr4ld2014 8

  9. Running Example Background Information § The Ontology • http://www.streamreasoning.org/ontologies/sr4ld2014-onto.rdf § The Static Instances • :Alice a :Person . • :Bob a :Person . • :Carl a :Person . • :David a :Person . • :Elena a :Person . • :RedRoom a :Room . • :BlueRoom a :Room . • :RedRoom :isConnectedTo :BlueRoom . • :RedSensor a :Sensor . • :BlueSensor a :Sensor . 9 http://streamreasoning.org/events/sr4ld2014

  10. Running Example Example data in the streams § Four ways to learn who is where Sensor Room Person Time-stamp RedSensor RedRoom Alice T 1 … … … … Person ChecksIn Time-stamp Bob BlueRoom T 2 … … … Person IsIn With Time-stamp Carl null Bob T 2 David RedRoom Elena T 3 … … … … 10 http://streamreasoning.org/events/sr4ld2014

  11. Running Example Streaming Information § RDF Stream Data Type • Ordered sequence of pairs, where each pair is made of an RDF triple and its timestamp – Timestamps are not required to be unique, they must be non- decreasing § E.g., Streamed RDF graph Time- Stream stamp :RedSensor :observes [ :who :Alice; :where :RedRoom ] . T 1 rfid :Bob :posts [ :who :Bob ; :where :BlueRoom ] . T 2 fs :Carl :posts [ :who :Carl , :Bob ] . T 2 fb :David :posts [ :who :David , :Elena ; :where :RedRoom] T 3 fb 11 http://streamreasoning.org/events/sr4ld2014

  12. C-SPARQL language § Features illustrated in the rest of this session • register continuous queries – QUERY form – STREAM form • identify relevant information in one or more RDF streams • derive and aggregate information from one or more RDF streams • join or merge RDF streams • feed results of one C-SPARQL query to a subsequent C-SPARQL query • access background RDF graphs • answer using rule based encoding of owl fragments 12 http://streamreasoning.org/events/sr4ld2014

  13. C-SPARQL Language Query and Stream Registration http://streamreasoning.org/events/sr4ld2014 13

  14. C-SPARQL Language Query and Stream Registration § All C-SPARQL queries over RDF streams are continuous • Registered through the REGISTER statement § The output of queries is in the form of • Instantaneous tables of variable bindings • Instantaneous RDF graphs • RDF stream § Only queries in the CONSTRUCT form can be registered as generators of RDF streams § Composability: • Query results registered as streams can feed other registered queries just like every other RDF stream 14 http://streamreasoning.org/events/sr4ld2014

  15. C-SPARQL Language Query registration - Example § Using the social stream fb, Who is where? REGISTER QUERY QWhoIsWhereOnFb AS PREFIX : <http://…/sr4ld2014-onto#> SELECT ?room ?person FROM STREAM <http://…/fb> [RANGE 1m STEP 10s] WHERE { ?person1 :posts [ :who ?person ; :where ?room ] . } § The resulting variable bindings has to be interpreted as an instantaneous. It expires as soon as the query is recomputed 15 http://streamreasoning.org/events/sr4ld2014

  16. C-SPARQL Language Stream registration - Example § Results of a C-SPARQL query can be stream out for down stream queries REGISTER STREAM SWhoIsWhereOnFb AS PREFIX : <http://…/sr4ld2014-onto#> CONSTRUCT { ?person :isIn ?room } FROM STREAM <http://…/fb> [RANGE 1m STEP 10s] WHERE { ?person1 :posts [ :who ?person ; :where ?room ] . } § The resulting RDF triples are streamed out on an RDF stream • More details in the C-SPARQL Engine hands-on session 16 http://streamreasoning.org/events/sr4ld2014

  17. C-SPARQL Language Stream Registration - Notes § The output is constructed in the format of an RDF stream. § Every query execution may produce from a minimum of zero triples to a maximum of an entire graph. § The timestamp is always dependent on the query execution time only, and is not taken from the triples that match the patterns in the WHERE clause. 17 http://streamreasoning.org/events/sr4ld2014

  18. C-SPARQL Language FROM STREAM Clause http://streamreasoning.org/events/sr4ld2014 18

  19. C-SPARQL Language FROM STREAM Clause § FROM STREAM clauses are similar to SPARQL datasets • They identify RDF stream data sources • They represent windows over a RDF stream § They define the RDF triples available for querying and filtering. 19 http://streamreasoning.org/events/sr4ld2014

  20. C-SPARQL Language FROM STREAM Clause - windows § physical: a given number of triples § logical: a variable number of triples which occur during a given time interval (e.g., 1 hour) • Sliding: they are progressively advanced of a given STEP (e.g., 5 minutes) • Tumbling: they are advanced of exactly their time interval 20 http://streamreasoning.org/events/sr4ld2014

  21. C-SPARQL Language FROM STREAM Clause - Windows § Grammar of the FROM STREAM clause 21 http://streamreasoning.org/events/sr4ld2014

  22. C-SPARQL Language FROM STREAM Clause - Example § Using the social stream fb, how many people are in the same room? Count on a window of 1 minute that slides every 10 seconds REGISTER QUERY HowManyPoepleAreInTheSameRoom AS PREFIX : <http://…/sr4ld2014-onto#> SELECT ?room (COUNT(DISTINCT ?s) as ?person) FROM STREAM <http://…/fb> [RANGE 1m STEP 10s] WHERE { ?person1 :posts [ :who ?person ; :where ?room ] . } GROUP BY ?room 22 http://streamreasoning.org/events/sr4ld2014

  23. C-SPARQL Language C-SPARQL reports only snapshots Incoming Time window [RANGE 40s STEP 10s] Window timestamped content t+40 t+50 t+60 t+70 t+80 t RDF triples t+10 t+20 t+30 d 1 d 1 d 1 d 1 d 1 t+40 d 1 d 1 d 2 d 2 d 2 d 2 t+50 d 1 , d 2 d 2 t+60 d 1 , d 2 d 3 d 3 d 3 t+70 d 1 , d 2 , d 3 t+80 d 2 , d 3 http://streamreasoning.org/events/sr4ld2014 23

  24. C-SPARQL Language Multiple FROM STREAM Clause - Example § Using the social stream fb and fs , how many people are in the same room? Count on a window of 1 minute that slides every 10 seconds REGISTER QUERY HowManyPoepleAreInTheSameRoom AS PREFIX : <http://…/rsp2014-onto#> SELECT ?room (COUNT(DISTINCT ?s) as ?person) FROM STREAM <http://…/ fb > [RANGE 1m STEP 10s] FROM STREAM <http://…/ fs > [RANGE 1m STEP 10s] WHERE { ?person1 :posts [ :who ?person ; :where ?room ] . } GROUP BY ?room 24 http://streamreasoning.org/events/sr4ld2014

  25. C-SPARQL Language Query Chaining § A C-SPARQL query Q 1 registered using the STREAM clause streams results on an RDF stream § A down stream C-SPARQL query Q 2 can open a window on the RDF stream of Q 1 using the FROM STREAM clause § E.g., :Bob :posts [ :who :Bob ; :where :BlueRoom ] . :Bob :isIn :BlueRoom . 4 Is in on 4 Stream Stream query Is In across f and 4 query f Is with on f Stream Stream query :Carl :isIn :BlueRoom . :Carl :posts [ :who :Carl , :Bob ] . :Carl :isWith :Bob . 25 http://streamreasoning.org/events/sr4ld2014

  26. C-SPARQL Language TimeStamp Function http://streamreasoning.org/events/sr4ld2014 26

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