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.

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.

Common Modeling Questions

This section discusses how to handle common modeling questions such as locations, forecasts, and quantity values with a unit of measure.

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. Add conformance clause Chapter 3
  4. Updated Chapter 4 and Chapter 5.1 to explain modularization and RDF implementation
  5. Retire O&Mv2 alignment - superseded by OMS extension
  6. Retire SSNX alignment - leave behind a stub giving links to the previous edition of the recommendation and to the RDF alignment file
  7. Mark ssn:Input, ssn:Output deprecated
  8. Mark ssn-system:Condition deprecated
  9. Mark sosa:Result deprecated
  10. Add ObservationCollection, SampleCollection, hasMember
  11. Add ActuationCollection to provide basic support for sets of actuations on multiple properties with multiple results; clarify meaning of Actuation result
  12. Add SamplingCollection to provide mechanism for grouping sets of Samplings with common properties
  13. Update OBOE alignment - using ObservationCollection, SampleCollection, hasMember
  14. remove rdfs:range on sosa:resultTime
  15. Add content model for Execution, ExecutionCollection, including hasInputValue and hasResult
  16. Clarify meaning of hasResult, resultTime, phenomenonTime in the context of Actuations
  17. introduced startTime property
  18. 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.
  19. Update and streamline Introduction; move Origins section to an Annex.
  20. re-drafted all figures; added a clause on notation
  21. retire ssn-system:qualityOfObservation - functionally equivalent to sosa:resultQuality
  22. add alignment to SAREF
  23. Add `forProperty` links from `Procedure`, and inverse `hasProcedure`
  24. add inverses for all object-properties, add tabulation of all properties
  25. Add madeBySystem, madeExecution
  26. Add explanation of how domain types relate to feature-of-interest; remove Sample is subclass of FeatureOfInterest axiom
  27. Add SamplingCollection to provide mechanism for grouping sets of Samplings with common properties
  28. Deprecate ActuatableProperty, ObservableProperty in favour of generic Property
  29. Clarify type-vs-instance for Systems; add examples in Common Modeling patterns.
  30. Add hasFeatureOfInterest support to Deployments to allow description of systems/platforms tied to specific FoIs
  31. Remove Functional and InverseFunctional axioms except on hasResult
  32. Make patterns for Location, UoM more prescriptive