Linked Sensor Data 101 (FIS2011)

48
Date: 09/11/2011 Linked Sensor Data 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. [email protected] 4th Future Internet Symposium FIS 2011 Vienna, Austria 101

description

 

Transcript of Linked Sensor Data 101 (FIS2011)

Page 1: Linked Sensor Data 101 (FIS2011)

Date: 09/11/2011

Linked Sensor Data

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.

[email protected]

4th Future Internet Symposium FIS 2011Vienna, Austria

101

Page 2: Linked Sensor Data 101 (FIS2011)

2

Linked Sensor Data 101

Linked Sensor Data

Motivation

Ingredients

Generate

Consume

Page 3: Linked Sensor Data 101 (FIS2011)

Motivation

From Sensor Networks…

… to the Sensor Web/ Internet of Things…

… to Semantic Sensor Web and …

Linked Sensor Data

3

Page 4: Linked Sensor Data 101 (FIS2011)

Sensors

4

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

• Cheaper• Ubiquitous• Robust• Routing

• Noisy• Processing• Memory• Energy(Limited)

(t9, a1, a2, ... , an)(t8, a1, a2, ... , an)(t7, a1, a2, ... , an)......(t1, a1, a2, ... , an)......

Streaming Data

Page 5: Linked Sensor Data 101 (FIS2011)

Sensor Networks

Source: Antonis Deligiannakis

Page 6: Linked Sensor Data 101 (FIS2011)

An example: SmartCities

6 SmartSantander Project

Environmental sensors

Parking sensors

Page 7: Linked Sensor Data 101 (FIS2011)

Who are the end users of Sensor Networks?

Source: Dave de Roure

The climate change expert, or a simple citizen

Page 8: Linked Sensor Data 101 (FIS2011)

Not only environmental, but many others…

8

Weather Sensors

Camera SensorsSatellite Sensors

GPS Sensors

Sensor Dataset

Source: H Patni, C Henson, A Sheth

Page 9: Linked Sensor Data 101 (FIS2011)

9

The Sensor Web

Universal, web-based access to sensor data

Source: Adapted from Alan Smeaton’s invited talk at ESWC2009

Page 10: Linked Sensor Data 101 (FIS2011)

Make sensors more accessible?

10Source: SemsorGrid4Env consortium

Page 11: Linked Sensor Data 101 (FIS2011)

Should we care as computer scientists?

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

Source: Dave de Roure

Anything left for Semantic Web research?

Page 12: Linked Sensor Data 101 (FIS2011)

Vision (after some iterations, and more to come)

12

Networked Knowledge

Before 2010 2010-2015 2015-2020 Beyond 2020

Today Incremental Incremental-Visionary

Visionary

Interoperability

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 transparency

Identity & 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

Page 13: Linked Sensor Data 101 (FIS2011)

Semantic Sensor Web / Linked Sensor Data (LSD)

A representation of sensor data following the standards of Linked Data

But what is Linked Data?

Page 14: Linked Sensor Data 101 (FIS2011)

What is Linked Data?

14

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

Page 15: Linked Sensor Data 101 (FIS2011)

15

The four principles (Tim Berners Lee, 2006)

http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html

Use URIs as names of thingsUse HTTP URIsProvide useful information when URI is dereferencedLink to other URIs

Page 16: Linked Sensor Data 101 (FIS2011)

Semantic Sensor Web / Linked Sensor Data (LSD)

• 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.

A representation of sensor data following the standards of Linked Data

Page 17: Linked Sensor Data 101 (FIS2011)

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

Page 18: Linked Sensor Data 101 (FIS2011)

AEMET Linked Data

18

Observations

Sensors

Page 19: Linked Sensor Data 101 (FIS2011)

JSI Sensors

19

Page 20: Linked Sensor Data 101 (FIS2011)

Coastal Channel Observatory and other sources

20

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

Wave Height

Tidal Observations

Wind Speed

Page 21: Linked Sensor Data 101 (FIS2011)

Ingredients for Linked Sensor Data

Core ontological modelAdditional domain ontologiesGuidelines for generation of identifiersSensor Web programming interfacesQuery processing engines

http://www.flickr.com/photos/santos/2252824606/

Page 22: Linked Sensor Data 101 (FIS2011)

Since aprox. 2005: Several proposalsProject specificReuse?Alignment?Best practices?

2009-2011: W3C SSN-XG incubator groupSSN Ontology: http://purl.oclc.org/NET/ssnx/ssn

Sensor Network Ontologies

Page 23: Linked Sensor Data 101 (FIS2011)

Skeleton

Device

Deployment

PlatformSite

System

Process

ConstraintBlockMeasuringCapability

OperatingRestriction

Data

SSN ontology modules

Page 24: Linked Sensor Data 101 (FIS2011)

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

Page 25: Linked Sensor Data 101 (FIS2011)

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: Measurement Capabilities

Core ontological model

Page 26: Linked Sensor Data 101 (FIS2011)

Example

swissex:Sensor1 rdf:type ssn:Sensor; ssn:onPlatform swissex:Station1; ssn:observes [rdf:type sweetSpeed:WindSpeed].

swissex:Sensor2 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

station

senso

r1

senso

r2

Page 27: Linked Sensor Data 101 (FIS2011)

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 ;

27

WindSpeed : 6.245

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

Page 28: Linked Sensor Data 101 (FIS2011)

Usage: SSN & Domain Ontologies

SWEET

Service

Coastal Defences

Ordnance Survey

Additional Regions

Role

DOLCE UltraLite

Schema

FOAF

Upper

External

SSG4Env infrastructure

Flood domain

28

SSN

Page 29: Linked Sensor Data 101 (FIS2011)

AEMET Ontology Network

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

Additional domain ontologies

Page 30: Linked Sensor Data 101 (FIS2011)

Ingredients for Linked Sensor Data

Core ontological modelAdditional domain ontologiesGuidelines for generation of identifiersSensor Web programming interfacesQuery processing engines

http://www.flickr.com/photos/santos/2252824606/

Page 31: Linked Sensor Data 101 (FIS2011)

Good practices in URI Definition

Sorry, no clear practices yet…

Page 32: Linked Sensor Data 101 (FIS2011)

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

Page 33: Linked Sensor Data 101 (FIS2011)

Ingredients for Linked Sensor Data

Core ontological modelAdditional domain ontologiesGuidelines for generation of identifiersSensor Web programming interfacesQuery processing engines

http://www.flickr.com/photos/santos/2252824606/

Page 34: Linked Sensor Data 101 (FIS2011)

Sensor High-level API

Source: K. Page & Southampton’s team at SemsorGrid4Env

Page 35: Linked Sensor Data 101 (FIS2011)

Sensor High-level API

Source: K. Page & Southampton’s team at SemsorGrid4Env

Page 36: Linked Sensor Data 101 (FIS2011)

Queries to Sensor Data

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 { … 36

SNEEqlRSTREAM SELECT id, speed, direction FROM wind [NOW];

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

Page 37: Linked Sensor Data 101 (FIS2011)

GSN & Swiss-Experiment

37

• 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

Sensor observations

Sensor metadata

Page 38: Linked Sensor Data 101 (FIS2011)

Where is the Data?

38

GSN

GSN server instance

wan7

timed: datetime PKsp_wind: float

..sensor1sensor2sensor3…

Virtual

senso

rs

ssn:Observation

Mappings

Page 39: Linked Sensor Data 101 (FIS2011)

Creating Mappings

39

wan7

timed: datetime PKsp_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

Page 40: Linked Sensor Data 101 (FIS2011)

40

Querying the ObservationsSELECT ?waveheightFROM STREAM <www.ssg4env.eu/SensorReadings.srdf> [NOW -10 MINUTES TO NOW STEP 1 MINUTE]WHERE { ?WaveObs a sea:WaveHeightObservation; sea:hasValue ?waveheight; }

Query translation

Query ProcessingC

lient

Mappings

SPARQLStream

[tuples]

Sensor Network

Data translation[triples]

GSN API

: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" ] ];

R2RML Mappings

http://montblanc.slf.ch :22001/ multidata ?vs [0]= wan7 &field [0]= sp_wind

Query processing engines

Page 41: Linked Sensor Data 101 (FIS2011)

Conclusions

Ingredients for Linked Sensor DataCore ontology

Domain ontologiesGuidelines for identifiersAPIs

Query processing engines

Work in progress & examples

Challenges: generate & consume LSD

Page 42: Linked Sensor Data 101 (FIS2011)

Thanks!

Questions, please.

[email protected]

42

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)

Page 43: Linked Sensor Data 101 (FIS2011)

Where is the Data?

43

GSN

GSN server instance

wan7

timed: datetime PKsp_wind: float

..sensor1sensor2sensor3…

Virtual

senso

rs

ssn:Observation

Mappings

Page 44: Linked Sensor Data 101 (FIS2011)

Creating Mappings

44

wan7

timed: datetime PKsp_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

Page 45: Linked Sensor Data 101 (FIS2011)

R2RML

• RDB2RDF W3C Group, R2RML Mapping language:• http://www.w3.org/2001/sw/rdb2rdf/r2rml/

45

: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"

Page 46: Linked Sensor Data 101 (FIS2011)

Data Access

• GSN Web Services• GSN URL API

• Compose the query as a URL:

46

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 ?

Calbimonte, J-P., Corcho O., Gray, A. Enabling Ontology-based Access to Streaming Data Sources. In ISWC 2010.

SPARQL-Stream

Page 47: Linked Sensor Data 101 (FIS2011)

Using the Mappings

47

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

wan7

timed: datetime PKsp_wind: float

xsd:datatype

ssn:ObservationValue

qudt:numericalValue

sp_wind

http://swissex.ch/data#Wan7/WindSpeed/ObsValue{timed}

timed,sp_wind

π

ω

σsp_wind>10

5 Hour

wan7

Page 48: Linked Sensor Data 101 (FIS2011)

Algebra expressions

48

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