The Semantic Sensor Network (SSN) ontology is an ontology for describing sensors and their observations, the involved procedures, the studied features of interest, the samples used to do so, and the observed properties, as well as actuators. SSN follows a horizontal and vertical modularization architecture, with the core classes and properties defined using minimal axiomatization in a graph called SOSA (Sensor, Observation, Sample, and Actuator) supplemented with additional axiomatization and terms in further graphs. These allow SSN to support a wide range of applications and use cases, including satellite imagery, large-scale scientific monitoring, industrial and household infrastructures, social sensing, citizen science, observation-driven ontology engineering, and the Web of Things.

The namespace for the core terms is http://www.w3.org/ns/sosa/.

The suggested prefix for the SOSA namespace is sosa.

The SOSA graph containing the core definitions is available at http://www.w3.org/ns/sosa/.
The SSN graph with the full axiomatization of the core terms is available at http://www.w3.org/ns/ssn/.

General Information

For OGC this is a Public Draft of a document prepared by the Spatial Data on the Web Working Group (SDWWG) — a joint W3C-OGC project (see charter). The document is prepared following W3C conventions. The document is released at this time to solicit public comment.

Specification

This section introduces the specifications for the RDF implementation of the Semantic Sensor Network Ontology.

RDF implementation

Namespaces

The namespace for the core terms is http://www.w3.org/ns/sosa/
The suggested prefix for the SOSA namespace is sosa:.

Dependencies

Each module of the SSN Ontology is packaged as an RDF file. The RDF representations use owl:imports statements to implement the dependencies. Within each graph, where further information (axioms and annotations) is added to an existing term, rdfs:isDefinedBy indicates the module where the term was originally defined.

Expressivity

The SOSA modules contains the basic definitions of the core terms with minimal axiomatization - only rdf:type and owl:inverseOf - together with key annotations rdfs:label , skos:definition , schema:domainIncludes , schema:rangeIncludes, plus other annotations as required.

The SSN modules contains the full axiomatization of the core terms, importing SOSA modules and using rdfs:subClassOf, rdfs:subPropertyOf, owl:Restriction with the various associated RDFS and OWL structures.

Distribution

SOSA

SOSA Common is available at http://www.w3.org/ns/sosa/common/.

SOSA Actuation is available at http://www.w3.org/ns/sosa/act/.

SOSA Observation is available at http://www.w3.org/ns/sosa/obs/.

SOSA Sampling is available at http://www.w3.org/ns/sosa/sam/.

The complete SOSA is available at http://www.w3.org/ns/sosa/.

SSN

SSN Common is available at http://www.w3.org/ns/ssn/common/.

SSN Actuation is available at http://www.w3.org/ns/ssn/act/.

SSN Observation is available at http://www.w3.org/ns/ssn/obs/.

SSN Sampling is available at http://www.w3.org/ns/ssn/sam/.

The complete SSN is available at http://www.w3.org/ns/ssn/.

Overview of Classes and Properties

The following figures show the key classes and properties in the ontology modules, from the perspectives of Actuation, Observation, and Sampling.

SSN ontology modules - Actuation
Overview of the key classes and properties (actuation perspective)
Explanation of the notation used in class diagrams.
SSN ontology modules - Observation
Overview of the key classes and properties (observation perspective)
Explanation of the notation used in class diagrams.
SSN ontology modules - Sampling
Overview of the key classes and properties (sampling perspective)
Explanation of the notation used in class diagrams.

The following are alphabetical lists of the classes and properties in the SSN Ontology.

The SSN classes and properties are described in the following sections, organized by module as described in Modularization above.

SSN Extensions

This section provides details on modules that extend the scope and capabilities of SSN.

Alignments

This section introduces the specifications for the modules that align SOSA and SSN to a variety of related ontologies and specifications.

Wide review

Results of the wide review of SOSA and SSN is summarized here.

Complete Examples

iPhone Barometer

Coal Oil Point Reserve

apartment 134

Tree height measurement

Seismographs

Number of sunspots

An RDF file containing a graph corresponding to this example is available.


    

Wind sensor spinning cups

Ice Core

In order to characterize a thing with a large extent, or which is not directly accessible, the usual observational strategy is to obtain one or more samples. Observations can then be made more conveniently on the samples, with the intention of characterizing the larger thing. This intentionality is captured using the property sosa:isSampleOf.

In the following example, the ice core is a sample of the Antarctic ice sheet, and observations are made on the ice core.

A convenient side effect of this feature is that all observations related to the larger thing (the ice sheet) can be found, and then potentially joined together in a meta-analysis in order to characterize that.

An RDF file containing a graph corresponding to this example is available.


      

DHT22 Description

DHT22 Deployment

This example shows how the conditions (temperature and humidity) in a room can be measured using one or more sensors. Each sensor observes the conditions in its immediate vicinity, and the values are then used to characterize the room.

In Room 145 one of the walls is external in the building, so there is expected to be a temperature gradient across the room, and there are two sensors on different walls. In room 245 there is one sensor on the south wall. Each of these locations corresponds to a sosa:Sample of the entire room. The wall also serves as a sosa:Platform on which the sensors are mounted.

An RDF file containing a graph corresponding to this example is available.


      

IP68 Smart Sensor

This example describes the IP68 Smart Sensor that and some of its capabilities and operating ranges. A specific IP68 Smart Sensor observes the air temperature, and its own battery state.

An RDF file containing a graph corresponding to this example is available.


      

Acknowledgments

The editors recognize the major contribution of the members of the original W3C Semantic Sensor Networks Incubator Group. The editors also gratefully acknowledge the contributions made to this document by all members of the SSN subgroup of the Spatial Data on the Web working group.

For this new edition of SSN, in addition to the contributors listed at the top of the document, the editors acknowledge the work of the editors of ISO 19156:2023 [[OMS]].

Change History

A full change-log is available on GitHub.

Changes since W3C Recommendation 19 October 2017 (https://www.w3.org/TR/2017/REC-vocab-ssn-20171019/)

  1. Updated Abstract to reflect the revised graph and axiomatization design
  2. Updated Chapter 2 'Modularization' to simplify and to reflect the revised graph arrangement
  3. Changed title of Chapter 4 from 'Axiomatization' to 'RDF Implementation' and updated the summary of namespaces and graphs
  4. Adjust namespace of terms previously in sosa:
  5. Added OMS alignment modules to section 6. 'Vertical Segmentation'
  6. Added ObservationCollection, SampleCollection, hasMember
  7. Retire O&Mv2 alignment - superseded by OMS alignment
  8. Retire SSNX alignment - leave behind a stub giving links to the previous edition of the recommendation and to the RDF alignment file
  9. Remove sosa:Input, sosa:Output ; mark ssn:Input, ssn:Output deprecated
  10. Mark ssn-system:Condition deprecated
  11. Mark sosa:Result deprecated
  12. Update OBOE alignment - using ObservationCollection, SampleCollection, hasMember
  13. remove rdfs:range on sosa:resultTime
  14. Add content model for Execution, including hasInputValue and hasOutputValue
  15. Add ActuationCollection to provide basic support for sets of actuations on multiple properties with multiple results; clarify meaning of Actuation result
  16. Clarify meaning of hasResult, resultTime, phenomenonTime in the context of Actuations
  17. introduced startTime property
  18. added ActuatingProcedure ObservingProcedure SamplingProcedure MaterialSample SpatialSample StatisticalSample relatedObservation resultQuality to SOSA graph and sosa: namespace, removed from SOSA-OMS graph and sosa:oms: ns
  19. Refactored SOSA and SSN into modules - sosa-common sosa-actuation sosa-observation sosa-sampling sosa (all), and matching ssn-* files (also ssn-deprecated). Refactored HTML sources to match.
  20. Add conformance clause
  21. Update and streamline Introduction; move Origins section to an Annex.
  22. re-drafted all figures; added a clause on notation
  23. retire ssn-system:qualityOfObservation - functionally equivalent to sosa:resultQuality
  24. add alignment to SAREF
  25. Add `forProperty` links from `ObservingProcedure` and `ActuatingProcedure`, and inverse `hasProcedure`
  26. Make patterns for Location, UoM more prescriptive