sensors, mappings and queries in the semantic web
Post on 14-Jan-2015
1.034 Views
Preview:
DESCRIPTION
TRANSCRIPT
Date: 06/07/2011
Sensors, Mappings and Queries(from a Semantic Web perspective)
Jean-Paul CalbimonteOntology Engineering Group.
Facultad de Informática, Universidad Politécnica de Madrid.
jp.calbimonte@upm.es
OEG – Charlas de Grupo
Outline
2Sensors, Mappings and Queries
• Previous work• Sensor data• Sensor metadata• Semantic Web representation• Mapping sensor streams• Query observations• Data integration
Previously on …
3Sensors, Mappings and Queries
• Work with Flood environmental sensor data.• SemSorGrid4Env project www.semsorgrid4env.eu.
We are getting high waves
around here!
Live sensor data
Continuous queries
Previously on…
4Sensors, Mappings and Queries
SELECT ?waveheightFROM 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]
Previously on …
5Sensors, Mappings and Queries
• Mapping data streams to ontologies
• Use ontological schemas to write queries over streaming data sources
• Rewriting SPARQL-Stream queries into declarative stream queries (e.g. SNEEql)
s:windsamples
sensorid: int PKts: datetime PKspeed: float
t:sensors
sensorid: int PKsensorname: st
WindSpeedMeasurement
Sensor
isProducedBy
xsd:int
hasSpeed
conceptmap-def WindSpeedMeasurement virtualStream <http://ssg4env.eu/Readings.srdf> uri-as concat('ssg4env:WindSM_', windsamples.sensorid,windsamples.ts) attributemap-def hasSpeed operation constant has-column windsamples.speed dbrelationmap-def isProducedBy toConcept Sensor joins-via condition equals has-column sensors.sensorid has-column windsamples.sensorid
conceptmap-def Sensor uri-as concat('ssg4env:Sensor_',sensors.sensorid) attributemap-def hasSensorid operation constant has-column sensors.sensorid
xsd:float
hasSensorid
OntologiesStreams S2O Mapping
Calbimonte, J-P., Corcho O., Gray, A. Enabling Ontology-based Access to Streaming Data Sources. In ISWC 2010.
Keep on working
• Other streaming technologies?
• Other query languages?
• Hundreds of sensors?
• Integrating heterogeneous data?
6Sensors, Mappings and Queries
Beyond SSG4Env Streaming Data Services
Other than SNEEql: CQL-like, Service calls
Not only toy-like streams
Many sources from different providers, schemas
A little help from our friends
• FP7 Network of Excellence
• Swiss Experiment
7Sensors, Mappings and Queries
GeoResearcher
Environmental and GeoScience researchSwiss Alps
...
...
...
Real-time data
Snow,Wind,Radiation.Lot of stuff
I want data to create my pretty
models and compare
I want to win a best paper
award
SwissEx
8Sensors, 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
Sensor Metadata
9Sensors, Mappings and Queries
station
location
model
sensors
properties
Sensor Metadata
• What properties are measured
• Which sensors available
• Where are they located
• How are they configured
• Who is responsible
10Sensors, Mappings and Queries
Sensor Data: Observations
11Sensors, Mappings and Queries
Heterogeneity
Integration
A model to bind them all
• W3C SSN Ontology
12Sensors, Mappings and Queries
ssn:FeatureOfInterest
ssn:Observation
ssn:isProducedByssn:SensorOutput
ssn:Sensor
ssn:featureOfInterest
ssn:ObservationValue
ssn:Property
ssn:observedByssn:observationResult ssn:hasValue
ssn:hasProperty
ssn:observedProperty
ssn:observes
xsd:datatype
quantityValue
SSN Ontology
13Sensors, Mappings and Queries
ssn:OperatingRange
ssn:SensingDevice
ssn:hasOperatingRange
ssn:Device
ssn:Sensor
ssn:MeasurementCapability
ssn:Sensing
ssn:System
ssn:Deployment
ssn:Platform
ssn:hasDeployment
ssn:deployedOnPlatformssn:implements
ssn:hasMeasurementCapability
ssn:onPlatform
So Far
14Sensors, Mappings and Queries
qQuery
translation
q’Query
Processing
Data translation
dd’
Clie
nt
mappings
[tuple][tuple]
[triple]
Ontology-based sensor query service
SPARQLStream
Target query Se
nso
r Ne
two
rks
SSN Onto
logy
???
Creating Mappings
15Sensors, Mappings and Queries
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
R2RML
• RDB2RDF W3C Group, R2RML Mapping language:• http://www.w3.org/2001/sw/rdb2rdf/r2rml/
16Sensors, 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"
So Far
17Sensors, Mappings and Queries
qQuery
translation
q’Query
Processing
Data translation
dd’
Clie
nt
mappings
[tuple][tuple]
[triple]
Ontology-based sensor query service
SPARQLStream
Target query Se
nso
r Ne
two
rks
SSN Onto
logy
R2RM
L
GSN
???
Data Access
• GSN Web Services• GSN URL API
• Compose the query as a URL:
18Sensors, Mappings and Queries
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 expressions
19Sensors, 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
20Sensors, Mappings and Queries
timed,sp_wind
π
ω
σ sp_wind>10
5 Hour
wan7
windsensor1
windsensor2
Static optimization
21Sensors, 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
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
22Sensors, Mappings and Queries
Ugly little demo
• Problems• Too many sensors• Too Heterogeneous
• Any sensors available in this region?• Sensors that measure wind speed?• How about getting the data?
23Sensors, Mappings and Queries
Playing with it
24Sensors, Mappings and Queries
Playing with it
25Sensors, Mappings and Queries
Conclusions
• Thou shalt use the SSN Ontology !• Using R2RML mappings• We can apply the approach to different technologies• We can translate to query languages and APIs• Algebra expressions are cool• Scale to hundreds of sensors
26Sensors, Mappings and Queries
TODO
• Make things usable• Combine with LD generation• Integrate with stored RDF data• Streaming/Dynamic RDF vocabularies• Apply to other environments
• MonetDB• OGC SOS Services• Pachube
27Sensors, Mappings and Queries
Thanks!
• Questions, please.
28Sensors, Mappings and Queries
top related