1. 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
2. Linked Sensor Data 101
Motivation
Ingredients
Linked Sensor Data
Generate
Consume
2
7. Who are the end 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
11. 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
12. 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
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 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
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 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
20. Coastal Channel Observatory and other sources
• Work with Flood environmental sensor data.
• SemSorGrid4Env project www.semsorgrid4env.eu.
Wind Speed
Wave Height
Tidal Observations
20
21. 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/
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 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
25. 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
30. 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/
32. 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
33. 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/
36. 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
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 the Data?
GSN server instance
.. wan7
sensor1
sensor2 timed: datetime PK
GSN sensor3 sp_wind: float
…
Mappings
ssn:Observation
38
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 Linked Sensor Data
Core ontology
Domain ontologies
Guidelines for identifiers
APIs
Query processing engines
Work in progress & examples
Challenges: generate & consume LSD
42. 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
43. Where is the Data?
GSN server instance
.. wan7
sensor1
sensor2 timed: datetime PK
GSN sensor3 sp_wind: float
…
Mappings
ssn:Observation
43
46. 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
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
Notas del editor
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
- 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.
- 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.
- 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.
The where clasue for both SPARQL extensions is the same
- 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.