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.

Sensors, Mappings and Queries in the Semantic Web

1,335 views

Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

Sensors, Mappings and Queries in the Semantic Web

  1. 1. Date: 06/07/2011<br />OEG – Charlas de Grupo<br />Sensors, Mappings and Queries(from a Semantic Web perspective)<br />Jean-Paul Calbimonte<br />Ontology Engineering Group. <br />Facultad de Informática, Universidad Politécnica de Madrid. <br />jp.calbimonte@upm.es<br />
  2. 2. Outline<br />2<br />Sensors, Mappings and Queries<br />Previouswork<br />Sensor data<br />Sensormetadata<br />Semantic Web representation<br />Mappingsensorstreams<br />Query observations<br />Data integration<br />
  3. 3. Previously on …<br />3<br />Sensors, Mappings and Queries<br />Work with Flood environmental sensor data.<br />SemSorGrid4Env project www.semsorgrid4env.eu.<br />Live sensor data<br />Continuousqueries<br />We are gettinghighwavesaroundhere!<br />
  4. 4. Previously on…<br />4<br />Sensors, Mappings and Queries<br />SELECT ?waveheight<br />FROM STREAM <www.ssg4env.eu/SensorReadings.srdf> <br />[FROM NOW -10 MINUTES TO NOW STEP 1 MINUTE]<br />WHERE { <br /> ?WaveObsa sea:WaveHeightObservation;<br /> sea:hasValue ?waveheight; }<br />SELECT measuredFROM wavesamples [NOW -10 MIN]<br />conceptmap-def WaveHeightMeasurement<br />virtualStream <http://ssg4env.eu/Readings.srdf> <br />uri-as concat('ssg4env:WaveSM_',<br />wavesamples.sensorid,wavesamples.ts) <br />attributemap-defhasValue<br />operation constant <br />has-columnwavesamples.measured<br />dbrelationmap-def isProducedBy <br />toConcept Sensor <br />joins-via condition equals <br />has-column sensors.sensorid <br />has-columnwavesamples.sensorid<br />conceptmap-def Sensor <br />uri-as concat('ssg4env:Sensor_',sensors.sensorid) <br /> attributemap-def hasSensorid <br />operation constant <br />has-column sensors.sensorid<br />Query<br />translation<br />SNEEql<br />SPARQLStream<br />Query Processing<br />Stream-to-Ontology<br />mappings<br />Client<br />Sensor Network <br />Data<br />translation<br />[tuples]<br />[triples]<br />S2O Mappings<br />
  5. 5. Previously on …<br />5<br />Sensors, Mappings and Queries<br />Mapping data streams to ontologies<br />Use ontological schemas to write queries over streaming data sources <br />Rewriting SPARQL-Stream queries into declarative stream queries (e.g. SNEEql)<br />conceptmap-def WindSpeedMeasurement <br />virtualStream <http://ssg4env.eu/Readings.srdf> <br />uri-as concat('ssg4env:WindSM_',<br /> windsamples.sensorid,windsamples.ts) <br /> attributemap-def hasSpeed <br />operation constant <br />has-column windsamples.speed <br />dbrelationmap-def isProducedBy <br />toConcept Sensor <br />joins-via condition equals <br />has-column sensors.sensorid <br />has-column windsamples.sensorid<br />conceptmap-def Sensor <br />uri-as concat('ssg4env:Sensor_',sensors.sensorid) <br /> attributemap-def hasSensorid <br />operation constant <br />has-column sensors.sensorid<br />WindSpeed<br />Measurement<br />s:windsamples<br />hasSpeed<br />sensorid: int PK<br />ts: datetime PK<br />speed: float<br />isProducedBy<br />xsd:float<br />Sensor<br />t:sensors<br />hasSensorid<br />sensorid: int PK<br />sensorname: st<br />xsd:int<br />Ontologies<br />Streams<br />S2O Mapping<br />Calbimonte, J-P., Corcho O., Gray, A. EnablingOntology-based Access to Streaming Data Sources. In ISWC 2010.<br />
  6. 6. Keep on working<br />Other streaming technologies?<br />Otherquerylanguages?<br />Hundreds of sensors?<br />Integratingheterogeneous data?<br />6<br />Sensors, Mappings and Queries<br />Beyond SSG4Env Streaming Data Services<br />OtherthanSNEEql: CQL-like, Service calls<br />Not onlytoy-likestreams<br />Many sources fromdifferent providers, schemas<br />
  7. 7. A little help fromourfriends<br />FP7 Network of Excellence<br />SwissExperiment<br />7<br />Sensors, Mappings and Queries<br />Environmental and GeoScience research<br />Swiss Alps<br />Geo<br />Researcher<br />Snow,<br />Wind,<br />Radiation.<br />Lot of stuff<br />Real-time <br />data<br />...<br />...<br />...<br />I want data to createmyprettymodels and compare<br />I want to win a best paperaward<br />
  8. 8. SwissEx<br />8<br />Sensors, Mappings and Queries<br />Global Sensor Networks, deployment for SwissEx.<br />Distributedenvironment: GSN Davos, GSN Zurich, etc.<br />In each site, a number of sensorsavailable<br />Each one withdifferentschema<br />Metadatastored in wiki<br />Federatedmetadata management:<br />Jeung H., Sarni, S., Paparrizos, I., Sathe, S., Aberer, K., Dawes, N., Papaioannus, T., Lehning, M.EffectiveMetadata Management in federatedSensor Networks.  in SUTC, 2010<br />Sensor observations<br />Sensormetadata<br />
  9. 9. SensorMetadata<br />9<br />Sensors, Mappings and Queries<br />station<br />location<br />sensors<br />model<br />properties<br />
  10. 10. SensorMetadata<br />Whatproperties are measured<br />Whichsensorsavailable<br />Where are theylocated<br />How are theyconfigured<br />Whoisresponsible<br />10<br />Sensors, Mappings and Queries<br />
  11. 11. Sensor Data: Observations<br />11<br />Sensors, Mappings and Queries<br />Heterogeneity<br />Integration<br />
  12. 12. A model to bindthem all<br />W3C SSN Ontology<br />12<br />Sensors, Mappings and Queries<br />ssn:isProducedBy<br />ssn:SensorOutput<br />ssn:Sensor<br />ssn:observedBy<br />ssn:observationResult<br />ssn:hasValue<br />ssn:Observation<br />ssn:ObservationValue<br />ssn:observes<br />ssn:featureOfInterest<br />quantityValue<br />ssn:observedProperty<br />ssn:FeatureOfInterest<br />xsd:datatype<br />ssn:Property<br />ssn:hasProperty<br />
  13. 13. SSN Ontology<br />13<br />Sensors, Mappings and Queries<br />ssn:OperatingRange<br />ssn:hasOperatingRange<br />ssn:Deployment<br />ssn:Sensing<br />ssn:hasDeployment<br />ssn:System<br />ssn:deployedOnPlatform<br />ssn:implements<br />ssn:Sensor<br />ssn:onPlatform<br />ssn:Device<br />ssn:Platform<br />ssn:hasMeasurementCapability<br />ssn:MeasurementCapability<br />ssn:SensingDevice<br />
  14. 14. So Far<br />14<br />Sensors, Mappings and Queries<br />SSN Ontology<br />Query translation<br />q<br />Client<br />Target query<br />Sensor Networks<br />SPARQLStream<br />q’<br />Query Processing<br />mappings<br />???<br />d’<br />Data translation<br />d<br />[tuple]<br />[tuple]<br />[triple]<br />Ontology-based sensor query service<br />
  15. 15. CreatingMappings<br />15<br />Sensors, Mappings and Queries<br />ssn:observedProperty<br />ssn:Observation<br />ssn:Property<br />http://swissex.ch/data#<br />Wan7/WindSpeed/Observation{timed}   <br />sweetSpeed:WindSpeed<br />ssn:observationResult<br />wan7<br />ssn:SensorOutput<br />timed: datetime PK<br />sp_wind: float<br />http://swissex.ch/data#<br />Wan7/ WindSpeed/ ObsOutput{timed}   <br />ssn:hasValue<br />ssn:ObservationValue<br />http://swissex.ch/data#<br />Wan7/WindSpeed/ObsValue{timed} <br />qudt:numericValue<br />xsd:decimal<br />sp_wind<br />
  16. 16. R2RML<br />RDB2RDF W3C Group, R2RML Mappinglanguage:<br />http://www.w3.org/2001/sw/rdb2rdf/r2rml/<br />16<br />Sensors, Mappings and Queries<br />:Wan4WindSpeed a rr:TriplesMapClass;<br />rr:tableName "wan7";<br />rr:subjectMap [ rr:template <br /> "http://swissex.ch/ns#WindSpeed/Wan7/{timed}";<br />rr:classssn:ObservationValue; rr:graphssg:swissexsnow.srdf];<br />rr:predicateObjectMap [ rr:predicateMap [ rr:predicatessn:hasQuantityValue];<br />rr:objectMap[ rr:column"sp_wind" ] ]; . <br /><http://swissex.ch/ns#/WindSpeed/Wan7/2011-05-20:20:00> <br />a ssn:ObservationValue<br /><http://swissex.ch/ns#/WindSpeed/Wan7/2011-05-20:20:00> <br />ssn:hasQuantityValue" 4.5"<br />
  17. 17. So Far<br />17<br />Sensors, Mappings and Queries<br />SSN Ontology<br />Query translation<br />???<br />q<br />Client<br />Target query<br />Sensor Networks<br />SPARQLStream<br />q’<br />Query Processing<br />mappings<br />R2RML<br />d’<br />Data translation<br />d<br />GSN<br />[tuple]<br />[tuple]<br />[triple]<br />Ontology-based sensor query service<br />
  18. 18. Data Access<br />GSN Web Services<br />GSN URL API<br />Compose the query as a URL:<br />18<br />Sensors, Mappings and Queries<br />http://montblanc.slf.ch :22001/ multidata ?vs [0]= wan7 &<br />field [0]= sp_wind&<br />from =15/05/2011+05:00:00& to =15/05/2011+10:00:00&<br />c_vs [0]= wan7 & c_field [0]= sp_wind& c_min [0]=10<br />?<br />SELECT sp_windFROM wan7 [NOW -5 HOUR] WHERE sp_wind >10<br />
  19. 19. Algebra expressions<br />19<br />Sensors, Mappings and Queries<br />π<br />http://montblanc.slf.ch :22001/ multidata ?vs [0]= wan7 &<br />field [0]= sp_wind&<br />from =15/05/2011+05:00:00& to =15/05/2011+10:00:00&<br />c_vs [0]= wan7 & c_field [0]= sp_wind& c_min [0]=10<br />timed,<br />sp_wind<br />σ<br />sp_wind>10<br />ω<br />5 Hour<br />SELECT sp_windFROM wan7 [NOW -5 HOUR] WHERE sp_wind >10<br />wan7<br />
  20. 20. Algebra construction<br />20<br />Sensors, Mappings and Queries<br />π<br />timed,<br />sp_wind<br />windsensor1<br />σ<br />windsensor2<br />sp_wind>10<br />ω<br />5 Hour<br />wan7<br />
  21. 21. Staticoptimization<br />21<br />Sensors, Mappings and Queries<br />π<br />π<br />π<br />timed,<br />sp_wind<br />timed,<br />windvalue<br />timed,<br />windvalue<br />σ<br />σ<br />σ<br />sp_wind>10<br />windvalue>10<br />windvalue>10<br />ω<br />ω<br />ω<br />5 Hour<br />5 Hour<br />5 Hour<br />wan7<br />windsensor1<br />windsensor2<br />
  22. 22. Gettingthingsdone<br />Transformed wiki metadata to SSN instances in RDF<br />Generated R2RML mappings for all sensors<br />Implementation of Ontology-basedquerying over GSN<br />Fronting GSN with SPARQL-Stream queries<br />Numbers:<br />28 Deployments<br />Aprox. 50 sensors in eachdeployment<br />More than 1500 sensors<br />Live updates. Lowfrequency<br />Access to all metadata/not all data<br />22<br />Sensors, Mappings and Queries<br />
  23. 23. Uglylittledemo<br />Problems<br />Toomanysensors<br />TooHeterogeneous<br />Anysensorsavailable in thisregion?<br />Sensorsthatmeasurewind speed?<br />How about getting the data?<br />23<br />Sensors, Mappings and Queries<br />
  24. 24. Playingwithit<br />24<br />Sensors, Mappings and Queries<br />
  25. 25. Playingwithit<br />25<br />Sensors, Mappings and Queries<br />
  26. 26. Conclusions<br />Thou shalt use the SSN Ontology !<br />Using R2RML mappings<br />Wecanapply the approach to different technologies<br />Wecan translate to querylanguages and APIs<br />Algebra expressions are cool<br />Scale to hundreds of sensors<br />26<br />Sensors, Mappings and Queries<br />
  27. 27. TODO<br />Makethings usable<br />Combine with LD generation<br />Integratewithstored RDF data<br />Streaming/Dynamic RDF vocabularies<br />Apply to otherenvironments<br />MonetDB<br />OGC SOS Services<br />Pachube<br />27<br />Sensors, Mappings and Queries<br />
  28. 28. Thanks!<br />Questions, please.<br />28<br />Sensors, Mappings and Queries<br />

×