ingredients for semantic sensor networks
Post on 15-Jan-2015
1.910 Views
Preview:
DESCRIPTION
TRANSCRIPT
Ingredients for the Semantic Sensor Web
Jožef Stefan Institute
Ljubljana, Slovenia
September 23rd 2011
Oscar CorchoFacultad de Informática, Universidad Politécnica de Madrid
Campus de Montegancedo sn, 28660 Boadilla del Monte, Madrid
http://www.oeg-upm.net
ocorcho@fi.upm.es
Phone: 34.91.3366605
Fax: 34.91.3524819
Index
PART I. Motivation
From Sensor Networks…
… to the Sensor Web / Internet of Things…
… to Semantic Sensor Web and Linked Stream/Sensor Data
Sensor Networks
• Increasing availability of cheap, robust, deployable sensors as ubiquitous information sources
Source: Antonis Deligiannakis
An example: SmartCities
4
Santander
Parking sensor nodes
Environmentalsensor nodes
Sensor Networks and Streaming Data
5
• Streaming Data
(t9, a1, a2, ... , an)
(t8, a1, a2, ... , an)
(t7, a1, a2, ... , an)
...
...
(t1, a1, a2, ... , an)
...
...
Streaming Data
Window [t7 - t9]
• Continuously appended data
• Potentially infinite
• Time-stamped tuples
• Continuous queries
• Latest used in queries
• Time and tuple-based windows
• Cheap, Noisy, Unreliable (depends)
• Low computational, power resources, storage
• Distributed query execution
• Routing, OptimizationQuery
Enabling Semantic Integration of Streaming Data Sources
• Sensor Networks
Who are the end users of sensor networks?
Source: Dave de Roure
The climate change expert, or a simple citizen
Not only environmental sensors, but many others…
7
Weather Sensors
Camera SensorsSatellite Sensors
GPS SensorsSensor Dataset
Source: H Patni, C Henson, A Sheth
How do we make these sensors more accessible?
8Source: SemsorGrid4Env consortium
9
The Sensor Web (related to Internet of Things)
• Universal, web-based access to sensor data
• Some sensor network properties:• Networked• Mostly wireless• Each network with some
kind of authority and administration
• Sometimes noisy
Source: Adapted from Alan Smeaton’s invited talk at ESWC2009
Should we care as computer scientists?
• They are mostly useful for environmental scientists, physicists, geographers, seismologists, … [continue for more than 100 disciplines]• Hence interesting for those computer scientists interested on
helping these users… We are many ;-)
• But they are also interesting for “pure” computer scientists• They address an important set of “grand challenge”
Computer Science issues including: • Heterogeneity• Scale• Scalability• Autonomic behaviour• Persistence, evolution• Deployment challenges
• MobilitySource: Dave de Roure
A semantic perspective on these challenges
• Sensor data querying and (pre-)processing• Data heterogeneity• Data quality• New inference capabilities required to deal with sensor
information
• Sensor data model representation and management• For data publication, integration and discovery• Bridging between sensor data and ontological
representations for data integration• Ontologies: Observations and measurements, time series,
etc.• Event models
• User interaction with sensor data
Vision (after some iterations, and more to come)
12
Networked Knowledge
Before 2010 2010-2015 2015-2020 Beyond 2020
Today Incremental Incremental-Visionary VisionaryInteroperability Middleware
Sensor ontologies Intra-network cross-
layer integration and optimization
Sensor Internet
Inter-network cross-layer integration and optimization
Information & Context
Relational database integration
Sensor network data warehouses
Stream aggregation Query processing
and reasoning on sensor networks
Event modelling
Database-stream integration
Sensor actuation (In-network processing)
QoS models
QoS-based information integration of DB and streams
Discovery Centralised non-semantic registries (sensorbase.org)
Semantic discovery of sensors and sensor data
Distributed registries Sensor network
location transparencyIdentity & Trust & Privacy
RFID tags No privacy mgmnt
URIs User-centric privacy
and policies
Virtual sensor networks through dynamic policies
Provenance Data provenance (where, what and who)
Data transformation processes (how)
Process and problem solving understanding (why)
Problem solving interpretation and explanation
RWI Working Group on IoT: Networked KnowledgeGluhak et al, 2011. An Architectural Blueprint for a Real-World Internet', Future Internet Assembly
Semantic Sensor Web / Linked Stream-Sensor Data (LSD)
• A representation of sensor/stream data following the standards of Linked Data
But what is Linked Data?
What is Linked Data?
14
• An extension of the current Web…• … where data are given well-defined
and explicitly represented meaning, …
• … so that it can be shared and used by humans and machines, ...
• ... better enabling them to work in cooperation
• And clear principles on how to publish data
15
The four principles (Tim Berners Lee, 2006)
1. Use URIs as names for things
2. Use HTTP URIs so that people can look up those names.
3. When someone looks up a URI, provide useful information, using the standards (RDF*, SPARQL)
4. Include links to other URIs, so that they can discover more things.
• http://www.w3.org/DesignIssues/LinkedData.html
http://www.ted.com/talks/tim_berners_lee_on_the_next_web.htmlhttp://www.ted.com/talks/tim_berners_lee_on_the_next_web.html
Semantic Sensor Web / Linked Stream-Sensor Data (LSD)
• A representation of sensor/stream data following the standards of Linked Data• Adding semantics allows the search and exploration of sensor
data without any prior knowledge of the data source• Using the principles of Linked Data facilitates the integration of
stream data to the increasing number of Linked Data collections
• Early references…• Amit Sheth, Cory Henson, and Satya Sahoo, "Semantic Sensor
Web," IEEE Internet Computing, July/August 2008, p. 78-83• Sequeda J, Corcho O. Linked Stream Data: A Position Paper.
Proceedings of the 2nd International Workshop on Semantic Sensor Networks, SSN 09
• 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, SSN 10
Let’s check some examples
• Meteorological data in Spain: automatic weather stations• http://aemet.linkeddata.es/• Paper under open review at the Semantic Web Journal
• http://www.semantic-web-journal.net/content/transforming-meteorological-data-linked-data
• 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
18
JSI Sensors
19
Coastal Channel Observatory and other sources
20Sensors, Mappings and Queries
• Work with Flood environmental sensor data.• SemSorGrid4Env project www.semsorgrid4env.eu.
PART II
• How to create, publish and consume Linked Stream Data
How to deal with Linked Stream/Sensor Data
• Ingredients• An ontology model• Good practices in URI definition• Supporting semantic technology
• SPARQL extensions • To handle time and tuple windows• To handle spatio-temporal constraints
• REST APIs to access it
• Another example: semantically enriching GSN• A couple of lessons learned
Several efforts since approx. 2005State of the art on sensor network ontologies in the report below
In 2009, a W3C incubator group was started, which has just finishedLots of good people thereFinal report: http://www.w3.org/2005/Incubator/ssn/XGR-ssn-
20110628/Ontology: http://purl.oclc.org/NET/ssnx/ssnA good number of internal and external references to SSN
Ontologyhttp://www.w3.org/2005/Incubator/ssn/wiki/
Tagged_BibliographySSN Ontology paper submitted to Journal of Web Semantics
SSN ontologies. History
Skeleton
Device
Deployment
PlatformSite
System
Process
ConstraintBlockMeasuringCapability
OperatingRestriction
Data
Overview of the SSN ontology modules
Skeleton
Device
Deployment
PlatformSite
System
System
onPlatform only
hasSubsystem only, someSurvivalRang
e
hasSurvivalRange only
OperatingRangehasOperatingRange only
hasDeployment only
DeploymentRelatedProcess
Deployment
deploymentProcesPart only
deployedSystem only
Platform
deployedOnPlatform only
attachedSystem only
Device
Sensor
SensingDevice
Sensing
implements some
observes only
hasMeasurementCapability only
inDeployment only
SensorInput
detects only
isProxyFor onlyObservationValu
e
SensorOutput
hasValue some
isProducedBy some
Process
Process
hasInput only
hasOutput only, some
Input
Output
Observation
observedBy only
featureOfInterest only
observationResult only
Property
observedProperty onlyhasProperty only, some
isPropertyOf some
sensingMethodUsed only
includesEvent some
FeatureOfInterest
ConstraintBlock
Condition
inCondition only
MeasuringCapability
MeasurementCapability
forProperty only
OperatingRestriction
inCondition only
Data
Overview of the SSN ontologies
CommunicationMeasuringCapability
MeasurementCapability
MeasurementProperty
hasMeasurementProperty only
Accuracy
DetectionLimit
Drift
Frequency
MeasurementRange
Precision
Resolution
ResponseTime
Selectivity
Sensitivity
Latency
Skeleton
EnergyRestrictionOperatingRestriction
OperatingRange
OperatingProperty
hasOperatingProperty only
EnvironmentalOperatingProperty
MaintenanceSchedule
SurvivalRange
SurvivalProperty
hasSurvivalProperty only
EnvironmentalSurvivalProperty
SystemLifetime
BatteryLifetime
OperatingPowerRange
Property
SSN Ontology. Sensor and environmental properties
A usage example
SWEET
Service
Coastal Defences
Ordnance Survey
Additional Regions
Role
DOLCE UltraLite
Schema
FOAF
Upper
External
SSG4Env
infrastructure
Flood domain
27
SSN
AEMET Ontology Network
• 83 classes• 102 object properties• 80 datatype properties• 19 instances• SROIQ(D)
How to deal with Linked Stream/Sensor Data
• Ingredients• An ontology model• Good practices in URI definition• Supporting semantic technology
• SPARQL extensions • To handle time and tuple windows• To handle spatio-temporal constraints
• REST APIs to access it
• Another example: semantically enriching GSN• A couple of lessons learned
Good practices in URI Definition
Sorry, no clear practices yet…
Good practices in URI Definition
• We have to identify…• Sensors• Features of interest• Properties• Observations
• Debate between being observation or sensor-centric• Observation-centric seems to be the winner• For some details of sensor-centric, check [Sequeda and
Corcho, 2009]
How to deal with Linked Stream/Sensor Data
• Ingredients• An ontology model• Good practices in URI definition• Supporting semantic technology
• SPARQL extensions • To handle time and tuple windows• To handle spatio-temporal constraints
• REST APIs to access it
• Another example: semantically enriching GSN• A couple of lessons learned
Semantically Integrating Streaming and Stored Data
Queries to Sensor/Stream Data
SNEEqlRSTREAM SELECT id, speed, direction FROM wind[NOW];
Streaming SPARQLPREFIX fire: <http://www.semsorgrid4env.eu/ontologies/fireDetection#>SELECT ?sensor ?speed ?directionFROM STREAM <http://…/SensorReadings.rdf> WINDOW RANGE 1 MS SLIDE 1 MSWHERE { ?sensor a fire:WindSensor; fire:hasMeasurements ?WindSpeed, ?WindDirection. ?WindSpeed a fire:WindSpeedMeasurement; fire:hasSpeedValue ?speed; fire:hasTimestampValue ?wsTime. ?WindDirection a fire:WindDirectionMeasurement; fire:hasDirectionValue ?direction; fire:hasTimestampValue ?dirTime. FILTER (?wsTime == ?dirTime)}
C-SPARQLREGISTER QUERY WindSpeedAndDirection ASPREFIX fire: <http://www.semsorgrid4env.eu/ontologies/fireDetection#>SELECT ?sensor ?speed ?directionFROM STREAM <http://…/SensorReadings.rdf> [RANGE 1 MSEC SLIDE 1 MSEC]WHERE { …
33
SPARQL-STR v1
34Sensors, Mappings and Queries
SELECT ?waveheight
FROM STREAM <www.ssg4env.eu/SensorReadings.srdf>
[FROM NOW -10 MINUTES TO NOW STEP 1 MINUTE]
WHERE {
?WaveObs a sea:WaveHeightObservation;
sea:hasValue ?waveheight; }
Query
translation
Query ProcessingC
lient
Stream-to-Ontology
mappings
SPARQLStream
[tuples]
Sensor Network
Data
translation[triples]
SNEEql
conceptmap-def WaveHeightMeasurement
virtualStream <http://ssg4env.eu/Readings.srdf>
uri-as concat('ssg4env:WaveSM_',
wavesamples.sensorid,wavesamples.ts)
attributemap-def hasValue
operation constant
has-column wavesamples.measured
dbrelationmap-def isProducedBy
toConcept Sensor
joins-via condition equals
has-column sensors.sensorid
has-column wavesamples.sensorid
conceptmap-def Sensor
uri-as concat('ssg4env:Sensor_',sensors.sensorid)
attributemap-def hasSensorid
operation constant
has-column sensors.sensorid
S2O Mappings
SELECT measured FROM wavesamples [NOW -10 MIN]
Source: Enabling Ontology-based Access to Streaming Data Sources. Calbimonte JP, Corcho O, Gray AJG. ISWC 2010
SPARQL-STR v2
Query
translation
Query Evaluator
Clie
nt
Stream-to-Ontology
Mappings (R2RML)
SPARQLStream (Og)
[tuples]
Stream Engine (S3)
Ontology-based Streaming Data Access Service
Relational DB (S2)
Sensor Network (S1)
RDF Store (Sm)
SPARQLStream algebra(S1 S2 Sm)
Data
translation
q
[triples]
SNEEql, GSN API
GSN
Source: PlanetData deliverable D1.1 (to be published in Sep 30th 2011) www.planetdata.eu
Creating Mappings
36Sensors, Mappings and Queries
wan7
timed: datetime PK
sp_wind: float
ssn:ObservationValue
qudt:numericValue
xsd:decimal
http://swissex.ch/data#
Wan7/WindSpeed/ObsValue{timed}
sp_wind
ssn:SensorOutput
ssn:Observation
ssn:hasValue
ssn:observationResulthttp://swissex.ch/data#
Wan7/WindSpeed/Observation{timed}
http://swissex.ch/data#
Wan7/ WindSpeed/ ObsOutput{timed}
ssn:Property
ssn:observedProperty
sweetSpeed:WindSpeed
R2RML
• RDB2RDF W3C Group, R2RML Mapping language:• http://www.w3.org/2001/sw/rdb2rdf/r2rml/
37Sensors, Mappings and Queries
: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"
38Red de Ontologías para el Camino de Santiago
Query Transformation Semantics
• Conjunctive Queries
• Mappingconjunctive
query
expression
over streaming sources
Algebra expressions transformed to GSN API
39Sensors, Mappings and Queries
timed,
sp_wind
π
ω
σ sp_wind>10
5 Hour
wan7
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
Algebra construction
40Sensors, Mappings and Queries
timed,
sp_wind
π
ω
σ sp_wind>10
5 Hour
wan7
windsensor1
windsensor2
Static optimization
41Sensors, Mappings and Queries
timed,
sp_wind
π
ω
σ sp_wind>10
5 Hour
wan7
timed,
windvalue
π
ω
σ windvalue>10
5 Hour
windsensor1
timed,
windvalue
π
ω
σ windvalue>10
5 Hour
windsensor2
How to deal with Linked Stream/Sensor Data
• Ingredients• An ontology model• Good practices in URI definition• Supporting semantic technology
• SPARQL extensions • To handle time and tuple windows• To handle spatio-temporal constraints
• REST APIs to access it
• Another example: semantically enriching GSN• A couple of lessons learned
Data Modeling: stRDF
– stRDF– Temporal/spatial data are represented by linear constraints,
representing as literals of type strdf:semiLinearPointSet.
– OGC simple feature geometries (points, polylines, polygons etc.) using the Well-known Text representation
2nd Year Review Meeting - Brussels, 16-17 Nov. 2010 43
floodInstances:ModelledFloodIngressDataset
rdf:type info:Dataset;
rdfs:label "Modelled flood ingress Dataset" ;
time:hasTemporalExtent "[NOW,NOW+12]"^^RegistryOntology:TemporalInterval;
Services:coversRegion AdditionalRegions:CoastalDefencePartnershipModelledArea;
Services:includesFeatureType CoastalDefences:FloodPlain ;
Services:includesPropertyType CoastalDefences:WaterDepth.
AdditionalRegions:CoastalDefencePartnershipModelledArea
rdf:type space:Region;
Services:hasSpatialExtent "POLYGON((625145.2823357487 5624227.2548582135, 625145.2823357487
5637255.203057151, 647383.6564885917 5637255.203057151, 647383.6564885917 5624227.2548582135,
625145.2823357487 5624227.2548582135))"^^RegistryOntology:WKT.
Source: Our NKUA partners at SemsorGrid4Env
Querying: stSPARQL
Find all WMS services with FOI flood plain that cover the Coastal Defence Partnership modelled area and provide valid information for the next 12 hours
select distinct ?ENDPOINT where { ?SERVICE rdf:type Services:WebService . ?SERVICE Services:hasEndpointReference ?ENDPOINT . ?SERVICE Services:hasServiceType Services:WMS . ?SERVICE Services:hasDataset ?DATASET .
?DATASET Services:includesFeatureType CoastalDefences:FloodPlain. ?DATASET time:hasTemporalExtent ?TIME .
filter(?TIME contains “[NOW,NOW+12]"^^RegistryOntology:TemporalInterval) . ?DATASET Services:coversRegion ?SERVICEREGION . ?SERVICEREGION Services:hasSpatialExtent ?SERVICEREGIONGEO . AdditionalRegions:CoastalDefencePartnershipModelledArea Services:hasSpatialExtent ?COSTALGEO . filter(?SERVICEREGIONGEO contains ?COSTALGEO) }
2nd Year Review Meeting - Brussels, 16-17 Nov. 2010 44Source: Our NKUA partners at SemsorGrid4Env
Implementation: STRABON
• Support for stRDF and SPARQL, plus• Topological operators in spatial filters
• DISJOINT, TOUCH, EQUALS, CONTAINS, COVERS, COVERED BY, OVERLAP
• Construct Spatial Geometries• e.g. ?geo1 union ?geo2
• Projection operation• e.g. ?geo[1,2]
• Rename operator• Conversion Functions for exporting geometries:
• e.g. ToWKT(?geo) AS ?geoAsWKT
• Library that returns SPARQL results as a KML document
45Source: Our NKUA partners at SemsorGrid4Env
How to deal with Linked Stream/Sensor Data
• Ingredients• An ontology model• Good practices in URI definition• Supporting semantic technology
• SPARQL extensions • To handle time and tuple windows• To handle spatio-temporal constraints
• REST APIs to access it
• Another example: semantically enriching GSN• A couple of lessons learned
Sensor High-level API
Source: Kevin Page and rest of Southampton’s team at SemsorGrid4Env
Sensor High-level API
Source: Kevin Page and rest of Southampton’s team at SemsorGrid4Env
API definition
Source: Kevin Page and rest of Southampton’s team at SemsorGrid4Env
How to deal with Linked Stream/Sensor Data
• Ingredients• An ontology model• Good practices in URI definition• Supporting semantic technology
• SPARQL extensions • To handle time and tuple windows• To handle spatio-temporal constraints
• REST APIs to access it
• Another example: semantically enriching GSN• A couple of lessons learned
SwissEx
51Sensors, Mappings and Queries
• 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 schema
• Metadata stored in wiki• Federated metadata management:• Jeung H., Sarni, S., Paparrizos, I., Sathe, S., Aberer, K., Dawes, N., Papaioannus, T.,
Lehning, M.Effective Metadata Management in federated Sensor Networks. in SUTC, 2010
Sensor observations
Sensor metadata
Getting things done
• Transformed wiki metadata to SSN instances in RDF• Generated R2RML mappings for all sensors• Implementation of Ontology-based querying over
GSN• Fronting GSN with SPARQL-Stream queries• Numbers:
• 28 Deployments• Aprox. 50 sensors in each deployment• More than 1500 sensors• Live updates. Low frequency• Access to all metadata/not all data
52Sensors, Mappings and Queries
Sensor Metadata
53Sensors, Mappings and Queries
station
location
model
sensors
properties
Sensor Data: Observations
54Sensors, Mappings and Queries
Heterogeneity
Integration
SPARQL-STR + GSN
How to deal with Linked Stream/Sensor Data
• Ingredients• An ontology model• Good practices in URI definition• Supporting semantic technology
• SPARQL extensions • To handle time and tuple windows• To handle spatio-temporal constraints
• REST APIs to access it
• Another example: semantically enriching GSN• A couple of lessons learned
Lessons Learned
• High-level (part I)• Sensor data is yet another good source of data with some
special properties• Everything that we do with our relational datasets or other
data sources can be done with sensor data
• Practical lessons learned (part II)• Manage separately data and metadata of the sensors• Data should always be separated between realtime-data
and historical-data• Use the time format xsd:dateTime and the time zone• Graphical representation of data for weeks or months is not
trivial anyway
Ingredients for the Semantic Sensor Web
Jožef Stefan Institute
Ljubljana, Slovenia
September 23rd 2011
Oscar Corcho
Acknowledgments: all those identified in slides + the SemsorGrid4Env team (Jean Paul Calbimonte, 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)
top related