cours à l'école d'Été Web Intelligence 2013 « Le Web des objets » 3 septembre 2013, Saint-Germain-Au-Mont-d'Or, Franc. 67 slides.
ce cours en plus de décrire l'ontology ssn présente certains usages.
Semantic Sensor Network Ontology: Description et usage
1. Semantic Sensor Network
Ontology: description et
usage
Catherine ROUSSEY
4 septembre 2013
Pour mieux
affirmer
ses missions,
le Cemagref
devient Irstea
www.irstea.fr
Merci à
slide share,
Jean Paul CALBIMONT,
Oscar CORCHO,
W3C SSN Working Group
3. 3
Définitions:
DONNÉES, INFORMATIONS, CONNAISSANCES
Donnée: un élément d‟information,
percevable,
manipulable
Information: donnée +
sens + contexte
type
Connaissance: information +
stabilité + croyance
abstraction + traitement
généralisation d‟un ensemble d‟information = modèle
toujours propre à une personne
partagée par d‟autres personnes
4. 4
Schéma général
DONNÉES, INFORMATIONS, CONNAISSANCES
Connaissances
Résultat d‟un processus d‟apprentissage: une
généralisation d‟un ensemble d‟information que
l‟on va mémoriser
Information
Sens dans un contexte
Données
Perception
Connaissances en IA
Classes en POO
BD Relationnelle
Données typées
Données
Des traitement particuliers sur les données
qualitatives
Description sous forme d‟attribut (description
quantitative & qualitative ) + méthodes
(traitements)
Données fortement structurées optimisées pour le
stockage
Différent niveau de granularité : information
structurée non structurées
5. 5
Définition
ONTOLOGIE
Ontologie avec un O majuscule (philosophie):
Une science: une branche de la métaphysique qui a pour objectif
l‟étude de l‟être, c'est-à-dire l'étude des propriétés générales de tout
ce qui est…
Ontologies au pluriel avec un o minuscule (informatique):
Outils informatiques
résultat d‟une modélisation d‟un domaine d‟étude
défini pour un objectif donné
acceptée par une communauté d‟utilisateurs
…
6. 6
Ontologies …
Gruber 1993 : « une ontologie est une spécification explicite d’une
conceptualisation »
•
•
Conceptualisation: modèle abstrait du domaine: quelles entités?
Spécification explicite: les types et leurs contraintes d’usage sont définis
dans un langage…
Exemples:
•
•
•
Un thésaurus : vocabulaire normalisé
Un schéma de BD : un modèle structuré d'un domaine
Un système expert : un modèle du domaine formalisé pour les
inférences, des conditions exprimées à l'aide de formules logiques
Ontologie linguistique, ressource termino-ontologique, ontologie de
domaine, ontologie de haut niveau, un vocabulaire de métadonnées…
Thomas R. Gruber. “A translation approach to portable ontology
specifications”, Knowledge Acquisition, Volume 5, Issue 2, June 1993, Pages 199–
220
7. 7
Motivation: Ontologie
UNE ONTOLOGIE DE CAPTEURS POURQUOI FAIRE ?
Promouvoir un accès universel et uniformisé des données de capteurs
par le web:
• publier les données sur le web
• interroger ces données avec des techno web
• intégrer les données de capteurs avec d'autres données
• traiter ces données (par exemple les nettoyer pour améliorer leur
qualité)
Une ontologie contient un vocabulaire et un schéma de données:
• consensuels,
• publiés sur le web et documentés
• formalisés avec des standards du web (RDF, OWL, SPARQL)
• Avec des contraintes en DL (conditions nécessaires et/ou suffisantes)
= un schéma de données pour le web de données
8. 8
Définition: Le web de données Linked Data
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
9. 9
Publication sur le web de données
4 Principes:
• Use URIs as names for things
• Use HTTP URIs so that people can look up those names.
• When someone looks up a URI, provide useful information, using the
standards (RDF*, SPARQL)
•
Dereferenceable URI
• Include links to other URIs, so that they can discover more things.
10. 10
Motivation: flux et métadonnées
QU'EST CE QUE SONT LES DONNÉES DE CAPTEURS ?
•Flux de données (Data Stream)
•
•
•
•
Données issues de mesure
Données continues, potentiellement infinie
Données avec des estampilles temporelles (time stamped tuple)
Données bruitées (noisy)
(t9, a1, a2, ... , an)
• un réseau produit plusieurs flux hétérogènes
•
Station météo: précipitation, direction du vent
(t8, a1, a2, ... , an)
(t7, a1, a2, ... , an)
...
...
(t1, a1, a2, ... , an)
...
...
•Métadonnées: données sur les données
•
•
Description du réseau de capteurs : localisation, nb de nœuds
Description des nœuds: niveau d'énergie, sondes, paramétrage des sondes
13. 13
Motivation: Interrogation
Flux de données: requête continue
• fenêtre temporelle
•Les dernières données
(t9, a1, a2, ... , an)
(t8, a1, a2, ... , an)
(t7, a1, a2, ... , an)
...
...
(t1, a1, a2, ... , an)
...
...
Réseau de capteurs:
• ressources limitées: énergie, traitement, stockage
• exécution distribuée des requêtes
• routage, optimisation
Query
• Interrogation
•
•
•
native en utilisant API propre
stockage des flux dans une BD
publication sur le web de données
Window
[t7 - t9]
14. 14
W3C Semantic Sensor Incubator Group
: SSN XG
SSN – XG : mars 2009
41 Participants de 16 organisations : Des grands noms du domaine des
ontologies et des réseaux de capteurs : CSIRO, Wright State University, OGC, DERI, OEG,
Knoesis etc…
Objectifs:
• Proposer un modèle unifié de données de capteurs et de métadonnées
• Etat de l‟art sur les ontologies de capteurs existantes
• Proposer des méthodes de développements applications intelligentes
travaillant sur les données de capteurs
Résultat :
une ontologie qui intègre plusieurs ontologies existantes, validées dans des
projets.
Final Report 28 June 2011
http://www.w3.org/2005/Incubator/ssn/XGR-ssn-20110628/
15. 15
Semantic Sensor Network Ontology
Format OWL 2, disponible sur le web et documentée
(!!) Orientée capteur uniquement, compatible avec les standards de OGC
Aligner sur l‟ontologie de haut niveau Dolce Ultra Light (DUL)
Faciliter l‟intégration avec d‟autres ontologies
SSN ne s‟utilise jamais seule (!!), chaque application ne réutilise qu‟une sous partie
de l‟ontologie
Ontologie modulaire basé sur des patrons de conception (Design Pattern)
Importe que les parties nécessaires
Faciliter l‟évolution de l‟ontologie
Répond à plusieurs cas d‟usage (4)
Permettre d‟avoir plusieurs niveaux de description
« Redondance » voulue et nécessaire
Semantic Sensor Network Ontology: http://www.w3.org/2005/Incubator/ssn/ssnx/ssn
M. Compton et al. The SSN ontology of the W3C semantic sensor network incubator
group. Web Semantics: Science, Services and Agents on the World Wide Web
Volume 17, December 2012, pp 25–32
19. 19
Les autres ontologies nécessaires
•
•
•
•
Ontologies d‟unités
Ontologies géographiques de position et de lieux
Classification de tous les types de sondes
Ontologies des phénomènes observés et de leurs propriétés
SSN est une base pour construire une ontologie d‟application
20. 20
Ontology Design Pattern: ODP SSO
STIMULUS SENSOR OBSERVATION
Sensor is anything that observes
What is sensed?
What senses ?
How it senses ?
21. 21
Ontology Design Pattern: SSO in SSN
STIMULUS SENSOR OBSERVATION
Sensor is anything that observes
What is sensed?
What senses ?
How it senses ?
32. 32
Data + Sensor discovery and linking
SWISS EXPERIMENT : ENVIRONMENTAL RESEARCH
Sensor metadata
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"].
station
33. SSN Use Cases:
Data discovery and linking
Sensor Device selection and discovery
Application et projet
Pour mieux
affirmer
ses missions,
le Cemagref
devient Irstea
www.irstea.fr
34. 34
SSN Uses Case: data discovery and linking
FLOOD RISK ALERT: SEMSORGRID4ENV
Emergency
planner
Real-time
data
Wave,
Wind,
Tide
Meteorological
forecasts
Detect conditions likely to cause a flood
Example:
• “provide me with the wind speed observations average over the
last minute, if it is higher than the average of the last 2 to 3 hours”
35. 35
SSN Uses Case: data discovery and linking
SEMSORGRID4ENV PROJECT WWW.SEMSORGRID4ENV.EU
Emergency
planner
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
36. 36
SSN Use Cases: Sensor Discovery
SWISSEXPERIMENT
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
38. 38
Data + Sensor discovery and linking
SWISS EXPERIMENT : ENVIRONMENTAL RESEARCH
Geo
Researcher
Real-time
data
Snow,
Wind,
Radiation.
Lots of stuff
Provide data to create models and compare them to real data
Example:
• “I want to calculate how much snow is lost by evaporation
• So provide me with the snow quantity observations and the air
temperature observations in the station near Geneva over the last
year ”
42. Stream and SPARQL:
interrogation sur le sensor
web
J P Calbimonte PhD Thesis
Pour mieux
affirmer
ses missions,
le Cemagref
devient Irstea
www.irstea.fr
Jean-Paul Calbimonte, Hoyoung Jeung, Óscar Corcho, Karl Aberer: Enabling Query
Technologies for the Semantic Sensor Web. Int. J. Semantic Web Inf. Syst. 8(1): 4363 (2012)
43. 43
Management of heterogeneous data
STATE OF THE ART:
DS
MS
DQP
QP
S-RDF
Ontology-based
Data Access
Heterogeneous
data Integration
R2O +
ODEMapster
Streaming Data
Access
Distributed Query
Processing
SNEE/SNEEql
q
Semantic
Integrator
RDF Streams
Querying
C-SPARQL
extensions
44. 44
Extention SPARQL pour les flux
STATE OF THE ART
SNEEql
RSTREAM SELECT id, speed, direction
FROM wind[NOW];
Streaming SPARQL
PREFIX fire: <http://www.semsorgrid4env.eu/ontologies/fireDetection#>
SELECT ?sensor ?speed ?direction
FROM STREAM <http://…/SensorReadings.rdf> WINDOW RANGE 1 MS SLIDE 1 MS
WHERE {
?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-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 { …
45. 45
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
46. 46
Lessons Learned
• 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
• 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
47. 47
Ontology-based Streaming Data Access
SPARQLStream algebra(S1 S2 Sm)
q
Query
translation
Client
SPARQLStream (Og)
Stream-to-Ontology
Mappings
R2RML
[triples]
Data
translation
Target query/ request
SNEEql
Query Evaluator
Sensor
Network (S1)
Relational
DB (S2)
Stream
Engine (S3)
[tuples]
Ontology-based Streaming Data Access Service
RDF Store
(Sm)
48. 48
Enabling Ontology-based Access to Stream
Example: “provide me with the wind speed observations over the last
minute in the Solent Region ”
cd:Observation
cd:observationResult
cd:observedProperty
xsd:double
cd:Property
cd:featureOfInterest
cd:Feature
cd:locatedInRegion
cd:Region
PREFIX cd:
<http://www.semsorgrid4env.eu/ontologies/CoastalDefences.owl#>
PREFIX sb: <http://www.w3.org/2009/SSNXG/Ontologies/SensorBasis.owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?windspeed ?windts
FROM STREAM <http://www.semsorgrid4env.eu/ccometeo.srdf>
[ NOW – 1 MINUTE TO NOW – 0 MINUTES ]
WHERE
{
?WindObs a cd:Observation;
cd:observationResult ?windspeed;
cd:observationResultTime ?windts;
cd:observedProperty ?windProperty;
cd:featureOfInterest ?windFeature.
?windFeature a cd:Feature;
cd:locatedInRegion cd:SolentCCO.
?windProperty a cd:WindSpeed.
}
49. 49
Enabling Ontology-based Access to Stream
RDF-Stream
...
...
( <si-1,pi-1, oi-1>, ti-1 ),
( <si, pi, oi>, ti ),
( <si+1,pi+1, oi+1>, ti+1 ),
...
...
Example: “provide me with the wind speed observations over the last minute in
the Solent Region ”
cd:Observation
cd:observationResult
xsd:double
STREAM
<http://www.semsorgrid4env.eu/ccometeo.srdf>
...
...
( <ssg4e:Obs1,rdf:type, cd:Observation>, ti ),
( <ssg4e:Obs1,cd:observationResult,”34.5”>, ti ),
( <ssg4e:Obs2,rdf:type, cd:Observation>, ti+1 ),
( <ssg4e:Obs2,cd:observationResult,”20.3”>, ti+1 ),
...
...
50. 50
Query translation
envdata_westbay
Feature
envdata_chesil
v
envdata_milford
v
envdata_hornsea
v
envdata_rhylflats
v
Timestamp: long
Observation
hasObservation
Result
Mapping
Hs : float
Lon: float
Lat: float
observedProperty
xsd:float
locatedIn
Region
Region
WaveHeightProperty
SPARQL stream
PREFIX cd: <http://www.semsorgrid4env.eu/ontologies/CoastalDefences.owl#>
PREFIX sb: <http://www.w3.org/2009/SSN-XG/Ontologies/SensorBasis.owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?waveheight ?wavets ?lat ?lon
FROM STREAM <http://www.semsorgrid4env/ccometeo.srdf>
WHERE
{
?WaveObs a cd:Observation;
cd:observationResult ?waveheight;
cd:observationResultTime ?wavets;
cd:observationResultLatitude ?lat;
cd:observationResultLongitude ?lon;
cd:observedProperty ?waveProperty;
cd:featureOfInterest ?waveFeature.
?waveFeature a cd:Feature;
cd:locatedInRegion cd:SouthEastEnglandCCO.
?waveProperty a cd:WaveHeight.
}
SNEEql
(SELECT Lon,timestamp,Hs,Lat FROM envdata_rhylflats) UNION
(SELECT Lon,timestamp,Hs,Lat FROM envdata_hornsea) UNION
(SELECT Lon,timestamp,Hs,Lat FROM envdata_milford) UNION
(SELECT Lon,timestamp,Hs,Lat FROM envdata_chesil) UNION
(SELECT Lon,timestamp,Hs,Lat FROM envdata_perranporth) UNION
(SELECT Lon,timestamp,Hs,Lat FROM envdata_westbay) UNION
(SELECT Lon,timestamp,Hs,Lat FROM envdata_pevenseybay)
53. Extention de SSN
Wireless Semantic Sensor
Ontology
Rimel BENDADOUCHE PhD Thesis
Pour mieux
affirmer
ses missions,
le Cemagref
devient Irstea
www.irstea.fr
Bendadouche et al; SSN 2012
54. 54
Wireless Sensor Network (WSN)
NEEDS AND OBJECTIVES
Adapt the WSN node behavior to the context:
•
•
Node state
Phenomena state
Context: ”The context is a set of entities states or information
describing an environment where an event occurs”
State: ”The state is a qualitative data, which changes over time
summarizing a set of information”
SSN'12
12/11/2012
Enhance the lifetime and the good functioning of the network
WSN State of the art Extension of the SSN ontology Use of the WSSN ontology
55. 55
What is a context ?
FLOOD PHENOMENA
FLOOD PHENOMENA STATE:
1. “Normal”
2. “Waiting for rise in water levels”
3. “Rise in water levels”
4. “Flood warning”
NODE (ENERGY) STATE:
1. Strong Energy state
2. Average Energy state
3. Low Energy state
56. 56
Wireless Sensor Network (WSN)
Phenomena state Normal
<weather> node
sends its
measures
<weather>
node sends
nothing
WSN State of the art Extension of the SSN ontology Use of the WSSN ontology
57. 57
WSN and its devices
SSN'12
12/11/2012
WSN State of the art Extension of the SSN ontology Use of the WSSN ontology
61. 61
The use of the WSSN ontology
USING TOOLS
• Develop the WSSN ontology
•
Protégé
• JESS rule engine
•
Derive the state from the sensor data
• Simulate the WSN and its nodes behaviour
•
JADE Simulator
WSN State of the art Extension of the SSN ontology Use of the WSSN ontology
63. 63
Project: Sensei
INTEGRATING THE PHYSICAL WITH THE DIGITAL WORLD OF THE
NETWORK OF THE FUTURE
•
•
•
•
Smart Cities: Transport, energy consumption etc…
the EU's 7 Framework Programme
January 2008 December 2010
19 partners from 11 European countries
http://www.sensei-project.eu/
Zhang, Y., Meratnia, N.and Havinga, P.J.M.(2010) „Ensuring high sensor data quality
through use of online outlier detection techniques‟,Int. J. Sensor Networks, Vol. 7, No.
3, pp.141–151
Bahrepour, Majid and Meratnia, Nirvana and Havinga, Paul J.M. (2010) Fast and Accurate
Residential Fire Detection Using Wireless Sensor Networks. Environmental Engineering
and Management Journal, 9 (2). pp. 215-221. ISSN 1582-9596
64. 64
Project: KNOESIS Semantic Sensor Web
http://knoesis.wright.edu/
J. Pschorr, C. Henson, H. Patni and A. Sheth Sensor Discovery on Linked
Data. Kno.e.sis Center, Wright University, Dayton, USA, 2010.
65. 65
Project: SPITFIRE
SEMANTIC WEB INTERACTION WITH REAL OBJECTS
http://spitfire-project.eu/
SmartServiceProxy
aggregate semantic sensor data into representations of real-world things
called Semantic Entities
provide RESTful direct access to them.
Not yet publicly accessible
66. 66
Project: 52 North
SEMANTIC WEB INTERACTION WITH REAL OBJECTS
http://52north.org/
Sensor Observation Service:
publication of sensor data in RDF
SWEET ontology
Janowicz, K. , Bröring, A., Stasch, C., Schade, S ., Everding, T., & A. Llaves
(2011): A RESTful Proxy and Data Model for Linked Sensor Data.
International Journal of Digital Earth, pp. 1 - 22.
Arne Bröring, Patrick Maué, Krzysztof Janowicz, Daniel Nüst, and Christian
Malewski . Semantically-Enabled Sensor Plug & Play for the Sensor Web
Sensor Plug&Play framework
Sensors 2011, 11(8), pp. 7568-7605.
67. 67
Conclusion & Perspectives
SSN Ontology used in several projects for publishing data sensor on the
web of data…
Some works has to be done:
• good practices in URL definition
• Vizualisation of spatio temporal data
• Distributed reasoning
Follows the Semantic Sensor Network Workshop at ISWC
• SSN13 October 2013 Sydney
• SSN12 http://knoesis.org/ssn2012/
• SSN11 http://ceur-ws.org/Vol-839/
• SSN10 http://ceur-ws.org/Vol-668/
• SSN 2009 http://ceur-ws.org/Vol-522/
• SSN 2006 http://www.ict.csiro.au/ssn06/