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 [[vocab-ssn]], and where appropriate the usage of equivalent classes and relations in the original (SSN-XG) ontology [[SSNO]], 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 Sensor, Observation, Sample, and Actuator (SOSA) ontology core and the Semantic Sensor Network (SSN) ontology along two aspects: usage in Linked Data datasets (Consumers) and usage in ontologies that reuse or extend those ontologies (Producers). Other usage aspects (e.g., usage in software implementations) are out of the scope of this work.

Usage in datasets (Consumers)

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

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/ Bureau of Meteorology, Australian Government Linked Data Wokring group
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
D12 http://pid.geoscience.gov.au/sample/ http://pid.geoscience.gov.au/survey/ Nicholas Car, Geoscience Australia
D13 http://resource.geosciml.org/classifier/ics/ischart/StratigraphicPoints Simon Cox, IUGS Commission for Geoscience Information
D14 https://syndream.laas.fr:8082/endpoint/query/ Nicolas Seydoux, IRIT/LAAS-CNRS
D15 https://markusstocker.github.io/eyp-fixo3-ld/browser
https://markusstocker.github.io/eyp-fixo3-ld/docs/
Markus Stocker, MARUM - Center for Marine Environmental Sciences, University of Bremen
D16 http://linkedsystems.uk/system/instance/TOOL0969_1234/current/ Alexandra Kokkinaki, British Oceanographic Data Centre
D17 http://stko.geog.ucsb.edu/RDF/IDEAS_Coal_Oil_Point_Reserve_Observations_Temp_RH_Slr.ttl Krzysztof Janowicz, IDEAS Coal Oil Point Reserve Observations
D18 https://github.com/kaefer3000/t2-rest-leds-sosa for https://tessel.io/ Tobias Käfer, Karlsruhe Institute of Technology
D19 https://ci.mines-stetienne.fr/pep-platform/ Maxime Lefrançois, ITEA2 12004 Smart Energy Aware Systems Project
D20 https://fuseki.datalab.erasme.org/ Alessandro Cerioni, IoT European Platforms Initiative bIoTope Project
D21 https://envirocar.org/lod/envirocar.ttl Krzysztof Janowicz, enviroCar
D22 https://xdomes.org/ont/xdomes/sensorType Janet Fredericks, https://xdomes.org/
D23 https://xdomes.org/ont/xdomes/observableProperty Janet Fredericks, https://xdomes.org/

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, D15, D16, D17, D18, D20, D21, D22, D23 15
Actuations D14, D18 2
Samplings D12, D13, D17, D20, D21 5
Features of Interest and Properties D1, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D15, D17, D18, D20, D21 16
Results D3, D4, D5, D10, D11, D12, D15, D17, D19, D20, D21 11
Procedures D14, D16, D17, D18, D19, D20, D21 7
Systems and their Deployments D2, D10, D11, D12, D15, D16, D18, D20, D21 9

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
sosa:actsOnProperty D14 1 entailed by sosa:isActedOnBy
sosa:ActuatableProperty D14, D18 2
sosa:Actuation D14, D18 2
sosa:Actuator D14, D18 2
ssn:deployedOnPlatform oldssn:deployedOnPlatform D2, D11, D16, D20 4
ssn:deployedSystem oldssn:deployedSystem D11, D20 2 entailed by ssn:hasDeployment
ssn:Deployment oldssn:Deployment D2, D16 2
ssn:detects oldssn:detects D11, D15 2
sosa:FeatureOfInterest oldssn:FeatureOfInterest D1, D5, D11, D12, D14, D15, D17, D20, D21 8
ssn:forProperty oldssn:forProperty D14, D18, D20 3 entailed by sosa:observes
ssn:hasDeployment oldssn:hasDeployment D16 1 entailed by ssn:deployedSystem
sosa:hasFeatureOfInterest oldssn:featureOfInterest D1, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D15, D17, D18, D20, D21 16
ssn:hasInput oldssn:hasInput D14, D19 2
ssn:hasOutput oldssn:hasOutput D14, D19 2
ssn:hasProperty oldssn:hasProperty D11, D14, D15, D18, D20 5 entailed by ssn:isPropertyOf
sosa:hasResult oldssn:hasValue oldssn:observationResult D3, D4, D5, D10, D11, D12, D15, D19 8
sosa:hasSample D12, D17 2 entailed by sosa:isSampleOf
sosa:hasSimpleResult oldssn:hasSimpleResult D15, D17, D18, D20, D21 5
ssn:hasSubSystem oldssn:hasSubSystem D10, D11 2
sosa:hosts oldssn:attachedSystem D11, D15, D17, D18 4 entailed by sosa:isHostedBy
ssn:implementedBy oldssn:implementedBy entailed by ssn:implements
ssn:implements oldssn:implements D14, D16, D18, D19, D20 5 entailed by ssn:implementedBy
ssn:inDeployment oldssn:inDeployment D2, D20 2 entailed by ssn:deployedOnPlatform
ssn:Input oldssn:Input D14 1
sosa:isActedOnBy D14 1 entailed by sosa:actsOnProperty
sosa:isFeatureOfInterestOf D15 1 entailed by sosa:hasFeatureOfInterest
sosa:isHostedBy oldssn:onPlatform D10, D12, D21 3
sosa:isObservedBy oldssn:observedBy D15 1 entailed by sosa:observes
ssn:isPropertyOf oldssn:isPropertyOf D3, D11, D15, D20 4
ssn:isProxyFor oldssn:isProxyFor 0 Top-Level relation
sosa:isResultOf oldssn:isProducedBy D3, D11, D12 3
sosa:isSampleOf D12, D20, D21 3 entailed by sosa:hasSample
sosa:madeActuation 0 entailed by sosa:madeByActuator
sosa:madeByActuator D18 1 entailed by sosa:madeActuation
sosa:madeBySampler D12 1 entailed by sosa:madeSampling
sosa:madeBySensor oldssn:observedBy D1, D2, D3, D4, D10, D11, D17, D18, D20, D21 10 entailed by sosa:madeObservation
sosa:madeObservation oldssn:madeObservation D11 1 entailed by sosa:madeBySensor
sosa:madeSampling 0 entailed by sosa:madebySampler
sosa:ObservableProperty D15, D17, D18, D20, D21, D23 6
sosa:Observation D14, D15, D17, D18, D20, D21 6
sosa:observedProperty oldssn:observedProperty D1, D3, D4, D5, D10, D11, D17, D20, D21 9
sosa:observes oldssn:observes D10, D11, D15, D16, D18, D20 6
ssn:Output oldssn:Output D14 1
sosa:phenomenonTime oldssn:observationSamplingTime D5, D11 2
sosa:Platform oldssn:Platform D2, D10, D11, D12, D15, D16, D17, D18, D21 9
sosa:Procedure oldssn:Process D14, D16, D17, D18, D19, D21 6
ssn:Property oldssn:Property D3, D5, D14, D15, D20 5
sosa:Result D15 1
sosa:resultTime oldssn:observationResultTime D3, D4, D10, D11, D15, D17, D20, D21 8
sosa:Sample D12, D13, D17, D20, D21 5
sosa:Sampler D12 1
sosa:Sampling D12 1
sosa:Sensor oldssn:Sensor D2, D11, D14, D15, D17, D18, D20, D22 8
ssn:Stimulus oldssn:Stimulus D15 1 Top-Level Class
ssn:System oldssn:System D2, D10, D11, D15, D16 5
sosa:usedProcedure oldssn:sensingMethodUsed D17, D19, D21 3
ssn:wasOriginatedBy D15 1 Top-Level relation

The following table presents the coverage of the vocabulary terms of the non-normative SSN-System module in the different datasets (Consumer Implementations).

Term in SSN Equivalent term in SSN-XG Datasets Total Comment
ssn-system:Accuracy D20 1
ssn-system:ActuationRange 0
ssn-system:BatteryLifetime oldssn:BatteryLifetime 0
ssn-system:Condition oldssn:Condition D20 1
ssn-system:DetectionLimit 0
ssn-system:Drift 0
ssn-system:Frequency 0
ssn-system:hasOperatingProperty oldssn:hasOperatingProperty 0
ssn-system:hasOperatingRange oldssn:hasOperatingRange D20 1
ssn-system:hasSurvivalProperty oldssn:hasSurvivalProperty 0
ssn-system:hasSurvivalRange 0
ssn-system:hasSystemCapability D20 1
ssn-system:hasSystemProperty 0
ssn-system:inCondition oldssn:inCondition D20 1
ssn-system:Latency 0
ssn-system:MaintenanceSchedule oldssn:MaintenanceSchedule 0
ssn-system:MeasurementRange oldssn:MeasurementRange 0
ssn-system:OperatingPowerRange oldssn:OperatingPowerRange 0
ssn-system:OperatingProperty oldssn:OperatingProperty 0
ssn-system:OperatingRange oldssn:OperatingRange D20 1
ssn-system:Precision oldssn:Precision D11 1
ssn-system:qualityOfObservation oldssn:qualityOfObservation 0
ssn-system:Resolution D20 1
ssn-system:ResponseTime 0
ssn-system:Selectivity 0
ssn-system:Sensitivity oldssn:Sensitivity D20 1
ssn-system:SurvivalProperty oldssn:SurvivalProperty 0
ssn-system:SurvivalRange oldssn:SurvivalRange 0
ssn-system:SystemCapability D14, D20 2
ssn-system:SystemLifetime oldssn:SystemLifetime 0
ssn-system:SystemProperty D14 1

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
PEP-SSNAlignment Survey https://w3id.org/pep/SSNAlignment
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
Geologic timescale Survey http://resource.geosciml.org/ontology/timescale/gts/w3c
IoT-O (SOSA) Survey https://www.irit.fr/recherches/MELODI/ontologies/iot-o-sosa.html
SAN (SOSA) Survey https://www.irit.fr/recherches/MELODI/ontologies/san-sosa.html
FixO3 ontology Survey http://seprojects.marum.de/envriplus/fixo3ld/docs/
SEAS-SSN Alignment Survey https://w3id.org/seas/SSNAlignment
LSO Survey http://linkedsystems.uk/ns/lso/
Trajectory Ontology SOSA Alignment Survey http://descartes-core.org/ontologies/trajectory/1.0/trajectory_sosa_alignment.ttl

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

Module AEMET aws BCI CF DogOnt Energy iot-lite IoT-O M3 Lite OpenIoT PEP-SSN Alignment RAMI SAN SAO SPITFIRE VITAL Geologic timescale IoT-O (SOSA) SAN (SOSA) FixO3 SEAS-SSN Alignment LSO Trajectory Total
Imports SSN/SOSA N Y Y Y N N N Y N N Y N N N N N Y N N Y Y Y Y 9
Observations X X X X X X X

X X X

X X
X
X X X X 15
Actuations

X




X



X X X X 5
Samplings














X
X 2
Features of Interest and Properties X X X X X X X X
X

X X X X X X 14
Results

X

X
X

X X X




X X X 9
Procedures



X
X X


X X X X 6
Systems and their Deployments




X

X




X
X
X 5

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

Term in SSN Equivalent Term in SSN-XG AEMET aws BCI CF DogOnt Energy iot-lite IoT-O M3 Lite OpenIoT PEP-SSN Alignment RAMI SAN SAO SPITFIRE VITAL Geologic timescale IoT SAN FixO3 SEAS-SSN Alignment LSO Trajectory Total Comment
sosa:actsOnProperty

















X X 2 entailed by sosa:isActedOnBy
sosa:ActuatableProperty

X












X X X 4
sosa:Actuation

X




X





X X X X 6
sosa:Actuator

X




X





X X X X 6
ssn:deployedOnPlatform oldssn:deployedOnPlatform


















X 1
ssn:deployedSystem oldssn:deployedSystem


















X 1 entailed by ssn:hasDeployment
ssn:Deployment oldssn:Deployment


















X 1
ssn:detects oldssn:detects

X















X 2
sosa:FeatureOfInterest oldssn:FeatureOfInterest X
X X
X
X



X



X
X X X 10
ssn:forProperty oldssn:forProperty

X



X



X




X X X X 7 entailed by sosa:observes
ssn:hasDeployment oldssn:hasDeployment


















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

X










X
X X 6 entailed by isFeatureOfInterestOf
ssn:hasInput oldssn:hasInput









X







X X 3
ssn:hasOutput oldssn:hasOutput









X







X X 2
ssn:hasProperty oldssn:hasProperty

X X







X




X X X 6 entailed by ssn:isPropertyOf
sosa:hasSample
















X 1 entailed by sosa:isSampleOf
sosa:hasSimpleResult oldssn:hasSimpleResult









X







X X 3
ssn:hasSubSystem oldssn:hasSubSystem





X







X


X X 4
sosa:hasResult oldssn:hasValue
oldssn:observationResult


X

X
X

X
X





X X X 8
sosa:hosts oldssn:attachedSystem








X








X 2 entailed by sosa:isHostedBy
ssn:implementedBy oldssn:implementedBy


















X 1 entailed by ssn:implements
ssn:implements oldssn:implements






X

X
X



X
X X 6 entailed by ssn:implementedBy
ssn:inDeployment oldssn:inDeployment


















X 1 entailed by ssn:deployedOnPlatform
ssn:Input oldssn:Input









X
X




X X 4
sosa:isActedOnBy















X X 2 entailed by sosa:actsOnProperty
sosa:isFeatureOfInterestOf













X
X 2 is entailed by sosa:hasFeatureOfInterest
sosa:isHostedBy oldssn:onPlatform





X











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










X



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

X







X






X 3
sosa:isSampleOf
















X 1 entailed by sosa:hasSample
ssn:isPropertyOf oldssn:isPropertyOf

X X







X





X X 5 entailed by ssn:hasProperty
ssn:isProxyFor oldssn:isProxyFor

X















X 2 Top-Level relation
sosa:madeByActuator









X






X X 3 entailed by sosa:madeActuation
sosa:madeActuation









X






X X 3 entailed by sosa:madeByActuator
sosa:madeBySampler









X






X 2 entailed by sosa:madeSampling
sosa:madeBySensor


X





X






X X 4 entailed by sosa:madeObservation
sosa:madeObservation oldssn:madeObservation

X






X


X



X 4
sosa:madeSampling








X






X 2 entailed by sosa:madeBySampler
sosa:ObservableProperty

X








X
X 3
sosa:Observation

X



X



X
X X X 6
sosa:observedProperty oldssn:observedProperty X
X

X







X



X 5
sosa:observes oldssn:observes
X X







X

X



X X 6 entailed by sosa:isObservedBy
ssn:Output oldssn:Output









X







X 2
sosa:phenomenonTime oldssn:observationSamplingTime




X












X 2
sosa:Platform oldssn:Platform





X











X 2
sosa:Procedure oldssn:Process






X
X X
X



X X X X 8
ssn:Property oldssn:Property

X

X
X


X X
X X
X X X X X 12
sosa:Result

X














X X 3
sosa:resultTime observationResultTime








X








X 2
sosa:Sample















X

X 2
sosa:Sampler









X







X 2
sosa:Sampling









X







X 2
sosa:Sensor oldssn:Sensor

X
X
X X
X X X


X
X
X X X X 13
ssn:Stimulus oldssn:Stimulus

X















X 2 Top-Level Class
ssn:System oldssn:System





X X






X
X
X X 6
sosa:usedProcedure oldssn:sensingMethodUsed









X







X X 3
ssn:wasOriginatedBy

















X 1 Top-Level relation

The following table presents the coverage of the vocabulary terms of the non-normative SSN-System module in the different datasets.

Term in SSN Equivalent Term in SSN-XG AEMET aws BCI CF DogOnt Energy iot-lite IoT-O M3 Lite OpenIoT PEP-SSN Alignment RAMI SAN SAO SPITFIRE VITAL Geologic timescale IoT-O (SOSA) SAN (SOSA) FixO3 SEAS-SSN Alignment LSO Trajectory Total Comment
ssn-system:Accuracy


















X 1
ssn-system:ActuationRange

















X 1
ssn-system:BatteryLifetime oldssn:BatteryLifetime


















X 1
ssn-system:Condition oldssn:Condition


















X 1
ssn-system:DetectionLimit



















X 1
ssn-system:Drift oldssn:Drift


















X 1
ssn-system:Frequency

















X X 2
ssn-system:hasSurvivalRange


















X 1
ssn-system:hasSystemCapability

















X 1
ssn-system:hasSystemProperty


















X 1
ssn-system:hasOperatingRange oldssn:hasOperatingRange


















X 1
ssn-system:hasSurvivalProperty oldssn:hasSurvivalProperty


















X 1
ssn-system:inCondition oldssn:inCondition


















X 1
ssn-system:Latency

















X X 2
ssn-system:MaintenanceSchedule oldssn:MaintenanceSchedule


















X 1
ssn-system:MeasurementRange oldssn:MeasurementRange


















X 1
ssn-system:OperatingPowerRange oldssn:OperatingPowerRange


















X 1
ssn-system:OperatingProperty oldssn:OperatingProperty






X
X








X 3
ssn-system:OperatingRange oldssn:OperatingRange


















X 1
ssn-system:Precision oldssn:Precision


















X 1
ssn-system:qualityOfObservation oldssn:qualityOfObservation


















X 1
ssn-system:Resolution


















X 1
ssn-system:ResponseTime


















X 1
ssn-system:Selectivity


















X 1
ssn-system:SystemCapability
















X 1
ssn-system:SystemProperty















X 1
ssn-system:Sensitivity oldssn:Sensitivity








X








X 2
ssn-system:SurvivalProperty oldssn:SurvivalProperty


















X 1
ssn-system:SurvivalRange oldssn:SurvivalRange


















X 1
ssn-system:SystemLifetime oldssn:SystemLifetime








X








X 2