4th Future Internet Symposium FIS 2011
                   Vienna, Austria




Linked Sensor Data 101


      Oscar Corcho, Jean-Paul Calbimonte,
     Raúl García-Castro and Freddy Priyatna

                 Ontology Engineering Group.
  Facultad de Informática, Universidad Politécnica de Madrid.



                    jp.calbimonte@upm.es




                                                                Date: 09/11/2011
Linked Sensor Data 101


Motivation

                 Ingredients


     Linked Sensor Data

                        Generate

Consume


             2
Motivation




From Sensor Networks…

      … to the Sensor Web/
               Internet of Things…

                 … to Semantic Sensor Web and …
                              Linked Sensor Data




                          3
Sensors
                                     (t9, a1,   a2, ... , an)
                                     (t8, a1,   a2, ... , an)
                   Streaming         (t7, a1,   a2, ... , an)
• Cheaper          Data
                                     ...
                                     ...
• Ubiquitous                         (t1, a1,
                                     ...
                                                a2, ... , an)


• Robust                             ...


• Routing



                                    • Noisy
                                    • Processing
                                    • Memory
                                    • Energy
                                    (Limited)

                      http://www.flickr.com/photos/wouterh/2409251427/

               4
Sensor Networks




Source: Antonis Deligiannakis
An example: SmartCities




Environmental sensors




     Parking sensors

 6             SmartSantander Project
Who are the end users of Sensor Networks?

The climate change expert, or a simple citizen




Source: Dave de Roure
Not only environmental, but many others…




Weather Sensors
                                                         GPS Sensors


                                     Sensor Dataset




 Satellite Sensors                                    Camera Sensors


Source: H Patni, C Henson, A Sheth           8
The Sensor Web




       Universal, web-based access to sensor data




Source: Adapted from Alan Smeaton’s invited talk 9 ESWC2009
                                                 at
Make sensors more accessible?




Source: SemsorGrid4Env consortium    10
Should we care as computer scientists?


      “Grand Challenge” CS issues:
      • Heterogeneity
      • Scale
      • Scalability
      • Autonomic behaviour
      • Persistence, evolution
      • Deployment challenges
      • Mobility



             Anything left for Semantic Web research?

Source: Dave de Roure
Vision (after some iterations, and more to come)

Networked               Before 2010                2010-2015                  2015-2020             Beyond 2020
Knowledge
                           Today                  Incremental                Incremental-            Visionary
                                                                               Visionary
Interoperability       Middleware             Intra-network cross-        Inter-network
                       Sensor ontologies       layer integration and        cross-layer
                                                optimization                 integration and
                                               Sensor Internet              optimization
Information &          Relational             Stream aggregation          Database-stream        QoS-based
Context                 database               Query processing and         integration             information
                        integration             reasoning on sensor         Sensor actuation        integration of
                       Sensor network          networks                     (In-network             DB and streams
                        data warehouses        Event modelling              processing)
                                                                            QoS models
Discovery              Centralised non-       Semantic discovery of
                        semantic registries     sensors and sensor
                        (sensorbase.org)        data
                                               Distributed registries
                                               Sensor network location
                                                transparency
Identity & Trust       RFID tags              URIs                        Virtual sensor
& Privacy              No privacy mgmnt       User-centric privacy and     networks through
                                                policies                     dynamic policies
Provenance             Data provenance        Data transformation         Process and            Problem solving
                        (where, what and        processes (how)              problem solving         interpretation
                        who)                                                 understanding           and explanation
RWI Working Group on IoT: Networked Knowledge                                (why)
                                                           12
Semantic Sensor Web / Linked Sensor Data (LSD)



A representation of sensor data following
the standards of Linked Data




        But what is Linked Data?
What is Linked Data?
An extension of the current Web…


  data are given well defined
  and explicitly represented meaning


               So that it can be shared and used
               By humans and machines



                   And clear principles on how to publish data




                              14
The four principles (Tim Berners Lee, 2006)


Use URIs as names of things

Use HTTP URIs

Provide useful information when URI is dereferenced

Link to other URIs




                 http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html
                                 15
Semantic Sensor Web / Linked Sensor Data (LSD)


    A representation of sensor data following
    the standards of Linked Data




• Early references…
   • Sheth A, Henson C, and Sahoo S, Semantic Sensor Web, IEEE Internet
     Computing, 2008.
   • Sequeda J, Corcho O. Linked Stream Data: A Position Paper.
     Proceedings of the 2nd International Workshop on Semantic Sensor
     Networks, 2009.
   • Le-Phuoc D, Parreira JX, Hauswirth M. Challenges in Linked Stream
     Data Processing: A Position Paper. Proceedings of the 3rd International
     Workshop on Semantic Sensor Networks, 2010.
Let’s check some examples


• Meteorological data in Spain: automatic weather
  stations
   • http://aemet.linkeddata.es/
• Live sensors in Slovenia
   • http://sensors.ijs.si/
• Channel Coastal Observatory in Southern UK
   • http://webgis1.geodata.soton.ac.uk/flood.html


• And some more from DERI Galway, Knoesis, CSIRO,
  etc.




                               17
AEMET Linked Data




          Sensors

          Observations




18
JSI Sensors




19
Coastal Channel Observatory and other sources

• Work with Flood environmental sensor data.
• SemSorGrid4Env project www.semsorgrid4env.eu.



                                       Wind Speed

                                       Wave Height

                                       Tidal Observations




                          20
Ingredients for Linked Sensor Data


Core ontological model

Additional domain ontologies

Guidelines for generation of identifiers

Sensor Web programming interfaces

Query processing engines



                                http://www.flickr.com/photos/santos/2252824606/
Sensor Network Ontologies



 Since aprox. 2005: Several proposals
      Project specific
      Reuse?
      Alignment?
      Best practices?


 2009-2011: W3C SSN-XG incubator group
    SSN Ontology: http://purl.oclc.org/NET/ssnx/ssn
SSN ontology modules


                                                        System               OperatingRestriction
       Deployment




                                            Device                          Process
       PlatformSite




Data

                                                     Skeleton




                      MeasuringCapability                        ConstraintBlock
Overview of the SSN ontologies

Deployment                             deploymentProcesPart only        System                                                               OperatingRestriction
                                                                                  hasSubsystem only, some        hasSurvivalRange only
                                                                                                                                                     SurvivalRange
  DeploymentRelatedProcess
                                              hasDeployment only
                                                                                  System
                                                                                                                                                    OperatingRange
             Deployment     deployedSystem only                                                                 hasOperatingRange only

                   deployedOnPlatform only                                                                              Process

                   inDeployment only                                        Device                                                     hasInput only
                                                                                                                            Input
PlatformSite                                  onPlatform only                      Device                                                                      Process

               Platform                                                                                                    Output
                           attachedSystem only                                                                                         hasOutput only, some

Data                        Skeleton
                                                  isProducedBy some                                               implements some
                                                                                                 Sensor
                                                                                                                                                               Sensing
       hasValue some                                                                                                              sensingMethodUsed only
                             SensorOutput
                                                       detects only
                                                                            SensingDevice                                    observes only
 ObservationValue                             SensorInput
                                                                isProxyFor only
                                                                                                                                             Property
                                                     includesEvent some                                                                            isPropertyOf some
                                                                                                 observedProperty only
                           observationResult only
                                                         observedBy only                                                                           hasProperty only, some

                                             Observation                                                                               FeatureOfInterest
                                                                                       featureOfInterest only

                            MeasuringCapability                                                          ConstraintBlock
                                  hasMeasurementCapability only                      forProperty only
                                                                                                        inCondition only                      inCondition only
                                                      MeasurementCapability                                                  Condition
SSN Ontology: Measurement Capabilities

Skeleton


  Property


           MeasuringCapability                                                                                                                     Communication
                                                 hasMeasurementProperty only
                   MeasurementCapability                                         MeasurementProperty




                            Accuracy               Resolution                  Selectivity                 Frequency              Precision               Latency

             DetectionLimit              Drift                ResponseTime                   Sensitivity          MeasurementRange

           OperatingRestriction                                                                                                       EnergyRestriction



                                                                                      Core ontological model
                                                 hasOperatingProperty only
                        OperatingRange                                          OperatingProperty




                                                              EnvironmentalOperatingProperty               MaintenanceSchedule          OperatingPowerRange


                                                  hasSurvivalProperty only
                         SurvivalRange                                            SurvivalProperty




                                                                        EnvironmentalSurvivalProperty            SystemLifetime               BatteryLifetime
Example

swissex:Sensor1
    rdf:type ssn:Sensor;
    ssn:onPlatform swissex:Station1;
    ssn:observes [rdf:type sweetSpeed:WindSpeed].
swissex:Sensor2
                                                     station
    rdf:type ssn:Sensor;
    ssn:onPlatform swissex:Station1;
    ssn:observes [rdf:type sweetTemp:Temperature].
swissex:Station1
    :hasGeometry [ rdf:type wgs84:Point;
                    wgs84:lat "46.8037166";
                    wgs84:long "9.7780305"].




                                           26
Example

swissex:WindSpeedObservation1
    rdf:type ssn:Observation;
    ssn:featureOfInterest [rdf:type sweetAtmoWind:Wind];
    ssn:observedProperty [rdf:type sweetSpeed:WindSpeed];
    ssn:observationResult [rdf:type ssn:SensorOutput;
    ssn:hasValue [qudt:numericValue "6.245"^^xsd:double]];
    ssn:observationResultTime [time:inXSDDatatime "2011-10-26T21:32:52"];
    ssn:observedBy swissex:Sensor1 ;

                                 WindSpeed : 6.245
                                    At: 2011-10-
                                   26T21:32:52




                                        27
Usage: SSN & Domain Ontologies


Upper
                         DOLCE                           SWEET
                         UltraLite



SSG4Env
infrastructure     SSN




                               Schema




                                        Service



External
            FOAF                                                 Ordnance
                                                                  Survey


Flood domain
                            Role               Coastal                      Additional
                                              Defences                       Regions




                                                                                    28
AEMET Ontology Network


•   83 classes
•   102 object properties
•   80 datatype properties
•   19 instances



                      Additional domain ontologies
Ingredients for Linked Sensor Data


Core ontological model

Additional domain ontologies

Guidelines for generation of identifiers

Sensor Web programming interfaces

Query processing engines



                                http://www.flickr.com/photos/santos/2252824606/
Good practices in URI Definition




Sorry, no clear
practices yet…
Good practices in URI Definition

 • URIs for:
    •   Observations
    •   Sensors
    •   Features of interest
    •   Properties
    •   Time periods
 • Debate: observation or sensor-centric?
    • Observation-centric seems to be the winner
    • Sensor-centric, check [Sequeda and Corcho, 2009]
 • Example:

http://aemet.linkeddata.es/resource/Observation/at
_1316382600000_of_08130_on_VV10m

         when                  sensor    property
Ingredients for Linked Sensor Data


Core ontological model

Additional domain ontologies

Guidelines for generation of identifiers

Sensor Web programming interfaces

Query processing engines



                                http://www.flickr.com/photos/santos/2252824606/
Sensor High-level API




Source: K. Page & Southampton’s team at SemsorGrid4Env
Sensor High-level API




Source: K. Page & Southampton’s team at SemsorGrid4Env
Queries to Sensor Data

SNEEql
RSTREAM SELECT id, speed, direction FROM wind [NOW];


Streaming SPARQL
PREFIX fire: <http://www.semsorgrid4env.eu/ontologies/fireDetection#>
SELECT ?WindSpeed
FROM STREAM <http://…/SensorReadings.rdf> WINDOW RANGE 1 MS SLIDE 1 MS
WHERE {
  ?sensor fire:hasMeasurements ?WindSpeed
  FILTER (?WindSpeed<30)
}

C-SPARQL
REGISTER QUERY WindSpeedAndDirection AS
PREFIX fire: <http://www.semsorgrid4env.eu/ontologies/fireDetection#>
SELECT ?sensor ?speed ?direction
FROM STREAM <http://…/SensorReadings.rdf> [RANGE 1 MSEC SLIDE 1
   MSEC]
WHERE { …
                                     36
GSN & Swiss-Experiment


• Global Sensor Networks, deployment for SwissEx.



• Distributed environment: GSN Davos, GSN Zurich,
  etc.
   • In each site, a number of sensors available
   • Each one with different Sensor observations
                             schema
• Metadata stored in wiki

                        Sensor metadata




                            37
Where is the Data?

GSN server instance

                       ..                       wan7
                       sensor1
                       sensor2             timed: datetime PK
      GSN              sensor3             sp_wind: float
                       …




                                      Mappings

     ssn:Observation




                                 38
Creating Mappings



                                                                 ssn:observedProperty

                                       ssn:Observation                                  ssn:Property
                                                     http://swissex.ch/data#
                     ssn:observationResult     Wan7/WindSpeed/Observation{timed}           sweetSpeed:WindSpeed



      wan7                            ssn:SensorOutput
timed: datetime PK                                     http://swissex.ch/data#
sp_wind: float                ssn:hasValue      Wan7/ WindSpeed/ ObsOutput{timed}


                                      ssn:ObservationValue
                                                       http://swissex.ch/data#
                           qudt:numericValue      Wan7/WindSpeed/ObsValue{timed}


                                         xsd:decimal
                                                             sp_wind




                                                        39
Querying the Observations
                        SELECT ?waveheight
                        FROM STREAM <www.ssg4env.eu/SensorReadings.srdf>
                        [NOW -10 MINUTES TO NOW STEP 1 MINUTE]
                        WHERE {
                         ?WaveObs a sea:WaveHeightObservation; :22001/ multidata ?vs [0]= wan7 &
                                           http://montblanc.slf.ch
                                           field [0]= sp_wind
                                    sea:hasValue ?waveheight; }


                                           Query
:Wan4WindSpeed a rr:TriplesMapClass;    translation         GSN
  rr:tableName "wan7";
                  SPARQLStream                              API
  rr:subjectMap [ rr:template

"http://swissex.ch/ns#WindSpeed/Wan7/{timed}";
Client




        rr:class ssn:ObservationValue; rr:graph
ssg:swissexsnow.srdf ];                       Mappings                Query
    rr:predicateObjectMap [ rr:predicateMap [                       Processing
rr:predicate ssn:hasQuantityValue ];                                             Sensor
    rr:objectMap[ rr:column "sp_wind" ] ];                                       Network


                                                                 [tuples]
                                           Data
            [triples]                   translation


                R2RML Mappings                           Query processing engines


                                                            40
Conclusions


Ingredients for Linked Sensor Data
  Core ontology
  Domain ontologies
  Guidelines for identifiers
  APIs
  Query processing engines

Work in progress & examples

Challenges: generate & consume LSD
Thanks!
Acknowledgments: all those identified in slides + the SemsorGrid4Env team (Alasdair
Gray, Kevin Page, etc.), the AEMET team at OEG-UPM (Ghislain Atemezing, Daniel Garijo,
José Mora, María Poveda, Daniel Vila, Boris Villazón) + Pablo Rozas (AEMET)




                            Questions, please.

                          jp.calbimonte@upm.es


                                           42
Where is the Data?

GSN server instance

                       ..                       wan7
                       sensor1
                       sensor2             timed: datetime PK
      GSN              sensor3             sp_wind: float
                       …




                                      Mappings

     ssn:Observation




                                 43
Creating Mappings



                                                                 ssn:observedProperty

                                       ssn:Observation                                  ssn:Property
                                                     http://swissex.ch/data#
                     ssn:observationResult     Wan7/WindSpeed/Observation{timed}           sweetSpeed:WindSpeed



      wan7                            ssn:SensorOutput
timed: datetime PK                                     http://swissex.ch/data#
sp_wind: float                ssn:hasValue      Wan7/ WindSpeed/ ObsOutput{timed}


                                      ssn:ObservationValue
                                                       http://swissex.ch/data#
                           qudt:numericValue      Wan7/WindSpeed/ObsValue{timed}


                                         xsd:decimal
                                                             sp_wind




                                                        44
R2RML


• RDB2RDF W3C Group, R2RML Mapping language:
     • http://www.w3.org/2001/sw/rdb2rdf/r2rml/
  :Wan4WindSpeed a rr:TriplesMapClass;
    rr:tableName "wan7";
    rr:subjectMap [ rr:template
        "http://swissex.ch/ns#WindSpeed/Wan7/{timed}";
         rr:class ssn:ObservationValue; rr:graph ssg:swissexsnow.srdf ];
    rr:predicateObjectMap [ rr:predicateMap [ rr:predicate ssn:hasQuantityValue ];
    rr:objectMap[ rr:column "sp_wind" ] ];      .




<http://swissex.ch/ns#/WindSpeed/Wan7/2011-05-20:20:00 >
a ssn:ObservationValue
<http://swissex.ch/ns#/WindSpeed/Wan7/2011-05-20:20:00 >
ssn:hasQuantityValue " 4.5"



                                         45
Data Access


• GSN Web Services
• GSN URL API
     • Compose the query as a URL:


        http://montblanc.slf.ch :22001/ multidata ?vs [0]= wan7 &
        field [0]= sp_wind &
        from =15/05/2011+05:00:00& to =15/05/2011+10:00:00&
        c_vs [0]= wan7 & c_field [0]= sp_wind & c_min [0]=10




    SELECT sp_wind FROM wan7 [NOW -5 HOUR] WHERE sp_wind >10
                                                                                                   ?
                                    SPARQL-Stream
Calbimonte, J-P., Corcho O., Gray, A. Enabling Ontology-based Access to Streaming Data Sources. In ISWC 2010.

                                                    46
Using the Mappings


                                                                             π timed,
                                                                                   sp_wind
SELECT ?waveheight

                                                                             σ
FROM STREAM <www.ssg4env.eu/SensorReadings.srdf>
[NOW – 5 HOUR TO NOW]
                                                                                   sp_wind>10
WHERE {
 ?WaveObs a ssn:ObservationValue;
            qudt:numericalValue ?waveheight;                                 ω 5 Hour
 FILTER (?waveheight>10) }
                                                                           wan7



            wan7                     ssn:ObservationValue
                                                       http://swissex.ch/data#
      timed: datetime PK    qudt:numericalValue   Wan7/WindSpeed/ObsValue{timed}
      sp_wind: float

                                  xsd:datatype
                                                             sp_wind


                                         47
Algebra expressions



π timed,              http://montblanc.slf.ch :22001/ multidata ?vs [0]= wan7 &
                      field [0]= sp_wind &
                      from =15/05/2011+05:00:00& to =15/05/2011+10:00:00&
   sp_wind            c_vs [0]= wan7 & c_field [0]= sp_wind & c_min [0]=10



σ sp_wind>10

ω 5 Hour
               SELECT sp_wind FROM wan7 [NOW -5 HOUR] WHERE sp_wind >10

wan7


                                 48

Linked Sensor Data 101 (FIS2011)

  • 1.
    4th Future InternetSymposium FIS 2011 Vienna, Austria Linked Sensor Data 101 Oscar Corcho, Jean-Paul Calbimonte, Raúl García-Castro and Freddy Priyatna Ontology Engineering Group. Facultad de Informática, Universidad Politécnica de Madrid. jp.calbimonte@upm.es Date: 09/11/2011
  • 2.
    Linked Sensor Data101 Motivation Ingredients Linked Sensor Data Generate Consume 2
  • 3.
    Motivation From Sensor Networks… … to the Sensor Web/ Internet of Things… … to Semantic Sensor Web and … Linked Sensor Data 3
  • 4.
    Sensors (t9, a1, a2, ... , an) (t8, a1, a2, ... , an) Streaming (t7, a1, a2, ... , an) • Cheaper Data ... ... • Ubiquitous (t1, a1, ... a2, ... , an) • Robust ... • Routing • Noisy • Processing • Memory • Energy (Limited) http://www.flickr.com/photos/wouterh/2409251427/ 4
  • 5.
  • 6.
    An example: SmartCities Environmentalsensors Parking sensors 6 SmartSantander Project
  • 7.
    Who are theend users of Sensor Networks? The climate change expert, or a simple citizen Source: Dave de Roure
  • 8.
    Not only environmental,but many others… Weather Sensors GPS Sensors Sensor Dataset Satellite Sensors Camera Sensors Source: H Patni, C Henson, A Sheth 8
  • 9.
    The Sensor Web Universal, web-based access to sensor data Source: Adapted from Alan Smeaton’s invited talk 9 ESWC2009 at
  • 10.
    Make sensors moreaccessible? Source: SemsorGrid4Env consortium 10
  • 11.
    Should we careas computer scientists? “Grand Challenge” CS issues: • Heterogeneity • Scale • Scalability • Autonomic behaviour • Persistence, evolution • Deployment challenges • Mobility Anything left for Semantic Web research? Source: Dave de Roure
  • 12.
    Vision (after someiterations, and more to come) Networked Before 2010 2010-2015 2015-2020 Beyond 2020 Knowledge Today Incremental Incremental- Visionary Visionary Interoperability  Middleware  Intra-network cross-  Inter-network  Sensor ontologies layer integration and cross-layer optimization integration and  Sensor Internet optimization Information &  Relational  Stream aggregation  Database-stream  QoS-based Context database  Query processing and integration information integration reasoning on sensor  Sensor actuation integration of  Sensor network networks (In-network DB and streams data warehouses  Event modelling processing)  QoS models Discovery  Centralised non-  Semantic discovery of semantic registries sensors and sensor (sensorbase.org) data  Distributed registries  Sensor network location transparency Identity & Trust  RFID tags  URIs  Virtual sensor & Privacy  No privacy mgmnt  User-centric privacy and networks through policies dynamic policies Provenance  Data provenance  Data transformation  Process and  Problem solving (where, what and processes (how) problem solving interpretation who) understanding and explanation RWI Working Group on IoT: Networked Knowledge (why) 12
  • 13.
    Semantic Sensor Web/ Linked Sensor Data (LSD) A representation of sensor data following the standards of Linked Data But what is Linked Data?
  • 14.
    What is LinkedData? An extension of the current Web… data are given well defined and explicitly represented meaning So that it can be shared and used By humans and machines And clear principles on how to publish data 14
  • 15.
    The four principles(Tim Berners Lee, 2006) Use URIs as names of things Use HTTP URIs Provide useful information when URI is dereferenced Link to other URIs http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html 15
  • 16.
    Semantic Sensor Web/ Linked Sensor Data (LSD) A representation of sensor data following the standards of Linked Data • Early references… • Sheth A, Henson C, and Sahoo S, Semantic Sensor Web, IEEE Internet Computing, 2008. • Sequeda J, Corcho O. Linked Stream Data: A Position Paper. Proceedings of the 2nd International Workshop on Semantic Sensor Networks, 2009. • Le-Phuoc D, Parreira JX, Hauswirth M. Challenges in Linked Stream Data Processing: A Position Paper. Proceedings of the 3rd International Workshop on Semantic Sensor Networks, 2010.
  • 17.
    Let’s check someexamples • Meteorological data in Spain: automatic weather stations • http://aemet.linkeddata.es/ • Live sensors in Slovenia • http://sensors.ijs.si/ • Channel Coastal Observatory in Southern UK • http://webgis1.geodata.soton.ac.uk/flood.html • And some more from DERI Galway, Knoesis, CSIRO, etc. 17
  • 18.
    AEMET Linked Data Sensors Observations 18
  • 19.
  • 20.
    Coastal Channel Observatoryand other sources • Work with Flood environmental sensor data. • SemSorGrid4Env project www.semsorgrid4env.eu. Wind Speed Wave Height Tidal Observations 20
  • 21.
    Ingredients for LinkedSensor Data Core ontological model Additional domain ontologies Guidelines for generation of identifiers Sensor Web programming interfaces Query processing engines http://www.flickr.com/photos/santos/2252824606/
  • 22.
    Sensor Network Ontologies Since aprox. 2005: Several proposals  Project specific  Reuse?  Alignment?  Best practices?  2009-2011: W3C SSN-XG incubator group  SSN Ontology: http://purl.oclc.org/NET/ssnx/ssn
  • 23.
    SSN ontology modules System OperatingRestriction Deployment Device Process PlatformSite Data Skeleton MeasuringCapability ConstraintBlock
  • 24.
    Overview of theSSN ontologies Deployment deploymentProcesPart only System OperatingRestriction hasSubsystem only, some hasSurvivalRange only SurvivalRange DeploymentRelatedProcess hasDeployment only System OperatingRange Deployment deployedSystem only hasOperatingRange only deployedOnPlatform only Process inDeployment only Device hasInput only Input PlatformSite onPlatform only Device Process Platform Output attachedSystem only hasOutput only, some Data Skeleton isProducedBy some implements some Sensor Sensing hasValue some sensingMethodUsed only SensorOutput detects only SensingDevice observes only ObservationValue SensorInput isProxyFor only Property includesEvent some isPropertyOf some observedProperty only observationResult only observedBy only hasProperty only, some Observation FeatureOfInterest featureOfInterest only MeasuringCapability ConstraintBlock hasMeasurementCapability only forProperty only inCondition only inCondition only MeasurementCapability Condition
  • 25.
    SSN Ontology: MeasurementCapabilities Skeleton Property MeasuringCapability Communication hasMeasurementProperty only MeasurementCapability MeasurementProperty Accuracy Resolution Selectivity Frequency Precision Latency DetectionLimit Drift ResponseTime Sensitivity MeasurementRange OperatingRestriction EnergyRestriction Core ontological model hasOperatingProperty only OperatingRange OperatingProperty EnvironmentalOperatingProperty MaintenanceSchedule OperatingPowerRange hasSurvivalProperty only SurvivalRange SurvivalProperty EnvironmentalSurvivalProperty SystemLifetime BatteryLifetime
  • 26.
    Example swissex:Sensor1 rdf:type ssn:Sensor; ssn:onPlatform swissex:Station1; ssn:observes [rdf:type sweetSpeed:WindSpeed]. swissex:Sensor2 station rdf:type ssn:Sensor; ssn:onPlatform swissex:Station1; ssn:observes [rdf:type sweetTemp:Temperature]. swissex:Station1 :hasGeometry [ rdf:type wgs84:Point; wgs84:lat "46.8037166"; wgs84:long "9.7780305"]. 26
  • 27.
    Example swissex:WindSpeedObservation1 rdf:type ssn:Observation; ssn:featureOfInterest [rdf:type sweetAtmoWind:Wind]; ssn:observedProperty [rdf:type sweetSpeed:WindSpeed]; ssn:observationResult [rdf:type ssn:SensorOutput; ssn:hasValue [qudt:numericValue "6.245"^^xsd:double]]; ssn:observationResultTime [time:inXSDDatatime "2011-10-26T21:32:52"]; ssn:observedBy swissex:Sensor1 ; WindSpeed : 6.245 At: 2011-10- 26T21:32:52 27
  • 28.
    Usage: SSN &Domain Ontologies Upper DOLCE SWEET UltraLite SSG4Env infrastructure SSN Schema Service External FOAF Ordnance Survey Flood domain Role Coastal Additional Defences Regions 28
  • 29.
    AEMET Ontology Network • 83 classes • 102 object properties • 80 datatype properties • 19 instances Additional domain ontologies
  • 30.
    Ingredients for LinkedSensor Data Core ontological model Additional domain ontologies Guidelines for generation of identifiers Sensor Web programming interfaces Query processing engines http://www.flickr.com/photos/santos/2252824606/
  • 31.
    Good practices inURI Definition Sorry, no clear practices yet…
  • 32.
    Good practices inURI Definition • URIs for: • Observations • Sensors • Features of interest • Properties • Time periods • Debate: observation or sensor-centric? • Observation-centric seems to be the winner • Sensor-centric, check [Sequeda and Corcho, 2009] • Example: http://aemet.linkeddata.es/resource/Observation/at _1316382600000_of_08130_on_VV10m when sensor property
  • 33.
    Ingredients for LinkedSensor Data Core ontological model Additional domain ontologies Guidelines for generation of identifiers Sensor Web programming interfaces Query processing engines http://www.flickr.com/photos/santos/2252824606/
  • 34.
    Sensor High-level API Source:K. Page & Southampton’s team at SemsorGrid4Env
  • 35.
    Sensor High-level API Source:K. Page & Southampton’s team at SemsorGrid4Env
  • 36.
    Queries to SensorData SNEEql RSTREAM SELECT id, speed, direction FROM wind [NOW]; Streaming SPARQL PREFIX fire: <http://www.semsorgrid4env.eu/ontologies/fireDetection#> SELECT ?WindSpeed FROM STREAM <http://…/SensorReadings.rdf> WINDOW RANGE 1 MS SLIDE 1 MS WHERE { ?sensor fire:hasMeasurements ?WindSpeed FILTER (?WindSpeed<30) } C-SPARQL REGISTER QUERY WindSpeedAndDirection AS PREFIX fire: <http://www.semsorgrid4env.eu/ontologies/fireDetection#> SELECT ?sensor ?speed ?direction FROM STREAM <http://…/SensorReadings.rdf> [RANGE 1 MSEC SLIDE 1 MSEC] WHERE { … 36
  • 37.
    GSN & Swiss-Experiment •Global Sensor Networks, deployment for SwissEx. • Distributed environment: GSN Davos, GSN Zurich, etc. • In each site, a number of sensors available • Each one with different Sensor observations schema • Metadata stored in wiki Sensor metadata 37
  • 38.
    Where is theData? GSN server instance .. wan7 sensor1 sensor2 timed: datetime PK GSN sensor3 sp_wind: float … Mappings ssn:Observation 38
  • 39.
    Creating Mappings ssn:observedProperty ssn:Observation ssn:Property http://swissex.ch/data# ssn:observationResult Wan7/WindSpeed/Observation{timed} sweetSpeed:WindSpeed wan7 ssn:SensorOutput timed: datetime PK http://swissex.ch/data# sp_wind: float ssn:hasValue Wan7/ WindSpeed/ ObsOutput{timed} ssn:ObservationValue http://swissex.ch/data# qudt:numericValue Wan7/WindSpeed/ObsValue{timed} xsd:decimal sp_wind 39
  • 40.
    Querying the Observations SELECT ?waveheight FROM STREAM <www.ssg4env.eu/SensorReadings.srdf> [NOW -10 MINUTES TO NOW STEP 1 MINUTE] WHERE { ?WaveObs a sea:WaveHeightObservation; :22001/ multidata ?vs [0]= wan7 & http://montblanc.slf.ch field [0]= sp_wind sea:hasValue ?waveheight; } Query :Wan4WindSpeed a rr:TriplesMapClass; translation GSN rr:tableName "wan7"; SPARQLStream API rr:subjectMap [ rr:template "http://swissex.ch/ns#WindSpeed/Wan7/{timed}"; Client rr:class ssn:ObservationValue; rr:graph ssg:swissexsnow.srdf ]; Mappings Query rr:predicateObjectMap [ rr:predicateMap [ Processing rr:predicate ssn:hasQuantityValue ]; Sensor rr:objectMap[ rr:column "sp_wind" ] ]; Network [tuples] Data [triples] translation R2RML Mappings Query processing engines 40
  • 41.
    Conclusions Ingredients for LinkedSensor Data Core ontology Domain ontologies Guidelines for identifiers APIs Query processing engines Work in progress & examples Challenges: generate & consume LSD
  • 42.
    Thanks! Acknowledgments: all thoseidentified in slides + the SemsorGrid4Env team (Alasdair Gray, Kevin Page, etc.), the AEMET team at OEG-UPM (Ghislain Atemezing, Daniel Garijo, José Mora, María Poveda, Daniel Vila, Boris Villazón) + Pablo Rozas (AEMET) Questions, please. jp.calbimonte@upm.es 42
  • 43.
    Where is theData? GSN server instance .. wan7 sensor1 sensor2 timed: datetime PK GSN sensor3 sp_wind: float … Mappings ssn:Observation 43
  • 44.
    Creating Mappings ssn:observedProperty ssn:Observation ssn:Property http://swissex.ch/data# ssn:observationResult Wan7/WindSpeed/Observation{timed} sweetSpeed:WindSpeed wan7 ssn:SensorOutput timed: datetime PK http://swissex.ch/data# sp_wind: float ssn:hasValue Wan7/ WindSpeed/ ObsOutput{timed} ssn:ObservationValue http://swissex.ch/data# qudt:numericValue Wan7/WindSpeed/ObsValue{timed} xsd:decimal sp_wind 44
  • 45.
    R2RML • RDB2RDF W3CGroup, R2RML Mapping language: • http://www.w3.org/2001/sw/rdb2rdf/r2rml/ :Wan4WindSpeed a rr:TriplesMapClass; rr:tableName "wan7"; rr:subjectMap [ rr:template "http://swissex.ch/ns#WindSpeed/Wan7/{timed}"; rr:class ssn:ObservationValue; rr:graph ssg:swissexsnow.srdf ]; rr:predicateObjectMap [ rr:predicateMap [ rr:predicate ssn:hasQuantityValue ]; rr:objectMap[ rr:column "sp_wind" ] ]; . <http://swissex.ch/ns#/WindSpeed/Wan7/2011-05-20:20:00 > a ssn:ObservationValue <http://swissex.ch/ns#/WindSpeed/Wan7/2011-05-20:20:00 > ssn:hasQuantityValue " 4.5" 45
  • 46.
    Data Access • GSNWeb Services • GSN URL API • Compose the query as a URL: http://montblanc.slf.ch :22001/ multidata ?vs [0]= wan7 & field [0]= sp_wind & from =15/05/2011+05:00:00& to =15/05/2011+10:00:00& c_vs [0]= wan7 & c_field [0]= sp_wind & c_min [0]=10 SELECT sp_wind FROM wan7 [NOW -5 HOUR] WHERE sp_wind >10 ? SPARQL-Stream Calbimonte, J-P., Corcho O., Gray, A. Enabling Ontology-based Access to Streaming Data Sources. In ISWC 2010. 46
  • 47.
    Using the Mappings π timed, sp_wind SELECT ?waveheight σ FROM STREAM <www.ssg4env.eu/SensorReadings.srdf> [NOW – 5 HOUR TO NOW] sp_wind>10 WHERE { ?WaveObs a ssn:ObservationValue; qudt:numericalValue ?waveheight; ω 5 Hour FILTER (?waveheight>10) } wan7 wan7 ssn:ObservationValue http://swissex.ch/data# timed: datetime PK qudt:numericalValue Wan7/WindSpeed/ObsValue{timed} sp_wind: float xsd:datatype sp_wind 47
  • 48.
    Algebra expressions π timed, http://montblanc.slf.ch :22001/ multidata ?vs [0]= wan7 & field [0]= sp_wind & from =15/05/2011+05:00:00& to =15/05/2011+10:00:00& sp_wind c_vs [0]= wan7 & c_field [0]= sp_wind & c_min [0]=10 σ sp_wind>10 ω 5 Hour SELECT sp_wind FROM wan7 [NOW -5 HOUR] WHERE sp_wind >10 wan7 48

Editor's Notes

  • #17 Addingsemanticsallowsthesearch and exploration of sensor data withoutany prior knowledge of the data sourceUsingtheprinciples of Linked Data facilitatestheintegration of stream data totheincreasingnumber of Linked Data collections
  • #22 - A core ontological model that can be used to describe sensor data streams, including the metadata about the sensor data sources and their observations. We take into account here the ontology developed for this purpose in the context of the W3C Semantic Sensor Network Incubator Group, which can be considered the current standard to be followed. - A set of additional domain ontologies in the area in which sensors are applied and for which they generate measurements (e.g., if we deal with environmental sensors related to water, then ontologies about different aspects of water will be needed). These ontologies must be aligned with the previous core ontology.Guidelines for the generation of identifiers (in the form of URIs, since this is one of the key ingredients of Linked Data) for sensors, their observations and the features of interest that they observe.Supporting Sensor Web programming interfaces (APIs) that make use of the HTTP protocol for serving the corresponding data whenever the previous URIs are dereferenced. Query processing engines that support extended versions of SPARQL (the query language used for Linked Data) and handle some of the most characteristic aspects of data streams, such as time and/or tuple windows. The management of spatio-temporal extensions of this query language may be also useful in this context.
  • #31 - A core ontological model that can be used to describe sensor data streams, including the metadata about the sensor data sources and their observations. We take into account here the ontology developed for this purpose in the context of the W3C Semantic Sensor Network Incubator Group, which can be considered the current standard to be followed. - A set of additional domain ontologies in the area in which sensors are applied and for which they generate measurements (e.g., if we deal with environmental sensors related to water, then ontologies about different aspects of water will be needed). These ontologies must be aligned with the previous core ontology.Guidelines for the generation of identifiers (in the form of URIs, since this is one of the key ingredients of Linked Data) for sensors, their observations and the features of interest that they observe.Supporting Sensor Web programming interfaces (APIs) that make use of the HTTP protocol for serving the corresponding data whenever the previous URIs are dereferenced. Query processing engines that support extended versions of SPARQL (the query language used for Linked Data) and handle some of the most characteristic aspects of data streams, such as time and/or tuple windows. The management of spatio-temporal extensions of this query language may be also useful in this context.
  • #34 - A core ontological model that can be used to describe sensor data streams, including the metadata about the sensor data sources and their observations. We take into account here the ontology developed for this purpose in the context of the W3C Semantic Sensor Network Incubator Group, which can be considered the current standard to be followed. - A set of additional domain ontologies in the area in which sensors are applied and for which they generate measurements (e.g., if we deal with environmental sensors related to water, then ontologies about different aspects of water will be needed). These ontologies must be aligned with the previous core ontology.Guidelines for the generation of identifiers (in the form of URIs, since this is one of the key ingredients of Linked Data) for sensors, their observations and the features of interest that they observe.Supporting Sensor Web programming interfaces (APIs) that make use of the HTTP protocol for serving the corresponding data whenever the previous URIs are dereferenced. Query processing engines that support extended versions of SPARQL (the query language used for Linked Data) and handle some of the most characteristic aspects of data streams, such as time and/or tuple windows. The management of spatio-temporal extensions of this query language may be also useful in this context.
  • #37 The where clasue for both SPARQL extensions is the same
  • #42 - A core ontological model that can be used to describe sensor data streams, including the metadata about the sensor data sources and their observations. We take into account here the ontology developed for this purpose in the context of the W3C Semantic Sensor Network Incubator Group, which can be considered the current standard to be followed. - A set of additional domain ontologies in the area in which sensors are applied and for which they generate measurements (e.g., if we deal with environmental sensors related to water, then ontologies about different aspects of water will be needed). These ontologies must be aligned with the previous core ontology.Guidelines for the generation of identifiers (in the form of URIs, since this is one of the key ingredients of Linked Data) for sensors, their observations and the features of interest that they observe.Supporting Sensor Web programming interfaces (APIs) that make use of the HTTP protocol for serving the corresponding data whenever the previous URIs are dereferenced. Query processing engines that support extended versions of SPARQL (the query language used for Linked Data) and handle some of the most characteristic aspects of data streams, such as time and/or tuple windows. The management of spatio-temporal extensions of this query language may be also useful in this context.