This document provides an analysis of the usage of the Sensor, Observation, Sample, and Actuator (SOSA) ontology core and the Semantic Sensor Network (SSN) ontology, and where appropriate the usage of equivalent classes and relations in the original (SSN-XG) ontology, developed by the W3C Semantic Sensor Networks Incubator Group and published in 2011.

This is a W3C note on the analysis of the usage of the SSN ontology (http://w3c.github.io/sdw/ssn/) for its acceptance as a W3C recommendation.

Introduction

The goal of the work is to analyse the usage of the SSN ontology along two aspects: usage in Linked Data datasets (Consumers) and usage in ontologies that reuse or extend the SSN ontology (Producers). Other usage aspects (e.g., usage in software implementations) are out of the scope of this work.

Usage in datasets

The goals of this analysis are the following: a) to analyse which modules of the SSN ontology have been used in different datasets and b) to analyse the coverage of the SSN vocabulary terms and modules in those datasets.

Stage 1. Automated inclusion of datasets

The following tasks have been performed to automatically analyse the coverage of the SSN ontology in datasets:

  1. To select the datasets to be included in the study. The datasets selected are those that are included in the following registries:
    • LOD Laundromat: It includes datasets collected by catalog-specific scripts (e.g., the Datahub ones) and by hand.
    • LOD Cloud Cache: It includes crawled data from various RDF and Linked Data resources from around the Web, as well as data extracted using Virtuoso Sponger from web pages.
    • LODStats: It includes the datasets from the data.gov, publicdata.eu and datahub.io data catalogs.
  2. To identify which vocabulary terms from the SSN ontology are used in each dataset. In this task the Loupe system has been used to analyze the vocabulary usage patterns stored in LOD Laundromat (657,902 datasets). Besides, LOD Cloud Cache (3,203,793 documents) and LODStats (2,005 datasets) have been analysed using SPARQL queries. It must be noted that the identification has been based on the direct mention of the terms in the datasets; it does not include the cases in which some SSN term is specialized in another ontology and in the data the specialized term appears and not the SSN one.

Stage 2. Manual inclusion of datasets

The automated approach is not enough for analysing the usage of the SSN data, since these data may not be openly published in the Web, may be part of streams of data that are not persisted, may be used internally in data processing infrastructures, etc. Besides, the different vocabulary terms could have been extended and the datasets could contain the extended terms and not the ones from the SSN ontology.

Therefore, in a second stage an open call has been issued for people to submit their own datasets to be taken into account.

If the content of the datasets can be retrieved, the previous analysis can be performed over them. If not, people willing to submit a dataset had to state which terms of the SSN ontology are used in their datasets.

Analysis of usage in datasets (Consumers)

The following table presents the datasets that use the SSN ontology that have been found, along with their URIs.

Identifier Dataset Source
D1 http://aemet.linkeddata.es/ LOD Laundromat, LOD Cloud Cache
D2 http://lab.environment.data.gov.au/ LOD Cloud Cache
D3 http://crtm.linkeddata.es/sparql Freddy Priyatna
D4 http://www.zaragoza.es/ciudad/risp/sparql.htm Oscar Corcho
D5 http://smartcity.linkeddata.es/lcc/sparql/ Raúl García-Castro
D6 http://iot.ee.surrey.ac.uk:8080/datasets/traffic/traffic_oct_nov/trafficData158324.ttl Amélie Gyrard
D7 http://iot.ee.surrey.ac.uk:8080/datasets/pollution/pollutionData204273_oo2.ttl Amélie Gyrard
D8 http://iot.ee.surrey.ac.uk:8080/datasets/parking/aarhus_parking.ttl Amélie Gyrard
D9 http://iot.ee.surrey.ac.uk:8080/datasets/aarhusculturalevents/culturalEvents_aarhus.ttl Amélie Gyrard
D10 http://ontology.irstea.fr/weather/snorql/ Amélie Gyrard
D11 http://graphofthings.org/ Danh Le Phuoc

The following table presents the coverage of the modules of the SSN ontology in the different datasets.

Module Datasets Total
Observations D1, D2, D3, D4, D5, D10, D11 6
Actuations 0
Samplings 0
Features of Interest and Properties D1, D3, D4, D5, D6, D7, D8, D9, D10, D11 10
Results D3, D4, D5, D10, D11 5
Procedures 0
Systems and their Deployments D2, D10, D11 3
System Capabilities Module D11 1

The following table presents the coverage of the vocabulary terms of the SSN ontology in the different datasets (Consumer Implementations).

Term in SSN equivalent Term in SSN-XG Datasets Total Comment
ssn-system:Accuracy 0
sosa:actsOnProperty 0
sosa:ActuatableProperty 0
sosa:Actuation 0
ssn-system:ActuationRange 0
sosa:Actuator 0
ssn-system:BatteryLifetime oldssn:BatteryLifetime 0
ssn-system:Condition oldssn:Condition 0
ssn:deployedOnPlatform oldssn:deployedOnPlatform D2, D11 2
ssn:deployedSystem oldssn:deployedSystem D11 1 entailed by ssn:hasDeployment
ssn:Deployment oldssn:Deployment D2 1
ssn-system:DetectionLimit 0
ssn:detects oldssn:detects D11 1
ssn-system:Drift 0
sosa:FeatureOfInterest oldssn:FeatureOfInterest D1, D5, D11 3
ssn:forProperty oldssn:forProperty entailed through sosa:observes
ssn-system:Frequency 0
ssn:hasDeployment oldssn:hasDeployment 0 entailed by ssn:deployedSystem
sosa:hasFeatureOfInterest oldssn:featureOfInterest D1, D3, D4, D5, D6, D7, D8, D9, D10, D11 10
ssn:hasInput oldssn:hasInput 0
ssn:hasSimpleResult oldssn:hasSimpleResult 0
ssn-system:hasSurivalRange 0
ssn-system:hasSystemCapability 0
ssn-system:hasSystemProperty 0
ssn-system:hasOperatingProperty oldssn:hasOperatingProperty 0
ssn-system:hasOperatingRange oldssn:hasOperatingRange 0
ssn:hasOutput oldssn:hasOutput 0
ssn:hasProperty oldssn:hasProperty D11 1 entailed by ssn:isPropertyOf
ssn:hasSubSystem oldssn:hasSubSystem D10, D11 2
ssn-system:hasSurvivalProperty oldssn:hasSurvivalProperty 0
sosa:hasResult oldssn:hasValue oldssn:observationResult D3, D4, D5, D10, D11 5
sosa:hasSample 0
sosa:hosts oldssn:attachedSystem D11 1 entailed by sosa:isHostedBy
ssn:implementedBy oldssn:implementedBy 0
ssn:implements oldssn:implements 0
ssn-system:inCondition oldssn:inCondition 0
ssn:inDeployment oldssn:inDeployment D2 1 entailed by ssn:deployedOnPlatform
ssn:Input oldssn:Input 0
sosa:isActedOnBy 0
sosa:isFeatureOfInterestOf entailed by sosa:hasFeatureOfInterest
sosa:isHostedBy oldssn:onPlatform D10 1
sosa:isObservedBy oldssn:observedBy entailed by sosa:observes
sosa:isResultOf oldssn:isProducedBy D3, D11 2
sosa:isSampleOf 0
ssn:isPropertyOf oldssn:isPropertyOf D3, D11 2
ssn:isProxyFor oldssn:isProxyFor 0
ssn-system:Latency 0
sosa:madeByActuator 0 entailed by sosa:madeActuation
sosa:madeActuation 0 entailed by sosa:madeByActuator
sosa:madeBySampler 0 entailed by sosa:madeSampling
sosa:madeObservation oldssn:madeObservation D11 1 entailed by sosa:madeBySensor
ssn-system:MaintenanceSchedule oldssn:MaintenanceSchedule 0
ssn-system:MeasurementRange oldssn:MeasurementRange 0
sosa:madeBySensor oldssn:observedBy D1, D2, D3, D4, D10, D11 6
sosa:madeSampling 0 entailed by sosa:madebySampler
sosa:ObservableProperty 0
sosa:Observation 0
sosa:observedProperty oldssn:observedProperty D1, D3, D4, D5, D10, D11 6
sosa:observes oldssn:observes D10, D11 2
ssn-system:OperatingPowerRange oldssn:OperatingPowerRange 0
ssn-system:OperatingProperty oldssn:OperatingProperty 0
ssn-system:OperatingRange oldssn:OperatingRange 0
ssn:Output oldssn:Output 0
sosa:phenomenonTime oldssn:observationSamplingTime D5, D11 2
sosa:Platform oldssn:Platform D2, D10, D11 3
ssn-system:Precision oldssn:Precision D11 1
sosa:Procedure oldssn:Process 0
ssn:Property oldssn:Property D3, D5 2
ssn-system:qualityOfObservation oldssn:qualityOfObservation 0
ssn-system:Resolution 0
ssn-system:ResponseTime 0
sosa:resultTime oldssn:observationResultTime D3, D4, D10, D11 4
sosa:Result 0
ssn-system:Selectivity 0
sosa:Sample 0
sosa:Sampler 0
sosa:Sampling 0
ssn-system:Sensitivity oldssn:Sensitivity 0
sosa:Sensor oldssn:Sensor D2, D11 2
ssn:Stimulus oldssn:Stimulus Top-Level Class
ssn-system:SurvivalProperty oldssn:SurvivalProperty 0
ssn-system:SurvivalRange oldssn:SurvivalRange 0
ssn:System oldssn:System D2, D10, D11 3
ssn-system:SystemCapability 0
ssn-system:SystemLifetime oldssn:SystemLifetime 0
ssn-system:SystemProperty 0
sosa:usedProcedure oldssn:sensingMethodUsed 0
ssn:wasOriginatedBy Top-Level relation

Usage in ontologies (Producers)

The goals of this analysis are the following: a) to analyse which modules of the SSN ontology have been used in different ontologies and b) to analyse the coverage of the SSN vocabulary terms and modules in those ontologies.

Stage 1. Automated inclusion of ontologies

The following tasks have been performed to automatically analyse the coverage of the SSN ontology in ontologies:

  1. To select the ontologies to be included in the study. The ontologies selected are those that reuse the SSN ontology, that are included in the LOV ontology catalogue, and that are available in the Web.
  2. To identify which vocabulary terms from the SSN ontology are used in each ontology. This task has been performed manually.

Stage 2. Manual inclusion of ontologies

The automated approach is not enough for analysing the reuse of the SSN ontology in other ontologies, since these ontologies may not be published in the LOV catalogue.

Therefore, in a second stage an open call has been issued for people to submit their own ontologies to be taken into account.

If the content of the ontologies can be retrieved, the previous analysis can be performed over them. If not, people willing to submit a ontology had to state which terms of the SSN ontology are used in their ontology.

Analysis of the usage in ontologies

The following table presents the ontologies that reuse the SSN ontology that have been found, along with their URIs.

Identifier Source Ontology
AEMET Survey http://aemet.linkeddata.es/ontology/
aws LOV http://purl.oclc.org/NET/ssnx/meteo/aws
BCI LOV https://w3id.org/BCI-ontology
CF LOV http://purl.oclc.org/NET/ssnx/cf/cf-feature
http://purl.oclc.org/NET/ssnx/cf/cf-property
DogOnt LOV http://elite.polito.it/ontologies/dogont.owl
Energy Survey http://smartcity.linkeddata.es/lcc/ontology/EnergyConsumption
iot-lite LOV http://purl.oclc.org/NET/UNIS/fiware/iot-lite#
IoT-O LOV http://www.irit.fr/recherches/MELODI/ontologies/IoT-O
M3 Lite LOV http://purl.org/iot/vocab/m3-lite#
OpenIoT Survey http://sensormeasurement.appspot.com/ont/sensor/openIoT.owl
PE LOV https://w3id.org/pep/
RAMI Survey http://vocab.cs.uni-bonn.de/eis/rami/
SAN LOV http://www.irit.fr/recherches/MELODI/ontologies/SAN
SAO Survey http://iot.ee.surrey.ac.uk:8080/resources/ontologies/sao.ttl
SPITFIRE Survey http://sensormeasurement.appspot.com/ont/sensor/spitfire.owl
VITAL Survey http://vital-iot.eu/ontology/ns/ontology.owl

The following table presents the coverage of the modules of the SSN ontology in the different ontologies. The second row indicates whether the ontology imports the whole SSN ontology or not.

Module AEMET aws BCI CF DogOnt Energy iot-lite IoT-O M3 Lite OpenIoT PE RAMI SAN SAO SPITFIRE VITAL Total
Imports SSN N Y Y Y N N N Y N N N N N N N N 4
ConstraintBlock















0
Data

X

X
X



X


4
Deployment















0
Device



X
X X X X

X
X
7
EnergyRestriction















0
Measuring
X X


X
X

X

X
6
MeasuringCapability

X



X
X





3
Observation

X

X


X



X
4
OperatingRestriction






X
X





2
PlatformSite





X

X





2
Process

X



X


X X


4
Skeleton X
X X X X X X
X X X X X X X 14
System





X X






X 3
Time















0

The following table presents the coverage of the vocabulary terms of the SSN ontology in the different datasets. The second row indicates whether the ontology imports the whole SSN ontology or not.

Term in SSN Equivalent Term in SSN-XG AEMET aws BCI CF DogOnt Energy iot-lite IoT-O M3 Lite OpenIoT PE RAMI SAN SAO SPITFIRE VITAL Total Comment
ssn-system:Accuracy















0
sosa:actsOnProperty














0
sosa:ActuatableProperty














0
sosa:Actuation














0
ssn-system:ActuationRange














0
sosa:Actuator














0
ssn-system:BatteryLifetime oldssn:BatteryLifetime















0
ssn-system:Condition oldssn:Condition















0
ssn:deployedOnPlatform oldssn:deployedOnPlatform















0
ssn:deployedSystem oldssn:deployedSystem















0 entailed by ssn:hasDeployment
ssn:Deployment oldssn:Deployment















0
ssn-system:DetectionLimit
















0
ssn:detects oldssn:detects

X












1
ssn-system:Drift oldssn:Drift















0
sosa:FeatureOfInterest oldssn:FeatureOfInterest X
X X
X
X

X
X


7
ssn:forProperty oldssn:forProperty

X



X



X


3 entailed through sosa:observes
ssn-system:Frequency














0
ssn:hasDeployment oldssn:hasDeployment















0 entailed by ssn:deployedSystem
sosa:hasFeatureOfInterest oldssn:featureOfInterest X
X

X









3 entailed by isFeatureOfInterestOf
ssn:hasInput oldssn:hasInput















0
ssn:hasSimpleResult oldssn:hasSimpleResult















0
ssn-system:hasSurvivalRange















0
ssn-system:hasSystemCapability














0
ssn-system:hasSystemProperty















0
ssn-system:hasOperatingRange oldssn:hasOperatingRange















0
ssn:hasOutput oldssn:hasOutput















0
ssn:hasProperty oldssn:hasProperty

X X







X


3 entailed by ssn:isPropertyOf
ssn:hasSubSystem oldssn:hasSubSystem





X







X 2
ssn-system:hasSurvivalProperty oldssn:hasSurvivalProperty















0
sosa:hasResult oldssn:hasValue
oldssn:observationResult


X

X
X



X


4
sosa:hosts oldssn:attachedSystem








X





1 entailed by sosa:isHostedBy
ssn:implementedBy oldssn:implementedBy















0
ssn:implements oldssn:implements






X



X


2
ssn-system:inCondition oldssn:inCondition















0
ssn:inDeployment oldssn:inDeployment















0 entailed by ssn:deployedOnPlatform
ssn:Input oldssn:Input











X


1
sosa:isActedOnBy













0
sosa:isFeatureOfInterestOf












0 is entailed by sosa:hasFeatureOfInterest
sosa:isHostedBy oldssn:onPlatform





X








1 entailed by sosa:hosts
sosa:isObservedBy oldssn:observedBy X
X










X
3 entailed by sosa:observes
sosa:isResultOf oldssn:isProducedBy

X







X



2
sosa:isSampleOf













0
ssn:isPropertyOf oldssn:isPropertyOf

X X







X


3 entailed by ssn:hasProperty
ssn:isProxyFor oldssn:isProxyFor

X












1
ssn:system:Latency














0
sosa:madeByActuator














0 entailed by sosa:madeActuation
sosa:madeActuation














0 entailed by sosa:madeByActuator
sosa:madeBySampler














0 entailed by sosa:madeSampling
sosa:madeObservation oldssn:madeObservation

X










X
2
sosa:madeSampling













0
ssn-system:MaintenanceSchedule oldssn:MaintenanceSchedule















0
ssn-system:MeasurementRange oldssn:MeasurementRange















0
sosa:Observation










0
sosa:observedProperty oldssn:observedProperty X
X

X







X
4
sosa:observes oldssn:observes
X X







X

X
4 entailed by sosa:isObservedBy
ssn-system:OperatingPowerRange oldssn:OperatingPowerRange















0
ssn-system:OperatingProperty oldssn:OperatingProperty






X
X





2
ssn-system:OperatingRange oldssn:OperatingRange















0
ssn:Output oldssn:Output















0
sosa:phenomenonTime oldssn:observationSamplingTime




X









1
sosa:Platform oldssn:Platform





X








1
ssn-system:Precision oldssn:Precision















0
sosa:Procedure oldssn:Process






X



X


2
ssn:Property oldssn:Property

X

X
X


X X
X X 7
ssn-system:qualityOfObservation oldssn:qualityOfObservation















0
ssn-system:Resolution















0
ssn-system:ResponseTime















0
sosa:Result














0
sosa:resultTime observationResultTime








X





1
sosa:Sample















0
sosa:Sampler















0
sosa:Sampling















0
ssn-system:Selectivity















0
ssn-system:SystemCapability













0
ssn-system:SystemProperty












0
ssn-system:Sensitivity oldssn:Sensitivity








X





1
sosa:Sensor oldssn:Sensor



X
X X
X
X


X 6
ssn:Stimulus oldssn:Stimulus

X












1 Top-Level Class
ssn-system:SurvivalProperty oldssn:SurvivalProperty















0
ssn-system:SurvivalRange oldssn:SurvivalRange















0
ssn:System oldssn:System





X X






X 3
ssn-system:SystemLifetime oldssn:SystemLifetime








X





1
sosa:usedProcedure oldssn:sensingMethodUsed















0
ssn:wasOriginatedBy














0 Top-Level relation

References

[SSN Ontology]
Michael Compton, Payam Barnaghi, Luis Bermudez, Raúl García-Castro, Oscar Corcho, Simon Cox, John Graybeal, Manfred Hauswirth, Cory Henson, Arthur Herzog, Vincent Huang, Krzysztof Janowicz, W. David Kelsey, Danh Le Phuoc, Laurent Lefort, Myriam Leggieri, Holger Neuhaus, Andriy Nikolov, Kevin Page, Alexandre Passant, Amit Sheth, Kerry Taylor The SSN ontology of the W3C semantic sensor network incubator group Web Semantics: Science, Services and Agents on the World Wide Web, 17:25-32 December 2012.