Semantic Web of Things

Luc Yriarte
ThingAgora

Plan

  • L'ontologie Semantic Sensors Network
  • Intégration dans Gnome Tracker
  • Exemple d'usage

L'ontologie Semantic Sensors Network

Ontologie SSN

W3C Semantic Sensor Network Incubator Group

Intégration dans Gnome Tracker

Tracker est un outil d'indexation de documents pour Linux, faisant partie du projet Gnome, qui supporte les requêtes SPARQL.

Le travail d'intégration, publié sur github, consistait essentiellement à ajouter l'ontologie SSN et ses dépendances et à la simplifier pour être supportée par le moteur SPARQL 1.1 de Tracker.

Ontologies additionnelles pour Tracker


50-owl.ontology
52-dul-classes.ontology
53-dul-properties.ontology
54-ssn-classes.ontology
55-ssn-properties.ontology
56-muo.ontology
57-ucum.ontology
58-ucum-instances.ontology
91-maemo.description
91-maemo.ontology
95-geo.ontology

Exemple d'usage

  • Requêtes structurelles sur l'ontologie
  • Modélisation d'un capteur à ultra-sons
  • Saisie des mesures en SPARQL

Propriétés du SensingDevice définies par ssn


tracker sparql -u -q "INSERT {<dummy> a ssn:SensingDevice}"
  
tracker sparql -q "SELECT ?c {<dummy> rdf:type ?c}"

tracker sparql -q "SELECT ?c ?r {
  <dummy> rdf:type ?c.
  ?r rdfs:domain ?c .
  ?r rdfs:isDefinedBy <http://purl.oclc.org/NET/ssnx/ssn>
}"
  
tracker sparql -u -q "DELETE {<dummy> a rdfs:Resource}"


Télémètre à ultra sons

Modèle n3


@prefix ssn:   <http://purl.oclc.org/NET/ssnx/ssn#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .

<uswt00hsr04> a ssn:SensingDevice;
  rdfs:label "uswt HCSR04 ultrasonic telemeter module".

<uswt00esp01> a ssn:Device;
  rdfs:label "uswt ESP-01 WiFi module".

<uswt00atmega328> a ssn:Device;
  rdfs:label "uswt Arduino Pro Mini controller".

<uswt00> a ssn:SensingDevice;
  rdfs:label "ultrasonic Wifi Telemeter";
  ssn:hasSubSystem <uswt00hsr04>
  ssn:hasSubSystem <uswt00esp01>
  ssn:hasSubSystem <uswt00atmega328>.


Propriété observée

Le télémètre détecte la distance à laquelle se trouve le premier objet en face. En terme de propriété sur un objet, c'est la taille de l'espace dégagé devant lui.

<uswt00frontspace> a ssn:FeatureOfInterest;
  ssn:hasProperty <http://purl.oclc.org/NET/muo/ucum/physical-quality/length>.
  
<uswt00> ssn:observes <http://purl.oclc.org/NET/muo/ucum/physical-quality/length>.


Données d'observation


<uswt00val01> a uomvocab:QualityValue;
  uomvocab:measuredIn <http://purl.oclc.org/NET/muo/ucum/unit/length/meter>
  uomvocab:numericalValue 10.

<uswt00out01> a ssn:SensorOutput;
  ssn:hasValue <uswt00val01>.

<uswt00observ01> a ssn:Observation;
  ssn:observedBy <uswt00>
  ssn:observedProperty <http://purl.oclc.org/NET/muo/ucum/physical-quality/length>
  ssn:featureOfInterest <uswt00frontspace>
  ssn:observationResult <uswt00out01>.


Interrogation au niveau de l'ontologie ssn


tracker sparql -q "SELECT ?sensor ?property ?feature ?value ?unit {
  ?s rdf:type ssn:Observation ;
    ssn:observedBy ?sensor ;
    ssn:observedProperty ?property ;
    ssn:featureOfInterest ?feature ;
    ssn:observationResult ?so .
  ?so ssn:hasValue ?ov .
  ?ov dul:hasRegionDataValue ?value ;
    uomvocab:measuredIn ?unit . 
}"


Merci, Questions

Luc Yriarte


luc.yriarte@thingagora.org