Semantic Sensor Network Ontology - 2023 Edition

W3C First Public Working Draft

More details about this document
This version:
https://www.w3.org/TR/2025/WD-vocab-ssn-2023-20250916/
Latest published version:
https://www.w3.org/TR/vocab-ssn-2023/
Latest editor's draft:
https://w3c.github.io/sdw-sosa-ssn/ssn/
History:
https://www.w3.org/standards/history/vocab-ssn-2023/
Commit history
Implementation report:
https://w3c.github.io/sdw-sosa-ssn/ssn/usage/
Latest Recommendation:
https://www.w3.org/TR/vocab-ssn
Editors:
Simon J D Cox (Timely Logic, AU)
Maxime Lefrançois (École Nationale Supérieure des Mines de Saint-Étienne, FR)
Rob Warren (Glengarry Agriculture and Forestry, CA)
Rob Atkinson (OGC & Metalinkage, AU)
Luis Moreira de Sousa (Instituto Superior Técnico Lisboa, PT)
Kathi Schleidt (Datacove, AT)
Sylvain Grellet (BRGM, FR)
Former editors:
Armin Haller (Australian National University, AU)
Krzysztof Janowicz (Universität Wien, AT)
Danh Le Phuoc (Technical University of Berlin, DE)
Kerry Taylor (Australian National University, AU)
Feedback:
GitHub w3c/sdw-sosa-ssn (pull requests, new issue, open issues)
public-sdw-comments@w3.org with subject line [vocab-ssn-2023] … message topic … (archives)
Contributors (ordered alphabetically by surname)
Krzysztof Janowicz, Universität Wien, AT
Alex Robin, Georobotix, FR
Hylke van der Schaaf, Fraunhofer IOSB, DE
Previous Contributors (ordered alphabetically by surname)
Raúl García-Castro, Universidad Politécnica de Madrid, ES
Joshua Lieberman, Tumbling Walls, US
Claus Stadler, Universität Leipzig, DE
OGC Document Number
OGC 25-022

Abstract

The Semantic Sensor Network ontology (SSN) describes actuators and their actuations, sensors and their observations, samplers and their samplings, the procedures implemented, the features of interest and samples changed or studied, and the actuated and observed properties. The core SSN classes and properties are defined using minimal axiomatization in a module called SOSA (Sensor, Observation, Sample, and Actuator) supplemented with additional axiomatization and terms in further modules. 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. Alignments to some existing ontologies and specifications are provided. Patterns for application of SSN are provided.

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/.

Status of This Document

This section describes the status of this document at the time of its publication. A list of current W3C publications and the latest revision of this technical report can be found in the W3C standards and drafts index.

General Information

For OGC this is a Public Draft of a document prepared by the Spatio-temporal Data on the Web Working Group (SDW) — 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.

This document was published by the Spatio-temporal Data on the Web Working Group as a First Public Working Draft using the Recommendation track.

Publication as a First Public Working Draft does not imply endorsement by W3C and its Members.

This is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to cite this document as other than a work in progress.

This document was produced by a group operating under the W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent that the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

This document is governed by the 18 August 2025 W3C Process Document.

1. Introduction

This section is non-normative.

Sensors are a major source of data available on the Web today. However, searching, reusing, integrating, and interpreting sensor data requires more than just the result of an act of sensing. For proper interpretation of these values, knowledge of the feature of interest, such as a river, the observed property, such as flow velocity, the sampling strategy, such as the specific locations and times at which the velocity was measured, and a variety of other information are required.

Furthermore, the Web of Things makes actuators and the data they produce first-class citizens of the Web. Parallel to sensors and observations, searching, reusing, integrating, and interpreting actuator data requires more than just the actuation input and result values. Knowledge of the feature of interest, such as a smart thermostat, the actuated property, such as temperature setpoint, and a variety of other information are required.

OGC's Sensor Web Enablement standards [SWE], [SensorML], [OandM], [OMS], [STA] provide conceptual models and some encodings for the annotation of sensors and their observations. [OMS] provides a comprehensive description of the characteristics of observations and samples. Integration and alignment of these with W3C Semantic Web technologies and Linked Data embeds this in a global and densely interconnected graph of data.

The ETSI Smart Applications REFerence ontology ([SAREF]) forms a shared model of consensus intended to enable semantic interoperability and data portability between solutions from different providers and among various activity sectors in the Internet of Things (IoT), such as smart energy systems, smart cities, smart homes, etc. [SAREF] provides a generic description of devices, such as sensors and actuators, the functions and individual commands they expose to some network, and the physical systems upon which these devices act.

This specification defines the Semantic Sensor Network (SSN) ontology. It provides flexible but coherent perspectives for representing the entities, relations, and activities involved in actuation, observation, and sampling.

A lightweight core for SSN, known as SOSA (Sensor, Observation, Sample, and Actuator) aims to broaden the audience and application areas that do not need the full capabilities of Semantic Web ontologies. SOSA acts as minimal interoperability fall-back level, i.e., it defines terms (classes and properties) with which data can be safely exchanged across all uses of SSN, its modules, and SOSA.

The previous edition of the SSN Ontology [vocab-ssn-20171019] harmonised earlier work from OGC ([OandM]) and W3C ([SSNX]). A new edition of the OGC/ISO standard [iso-19156-2023],Observations, measurements and samples (OMS) has updated Observations and Measurements (O&M) v2 with a number of additional features arising from more than 10 years implementation experience. This new edition of the SSN Ontology provides a canonical RDF implementation of OMS (the OMS Extension Module). In addition, [SAREF] and SSN have common contributors who work on the convergence of these reference ontologies. This new edition of the SSN Ontology provides an alignement to [SAREF] (the SSN-SAREF Alignment Module). Finally, direct experience with SSN has uncovered a variety of minor issues and possible improvements that have been addressed or accommodated. For example, with the increasing diversity of data and data providers, definitions for sensors and actuators have been broadened to include agents (including humans) and software (simulation).

This edition of the SSN Ontology is designated "2023 Edition" corresponding to the year when revision commenced. This allows a W3C document name and id to be established regardless of the final publication date. It also aligns with designation of the ISO standard that triggered the revision work — ISO 19156:2023 ([OMS]).

Note

A number of new terms have been added to the SSN Ontology in the 2023 Edition. Those that have received little or no implementation testing are marked "non-normative" with a Warning note. These terms will be updated to normative status if implementation evidence is received during the transition process.

A change log is provided in an Annex of this document. This describes the changes since the 2017 edition [vocab-ssn-20171019]. Backward compatibility is maintained since descriptions of Actuations, Observations, Samplings, and Samples using the SSN Ontology from the 2017 edition are compatible with the SSN Ontology provided by this 2023 Edition.

Note

An account of the Origins of SSN and SOSA through various OGC and W3C initiatives is provided in an Appendix to this document.

2. Notation

2.1 RDF notation

The SSN Ontology is defined using RDFS RDF Schema 1.1 and OWL OWL 2 Web Ontology Language Document Overview (Second Edition) using its RDF representation [owl2-rdf-based-semantics].

There are several RDF serializations available. The choice of RDF serialization is NOT prescribed by this specification. In this document, RDF fragments and examples are shown primarily using the compact Turtle notation [rdf12-turtle], with options for JSON-LD [json-ld11] in some places. OWL Restrictions are shown using the Manchester Syntax [owl2-manchester-syntax]

2.2 Diagram notation

This section is non-normative.

2.2.1 Module diagrams

Figure 1 Key to notation used in module diagrams.

Module diagrams use a notation similar to UML Package Diagrams OMG Unified Modeling Language, with folders for modules, and dashed directed connectors for dependencies. However the module diagrams MUST NOT be interpreted according to strict UML rules.

2.2.2 Class and instance diagrams

Figure 2 Key to notation used in class and property diagrams, and in diagrams showing examples containing individuals.
Unless otherwise stated, unqualified names refer to classes and properties in the sosa: namespace.

Class and property diagrams use a notation similar to UML Class Diagrams OMG Unified Modeling Language, with boxes for classes and individuals, and labelled directed connectors (associations) or class attributes for properties. However the class diagrams MUST NOT be interpreted according to strict UML rules.

In particular:
- Cardinalities are not shown and SHOULD NOT be inferred
- Object properties are generally shown as association roles. Exceptions are (i) if a target class is unspecified (ii) to reduce clutter, in which case object properties appear as class attributes, alongside the datatype properties

Individual members of classes in a diagrams showing examples, appear as boxes with a dotted-outline. Properties of instances are shown as dashed connectors. In some cases, a literal is shown in a box, even though it is not strictly an 'object' or 'individual' in the RDF or OWL sense (e.g., quantities, location coordinates, time values).

Classes and properties coloured grey are included in a diagram for context, but are described in a different section of the document

Connectors with open arrowheads indicate sub-class relationships, however it should be noted that these are not defined in the SOSA modules — see Expressivity for more explanation.

The purpose of the diagrams is primarily to orient the reader as to how SSN properties are related to the SSN classes for most applications. The associations shown in the diagrams match the soft axioms schema:domainIncludes and schema:rangeIncludes in the ontology. However, in any diagram the associations and attributes are not exhaustive: other associations and attributes exist but are not shown where their presence in the diagram would distract from the primary message.

3. Conformance

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words MAY, MUST, MUST NOT, SHALL, SHOULD, and SHOULD NOT in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

Data conforms to SSN if:

SSN-compliant knowledge graphs MAY include additional non-SSN class instances, object and data properties, and additional RDF data.

4. SSN Ontology Modularization

This section is non-normative.

The SSN Ontology is distributed in several modules. The segmentation allows users to access the knowledge they require, reducing the scope to what is necessary in a given use case. Lower level modules are independent of their higher level modules and are logically consistent on their own.

Note

Higher level here is not to be confused with upper level ontologies. Upper level ontologies are general knowledge ontologies that can be directionally imported in many domains.

4.1 Core modules

Figure 3 summarizes the modules and dependencies within the core SSN Ontology.

Figure 3 The modular SSN ontology — core packages, showing classes and dependencies.
Explanation of the notation used in module diagrams.

4.1.1 SOSA

The SOSA Module (Sensors, Observations, Samples and Actuations) defines the core classes and properties, and provides textual definitions and other annotations. Some semantic enrichment is provided using Schema.org [schema-org] properties, but there is no formal axiomatization. SOSA may be used as-is by an audience who wish to use terminology consistent with the SSN Ontology, thus ensuring interoperability with SSN-based repositories.

SOSA is composed of four lower level modules:

  1. SOSA Common defines classes and properties that are shared across Actuation, Observation and Sampling applications, documented in section 5.3 Common terms
  2. SOSA Actuation imports SOSA Common and defines classes and properties used in Actuations, documented in section 5.4 Actuations
  3. SOSA Observation imports SOSA Common and defines classes and properties used in Observations, documented in section 5.5 Observations
  4. SOSA Sampling imports SOSA Common and defines classes and properties used in Samplings, documented in section 5.6 Sampling

Finally, SOSA imports SOSA Actuation, SOSA Observation and SOSA Sampling.

SOSA as the core, does not import any other ontologies, so it is truly independent of modules that add more expressivity and further ontological commitments to the lightweight semantics of SOSA.

4.1.2 SSN

The SSN Module adds axioms that formally indicate how properties relate to classes, and how classes relate to each other. SSN may be used in semantic web systems that use inferencing and reasoning, and consistency checking for datasets.

The modularization of SSN mirrors SOSA. SSN is composed of four lower level modules:

  1. SSN Common imports SOSA Common and axiomatizes classes and properties that are shared across Actuation, Observation and Sampling applications, as documented in section 5.3 Common terms
  2. SSN Actuation imports SSN Common and SOSA Actuation, and axiomatizes classes and properties used in Actuations, as documented in section 5.4 Actuations
  3. SSN Observation imports SSN Common and SOSA Observation, and axiomatizes classes and properties used in Observations, as documented in section 5.5 Observations
  4. SSN Sampling imports SSN Common and SOSA Sampling, and axiomatizes classes and properties used in Samplings, as documented in section 5.6 Sampling

Finally, SSN imports SSN Actuation, SSN Observation and SSN Sampling.

4.2 Extension modules

Figure 4 summarizes the extension modules described in this document and their dependencies on the SSN Ontology.

Figure 4 The modular SSN ontology — extensions.
Explanation of the notation used in module diagrams.

4.2.1 OMS

The SOSA-OMS module imports SOSA Observation and SOSA Sampling and adds classes and properties required to provide an RDF implementation of Observations, measurements and samples (OMS). SOSA-OMS may be used by audiences for whom full conformance to [OMS] (also known as ISO 19156:2023) is a requirement

The SSN-OMS module imports SOSA-OMS and SSN Observation and SSN Sampling and adds OWL/RDFS axiomatization to the RDF implementation of [OMS]. SSN-OMS may be used by audiences for whom full conformance to [OMS] (also known as ISO 19156:2023) is a requirement, with reasoning support

The SOSA-OMS module and the SSN-OMS module are documented in section 6.1 OMS Extension Module

4.2.2 Sample Relations

The Sample Relations module imports SOSA Sampling, and adds classes and properties required for the description of networks of samples.

The Sample Relations module is documented in section 6.2 Sample Relations Module.

4.2.3 System Capabilities

The System Capabilities module imports SOSA and adds classes and properties required for the description of the operating conditions and capabilities of systems, in particular Sensors and Actuators.

The System Capabilities module is documented in appendix E. System Capabilities Module.

4.3 Alignment modules

Figure 5 summarizes alignments of other ontologies and specifications with the SSN Ontology that are described in this document.

Figure 5 The modular SSN ontology — alignments.
Explanation of the notation used in module diagrams.

4.3.1 PROV

The SOSA-PROV module imports SOSA Common, and describes the alignment of SOSA to PROV-O: The PROV Ontology. SOSA-PROV may be used to integrate data designed using SSN into provenance systems.

The SOSA-PROV module is documented in section 7.1 PROV Alignment Module.

4.3.2 SAREF

The SOSA-SAREF module imports SOSA, and describes the alignment of SOSA to ETSI TS 103 264 V4.1.1 (2025-03): SmartM2M; Smart Applications; Reference Ontology and oneM2M Mapping. SOSA-SAREF may be used to integrate data designed using SSN with data designed using SAREF.

The SOSA-SAREF module is documented in section 7.2 SAREF Alignment Module.

4.3.3 OBOE

The SOSA-OBOE module imports SOSA Observation, and describes the alignment of SOSA to OBOE: the Extensible Observation Ontology, version 1.1. SOSA-OBOE may be used to integrate observation data structured using OBOE with data using SOSA.

The SOSA-OBOE module is documented in section 7.3 OBOE Alignment Module.

4.3.4 DUL

The SOSA-DUL module imports SOSA, and adds axioms that position SOSA within DOLCE UltraLite. SOSA-DUL may be used to integrate data designed using SOSA into systems otherwise built in the DOLCE UltraLite framework.

The SOSA-DUL module is documented in section 7.4 DOLCE UltraLite Alignment Module.

5. Specification

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

5.1 RDF implementation

5.1.1 Namespaces

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

Note

5.1.2 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.

5.1.3 Expressivity

The SOSA modules contain 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, and/or schema:rangeIncludes, plus other annotations as required. Inverses are named for all object properties.

The SSN module is an OWL 2 DL ontology (OWL 2 Web Ontology Language Document Overview (Second Edition)) that contains the full axiomatization of the core terms, importing SOSA modules and using constructors such as ObjectSomeValuesFrom and ObjectAllValuesFrom, and using axioms such as SubClassOf and SubObjectPropertyOf.

5.1.4 Distribution

5.1.4.1 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/.

5.1.4.2 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/.

5.2 Overview of Classes and Properties

This section is non-normative.

Figure 6, Figure 7, Figure 8, Figure 9, show the key classes and properties in the ontology modules, showing the general pattern for Executions, and from the perspectives of Actuation, Observation, and Sampling.

Figure 6 Overview of the key classes and properties (general execution pattern)
Explanation of the notation used in class diagrams.
Figure 7 Overview of the key classes and properties (actuation perspective)
Explanation of the notation used in class diagrams.
Figure 8 Overview of the key classes and properties (observation perspective)
Explanation of the notation used in class diagrams.
Figure 9 Overview of the key classes and properties (sampling and sample perspective)
Explanation of the notation used in class diagrams.

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

Note

Terms added in the 2023 Edition are indicated with an asterisk*.

Object Properties: sosa:actsOn*, sosa:actsOnProperty, sosa:deployedAsset*, sosa:deployedOnPlatform, sosa:deployedSystem, sosa:detects, sosa:featureHasUltimateSample*, sosa:forProperty, sosa:hasDeployment, sosa:hasFeatureOfInterest, sosa:hasInput, sosa:hasInputValue*, sosa:hasMember*, sosa:hasOriginalSample*, sosa:hasOutput, sosa:hasProcedure*, sosa:hasProperty, sosa:hasProxy*, sosa:hasResult, sosa:hasSample, sosa:isSampleOfUltimateFOI*, sosa:hasSubSystem, sosa:hasUltimateFeatureOfInterest*, sosa:hosts, sosa:implementedBy, sosa:implements, sosa:inDeployment, sosa:inputFor*, sosa:inputValueForExecution*, sosa:isActedOnBy, sosa:isDetectedBy*, sosa:isFeatureOfInterestOf, sosa:isHostedBy, sosa:isMemberOf*, sosa:isObservedBy, sosa:isOriginalSampleOf*, sosa:isPropertyOf, sosa:isProxyFor, sosa:isResultOf, sosa:isResultOfMadeBySampler*, sosa:isResultOfUsedProcedure*, sosa:isSampleOf, sosa:isSubSystemOf*, sosa:isUltimateFeatureOfInterestOf*, sosa:madeActuation, sosa:madeByActuator, sosa:madeBySampler, sosa:madeBySensor, sosa:madeBySystem, sosa:madeExecution, sosa:madeObservation, sosa:madeSampling, sosa:madeSamplingHasResult*, sosa:observationRelatedTo*, sosa:observedProperty, sosa:observes, sosa:originated*, sosa:outputFor*, sosa:phenomenonOccurred*, sosa:phenomenonTime, sosa:propertyFor*, sosa:qualityOf*, sosa:relatedObservation*, sosa:resultQuality*, sosa:usedForExecution*, sosa:usedForExecutionHasResult*, sosa:usedProcedure, sosa:wasActedOnBy*, sosa:wasObservedBy*, sosa:wasOriginatedBy

The SSN classes and properties are described in the following sections, organized by module as described in Modularization. A list of all SSN properties and their inverses with the classes that are included in their domains and ranges is provided in Tabulation of properties and their inverses.

5.3 Common terms

5.3.1 x Overview

This section is non-normative.

The Common module defines terms that are common across Sensing, Observation, Sampling and Actuation applications. Some of the classes in the Common module are used as-is in applications (FeatureOfInterest, Property, Platform, Deployment). Other classes in the Common module are super-classes of more specific classes used in the application modules (Procedure, System, Execution). They all support the description of Actuation, Observation and Sampling instances using patterns that are common across the applications.

The description of the Common module is organized into the following sections:

5.3.2 Features of Interest and Properties

5.3.2.1 Overview

This section is non-normative.

Figure 10 provides an overview of the classes and properties related to modeling Features of Interest and Properties.

Figure 10 Classes and relationships related to features of interest and properties
Explanation of the notation used in class diagrams.
5.3.2.2 Specification

This section introduces the following classes and properties:

5.3.2.2.1 sosa:FeatureOfInterest

IRI: http://www.w3.org/ns/sosa/FeatureOfInterest

an OWL Class

Feature Of Interest — entity that is the target of an Execution or Deployment

i.e., the entity whose property is being estimated by an Observation, or whose property is being manipulated by an Actuation, or which is being sampled or transformed by an act of Sampling, or which is the target of Executions planned as part of a Deployment.

Note

The relationship between sosa:FeatureOfInterest, and types or classes defined in a domain model is explained below in Domain types and FeatureOfInterest

Note

A Feature of Interest may have a geographic location. See Location and Geometry for patterns to describe this.

Example
When measuring the height of a tree, the height is the sosa:observedProperty, 20m is the result of the sosa:Observation, and the specific tree is the sosa:FeatureOfInterest.

A specified window is a sosa:FeatureOfInterest for an automatic window control sosa:Actuation.
Restrictions in SSN
sosa:isFeatureOfInterestOf SOME (sosa:Execution or sosa:Deployment)
sosa:hasProperty ONLY sosa:Property
sosa:hasSample ONLY sosa:Sample
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.2.2.2 sosa:Property

IRI: http://www.w3.org/ns/sosa/Property

an OWL Class

Note

The 2017 edition defined ActuatableProperty and ObservableProperty. Those specializations of Property are deprecated in this 2023 edition. sosa:Property should be used instead.

Property — identifiable quality of features of interest that can be observed or acted upon

A property can apply to different features of interest.

Note

A model for the description of observable and actuatable Properties is outside the scope of the SSN Ontology. See Property definitions for links to some external resources that address this, and to some catalogues and code lists whose members may be used as instances of sosa:Property.

Example
Cars (a feature type) have a property "colour"
Windows have a property "open state".
Restrictions in SSN
sosa:hasProcedure ONLY sosa:Procedure
sosa:isPropertyOf ONLY sosa:FeatureOfInterest
sosa:isActedOnBy ONLY sosa:Actuator
sosa:wasActedOnBy ONLY (sosa:Actuation or sosa:ActuationCollection)
sosa:isObservedBy ONLY sosa:Sensor
sosa:wasObservedBy ONLY (sosa:Observation or sosa:ObservationCollection)
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.2.2.3 sosa:forProperty

IRI: http://www.w3.org/ns/sosa/forProperty

an OWL Object Property

for property — relation from some Procedure or System to a Property it acts on or observes

Example
from a Sensor to the properties it can observe;
from an Actuator to the properties it can act on;
from a Procedure to the properties it can observe or act on.
Domain Includes
sosa:Procedure, sosa:System
Range Includes
sosa:Property
Inverse property of
sosa:propertyFor
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.2.2.4 sosa:hasProperty

IRI: http://www.w3.org/ns/sosa/hasProperty

an OWL Object Property

has property — relation from an entity to a Property of that entity

Domain Includes
sosa:FeatureOfInterest
Range Includes
sosa:Property
Inverse property of
sosa:isPropertyOf
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.2.2.5 sosa:isFeatureOfInterestOf

IRI: http://www.w3.org/ns/sosa/isFeatureOfInterestOf

an OWL Object Property

is feature of interest of — relation from a FeatureOfInterest to an Execution, Execution Collection, or Deployment, operating on it

i.e., to an Observation about it, to an Actuation acting on it, to an act of Sampling that sampled it, or to a Deployment for which it is the subject.

Domain Includes
sosa:FeatureOfInterest
Range Includes
sosa:Deployment, sosa:Execution, sosa:ExecutionCollection
Inverse property of
sosa:hasFeatureOfInterest
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.2.2.6 sosa:isPropertyOf

IRI: http://www.w3.org/ns/sosa/isPropertyOf

an OWL Object Property

is property of — relation from a Property to a FeatureOfInterest that it is a quality of

Domain Includes
sosa:Property
Range Includes
sosa:FeatureOfInterest
Inverse property of
sosa:hasProperty
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.2.2.7 sosa:isUltimateFeatureOfInterestOf

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/isUltimateFeatureOfInterestOf

an OWL Object Property

Warning

isUltimateFeatureOfInterestOf added in 2023 Edition. This term is non-normative, pending further implementation experience

is ultimate feature of interest of — relation from an ultimate FeatureOfInterest to an Execution, ExecutionCollection, or Deployment, for which it is the ultimate subject

Domain Includes
sosa:FeatureOfInterest
Range Includes
sosa:Deployment, sosa:Execution, sosa:ExecutionCollection
Inverse property of
sosa:hasUltimateFeatureOfInterest
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.2.2.8 sosa:propertyFor

IRI: http://www.w3.org/ns/sosa/propertyFor

an OWL Object Property

property for — relation from a Property to some Procedure or System that acts on it or observes it

Domain Includes
sosa:Property
Range Includes
sosa:Procedure, sosa:System
Inverse property of
sosa:forProperty
is Defined By
http://www.w3.org/ns/sosa/common/

5.3.3 Procedures

5.3.3.1 Overview

This section is non-normative.

Figure 11 provides an overview of the classes and properties related to modeling Procedures.

Figure 11 Classes and relationships related to procedures
Explanation of the notation used in class diagrams.
5.3.3.2 Specification

This section introduces the following classes and properties:

5.3.3.2.1 sosa:Procedure

IRI: http://www.w3.org/ns/sosa/Procedure

an OWL Class

Procedure — workflow, protocol, plan, algorithm, or computational method specifying how to make an Execution

A Procedure is re-usable, and might be applied in many Executions (Actuations, Observations, or Samplings). It explains the steps to be carried out to arrive at reproducible results.

Note

A specific model for the description of execution Procedures is outside the scope of the SSN Ontology.

Example
The measured wind speed differs depending on the height of the Sensor above the surface, due to friction. For this reason, procedures for measuring wind speed define a standard height for anemometers above ground, typically 10m for meteorological measures and 2m in Agrometeorology. This definition of height, Sensor placement, etc are defined by the Procedure.
Scope Note
Procedure generalizes the ActuatingProcedure, ObservingProcedure, and SamplingProcedure classes. It is included in the ontology to support the definition of a common pattern for executions and their properties.
Restrictions in SSN
sosa:implementedBy ONLY sosa:System
sosa:forProperty ONLY sosa:Property
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.3.2.2 sosa:hasInput

IRI: http://www.w3.org/ns/sosa/hasInput

an OWL Object Property

has Input — relation from a Procedure to an input required for its execution

Note
This property will typically describe the type of the inputs required to execute the Procedure.
Note
An input might be a calibration or conditioning parameter, or the output of a previous procedure within an extended processing chain.
Domain Includes
sosa:Procedure
Inverse property of
sosa:inputFor
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.3.2.3 sosa:hasOutput

IRI: http://www.w3.org/ns/sosa/hasOutput

an OWL Object Property

has Output — relation from a Procedure to an output of its execution

Note
This property will typically describe the type of the result from executing the Procedure.
Domain Includes
sosa:Procedure
Inverse property of
sosa:outputFor
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.3.2.4 sosa:hasProcedure

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/hasProcedure

an OWL Object Property

Warning

hasProcedure added in the 2023 Edition. This term is non-normative, pending further implementation experience

has Procedure — relation from a Property to a Procedure that can observe or act on it

Domain Includes
sosa:Property
Range Includes
sosa:Procedure
Inverse property of
(sub-property of sosa:forProperty)
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.3.2.5 sosa:implementedBy

IRI: http://www.w3.org/ns/sosa/implementedBy

an OWL Object Property

implemented by — relation from a Procedure to a System that is capable of executing it

Domain Includes
sosa:Procedure
Range Includes
sosa:System
Inverse property of
sosa:implements
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.3.2.6 sosa:inputFor

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/inputFor

an OWL Object Property

Warning

inputFor added in the 2023 Edition. This term is non-normative, pending further implementation experience

input for — relation from an input to a Procedure that uses it in an Execution

Range Includes
sosa:Procedure
Inverse property of
sosa:hasInput
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.3.2.7 sosa:outputFor

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/outputFor

an OWL Object Property

Warning

outputFor added in 2023 Edition. This term is non-normative, pending further implementation experience

output for — relation from an output to a Procedure that generates it in an Execution

Range Includes
sosa:Procedure
Inverse property of
sosa:hasOutput
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.3.2.8 sosa:usedForExecution

IRI: http://www.w3.org/ns/sosa/usedForExecution

an OWL Object Property

used for execution — relation from a Procedure to an Execution or ExecutionCollection made using it

Domain Includes
sosa:Procedure
Range Includes
sosa:Execution, sosa:ExecutionCollection
Inverse property of
sosa:usedProcedure
is Defined By
http://www.w3.org/ns/sosa/common/

5.3.4 Execution of Procedures

5.3.4.1 Overview

This section is non-normative.

Figure 12 provides an overview of the classes and properties related to modeling Execution of Procedures.

Figure 12 Classes and relationships related to execution of procedures. Note that for each specialized (concrete) Execution type (i.e., Actuation, Observation, Sampling), the matching specialized System and Procedure type shall be used (i.e., Actuator and ActuatingProcedure, Sensor and ObservingProcedure, Sampler and SamplingProcedure, respectively).
Explanation of the notation used in class diagrams.
5.3.4.2 Specification

This section introduces the following classes and properties:

5.3.4.2.1 sosa:Execution

IRI: http://www.w3.org/ns/sosa/Execution

an OWL Class

Execution — act of carrying out a Procedure using a System

Note

The different time-properties on a sosa:Execution support the description of plans, forecasts and predictions as well as descriptions of various historical scenarios. See Temporal properties for patterns related to these.

Scope note
Execution generalizes the Actuation, Observation, and Sampling classes. It is included in the ontology to support the definition of a common pattern for executions and their properties.

Execution MUST be considered to be abstract, so any individual Execution SHOULD be declared to be an instance of one of the concrete sub-classes, and not of the Execution class.
Restrictions in SSN
sosa:madeBySystem ONLY sosa:System
sosa:usedProcedure ONLY sosa:Procedure
sosa:hasFeatureOfInterest SOME sosa:FeatureOfInterest
sosa:hasFeatureOfInterest ONLY sosa:FeatureOfInterest
sosa:hasUltimateFeatureOfInterest ONLY sosa:FeatureOfInterest
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.4.2.2 sosa:ExecutionCollection

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/ExecutionCollection

an OWL Class

Warning

ExecutionCollection added in the 2023 Edition This term is non-normative, pending further implementation experience

Execution Collection — set of one or more Executions or ExecutionCollections; collections may be nested

All Execution properties may appear in an ExecutionCollection, including: hasFeatureOfInterest, usedProcedure, madeBySystem, endTime, resultTime, startTime. If they are present, the value of these properties summarize the values of the matching properties of the member Executions, where membership is either direct or transitive through one or more member Execution collections.

The following consistency rules apply to the Execution properties listed above:

  1. Where an individual ExecutionCollection omits a property, a member Execution (direct or transitive) MAY have any value for that property.
  2. Where an individual ExecutionCollection has a single value for a property, each member Execution (direct or transitive) MUST have that same value for that property — i.e., the collection (set) is homogeneous in that property. That property MAY then be omitted in any member Execution or ExecutionCollection.
  3. Where an individual ExecutionCollection has more than one value for a property, each member Execution (direct or transitive) MUST have a value for that property that matches one of the values for the property in the collection.
  4. Where an individual ExecutionCollection has a value for a property that is a range or interval, each member Execution (direct or transitive) MUST have a value for that property that matches or falls within that range or interval.
  5. Where an individual ExecutionCollection has more than one value for a property that is a range or interval, each member Execution (direct or transitive) MUST have a value for that property that matches or falls within one of those ranges or intervals.

The members of a collection (set) do not necessarily share a common value for any property.

Note

Examples of Collections conforming to the rules are provided in and Collections and their members' property values. These illustrate all the cases described above.

Scope note
ExecutionCollection generalizes the ActuationCollection, ObservationCollection, and SamplingCollection classes. It is included in the ontology to support the definition of a common pattern for executions and their properties.

ExecutionCollection MUST be considered to be abstract, so any individual ExecutionCollection SHOULD be declared to be an instance of one of the concrete sub-classes, and not of the ExecutionCollection class.
Restrictions in SSN
sosa:madeBySystem ONLY sosa:System
sosa:usedProcedure ONLY sosa:Procedure
sosa:hasFeatureOfInterest ONLY sosa:FeatureOfInterest
sosa:hasUltimateFeatureOfInterest ONLY sosa:FeatureOfInterest
sosa:hasMember ONLY (sosa:Execution or sosa:ExecutionCollection)
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.4.2.3 sosa:endTime

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/endTime

an OWL Datatype Property

Warning

endTime added in the 2023 Edition. This term is non-normative, pending further implementation experience

end time — instant of time when the Execution or Deployment was ended or completed

The value would usually be encoded using xsd:dateTime, xsd:date, xsd:gYearMonth, and/or xsd:gYear.

Example
"2024-01-23T19:26:00+11:00"^^xsd:dateTime
"2024-01-23"^^xsd:date
"2024-01"^^xsd:gMonth
"2024"^^xsd:gYear
Domain Includes
sosa:Deployment, sosa:Execution, sosa:ExecutionCollection
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.4.2.4 sosa:hasFeatureOfInterest

IRI: http://www.w3.org/ns/sosa/hasFeatureOfInterest

an OWL Object Property

has feature of interest — relation from an Execution or Deployment to its subject entity

i.e., from an Actuation to the entity whose property was modified; from an Observation to the entity whose quality was observed; from an act of Sampling to the entity that was sampled; or from a Deployment to its target

Example
In an Observation of the weight of a person, the FeatureOfInterest is the person, and the observedProperty is its weight.
Note
This is the proximate feature of interest. It may be a proxy entity such as a sample of the ultimate feature of interest. Use sosa:hasUltimateFeatureOfInterest if the intention is to link to the ultimate feature of interest.
Domain Includes
sosa:Deployment, sosa:Execution, sosa:ExecutionCollection
Range Includes
sosa:FeatureOfInterest
Inverse property of
sosa:isFeatureOfInterestOf
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.4.2.5 sosa:hasInputValue

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/hasInputValue

an OWL Object Property

Warning

hasInputValue added in the 2023 Edition. This term is non-normative, pending further implementation experience.

has Input Value — assigns a value to an input defined by the Procedure that is used in an Execution

Scope note
The input might be a calibration or conditioning parameter, or the output of a previous procedure within an extended processing chain.
Note
The input value MUST be consistent with a hasInput definition from the corresponding Procedure
Domain Includes
sosa:Execution, sosa:ExecutionCollection
Inverse property of
sosa:inputValueForExecution
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.4.2.6 sosa:hasResult

IRI: http://www.w3.org/ns/sosa/hasResult

an OWL Object Property

has result — relation from an Execution to its result

In the case of an Actuation, the result may be the value of the Property following the execution of the Procedure by the Actuator.

In the case of an Observation, the result is the value of the Property produced by the execution of the Procedure by the Sensor.

In the case of a Sampling, the result is the Sample produced by the execution of the Procedure by the Sampler.

An Execution has a single result, therefore sosa:hasResult is Functional.

Note

The result of an actuation or observation may be a quantity. See Quantity Values and Units of Measure for patterns to describe this.

Note

The result of an observation may be a geometry. See Location and Geometry for patterns to describe this.

Note
The result value MUST be consistent with the hasOutput definition from the corresponding Procedure
is
Functional
Domain Includes
sosa:Execution, sosa:ExecutionCollection
Range Includes
Any object,
sosa:Sample
Inverse property of
sosa:isResultOf
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.4.2.7 sosa:hasSimpleResult

IRI: http://www.w3.org/ns/sosa/hasSimpleResult

an OWL Datatype Property

has simple result — relation from an Execution to its value expressed as a literal

In the case of an sosa:Actuation, the result may be the value of the sosa:Property following the execution of the Procedure by the Actuator.

In the case of an Observation, the result is the value produced by the execution of the Procedure by the Sensor.

Note

The result of an actuation or observation may be a quantity. See Quantity Values and Units of Measure for patterns to describe this.

Note

The result of an actuation or observation may be a geometry. See Location and Geometry for patterns to describe this.

Note
This DatatypeProperty provides an alternative to hasResult, to be used only if the execution result can be expressed as a Literal
Example
"89"^^xsd:integer
"true"^^xsd:boolean
"23.5 Cel"^^cdt:ucum
"Point (145.042316 -37.919134)"^^geo:wktLiteral
Domain Includes
sosa:Execution, sosa:ExecutionCollection
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.4.2.8 sosa:hasUltimateFeatureOfInterest

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/hasUltimateFeatureOfInterest

an OWL Object Property

Warning

hasUltimateFeatureOfInterest added in 2023 edition. This term is non-normative, pending further implementation experience

has ultimate feature of interest — relation from a Deployment or Execution to its ultimate subject entity

i.e., from an Actuation to the ultimate entity whose property was modified; from an Observation to the ultimate entity whose property was observed; from an act of Sampling to the ultimate entity that was sampled; or from a Deployment to its ultimate target

Note
This is useful when the proximate feature of interest is a sample of the ultimate feature of interest, directly or transitively.
Domain Includes
sosa:Deployment, sosa:Execution, sosa:ExecutionCollection
Range Includes
sosa:FeatureOfInterest
Inverse property of
sosa:isFeatureOfInterestOf
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.4.2.9 sosa:inputValueForExecution

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/inputValueForExecution

an OWL Object Property

Warning

inputValueForExecution added in the 2023 edition. This term is non-normative, pending further implementation experience.

Input Value for Execution — relation from an input value to an Execution that used it

Range Includes
sosa:Execution, sosa:ExecutionCollection
Inverse property of
sosa:hasInputValue
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.4.2.10 sosa:isResultOf

IRI: http://www.w3.org/ns/sosa/isResultOf

an OWL Object Property

is result of — relation from a result to the Execution that created or caused it

Domain Includes
sosa:Sample
Range Includes
sosa:Execution, sosa:ExecutionCollection
Inverse property of
sosa:hasResult
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.4.2.11 sosa:madeBySystem

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/madeBySystem

an OWL Object Property

Warning

madeBySystem added in the 2023 edition. This term is non-normative, pending further implementation experience

made by system — relation from an Execution to the System that made it

Scope note
madeBySystem generalizes the sosa:madeByActuator, sosa:madeBySensor, and sosa:madeBySampler properties. It is included in the ontology to support the definition of a common pattern for executions and their properties.

madeBySystem MUST be considered to be abstract, so SHOULD NOT appear in data instances. Applications can use concrete sub-properties of madeBySystem.
Domain Includes
sosa:Execution, sosa:ExecutionCollection
Range Includes
sosa:System
Inverse property of
sosa:madeExecution
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.4.2.12 sosa:phenomenonOccurred

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/phenomenonOccurred

an OWL Object Property

phenomenon occurred — result of an Execution that this time applies to

Domain Includes
time:TemporalEntity
Range Includes
sosa:Execution, sosa:ExecutionCollection
Inverse property of
sosa:phenomenonTime
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.4.2.13 sosa:phenomenonTime

IRI: http://www.w3.org/ns/sosa/phenomenonTime

an OWL Object Property

phenomenon time — time that the result of an Execution applies to the subject entity

It may be an interval or an instant, or some other compound temporal entity [owl-time].

The sosa:phenomenonTime is not necessarily the same as the sosa:endTime or sosa:resultTime.

In the case of sosa:Actuation, sosa:phenomenonTime SHOULD indicate the time during which the sosa:Actuator was active.

In the case of sosa:Observation, the sosa:phenomenonTime MAY be distant from the sosa:resultTime. For example in the case of forecasts the sosa:phenomenonTime is after the sosa:resultTime. In historical, geological and cosmological investigations the sosa:phenomenonTime can be far in the past, while the sosa:resultTime is contemporary.

In the case of sosa:Sampling the sosa:phenomenonTime SHOULD indicate the time during which the sampling sosa:Procedure was active. The sosa:resultTime can indicate when the sample comes into the possession of the operator.

Note

The different time-properties on a sosa:Execution support the description of plans, forecasts and predictions as well as descriptions of arious historical scenarios. See Temporal properties for patterns related to these.

Example
<obs1> sosa:phenomenonTime [
  a time:Instant ;
  time:inXSDDateTime "2023-06-20T21:49:18+00:00"^^xsd:dateTime ;
] ;
<obs2> sosa:phenomenonTime [
  a time:Interval ;
  time:hasBeginning [
    a time:Instant ;
    time:inXSDDateTime "2017-04-15T23:59:30+00:00"^^xsd:dateTime
  ] ;
  time:hasEnd [
    a time:Instant ;
    time:inXSDDateTime "2017-04-16T00:00:00+00:00"^^xsd:dateTime
  ] ;
] ;
<obs3> sosa:phenomenonTime [
  a time:Interval ;
  time:hasBeginning [
    a time:Instant ;
    time:inTimePosition [
      time:hasTRS ex:BP ;
      time:numericPosition 12000 ;
    ] ;
  ] ;
  time:hasDuration [
    a time:Duration ;
    time:numericDuration 500 ;
    time:unitType time:unitYear ;
  ] ;
] ;
Domain Includes
sosa:Execution, sosa:ExecutionCollection
Range Includes
time:TemporalEntity
Inverse property of
sosa:phenomenonOccurred
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.4.2.14 sosa:resultTime

IRI: http://www.w3.org/ns/sosa/resultTime

an OWL Datatype Property

result time — instant of time when the Execution was completed

The value would usually be encoded using xsd:dateTime, xsd:date, xsd:gYearMonth, and/or xsd:gYear.

Note

The different time-properties on a sosa:Execution support the description of plans, forecasts, and predictions, as well as descriptions of various historical scenarios. See Temporal properties for patterns related to these.

Example
"2024-01-23T19:26:00+11:00"^^xsd:dateTime
"2024-01-23"^^xsd:date
"2024-01"^^xsd:gMonth
"2024"^^xsd:gYear
Domain Includes
sosa:Execution, sosa:ExecutionCollection
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.4.2.15 sosa:startTime

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/startTime

an OWL Datatype Property

Warning

startTime added in 2023 edition. This term is non-normative, pending further implementation experience

start time — instant of time when the Execution or Deployment was initiated or tasked

The value would usually be encoded using xsd:dateTime, xsd:date, xsd:gYearMonth, and/or xsd:gYear.

Example
"2024-01-23T19:26:00+11:00"^^xsd:dateTime
"2024-01-23"^^xsd:date
"2024-01"^^xsd:gMonth
"2024"^^xsd:gYear
Domain Includes
sosa:Deployment, sosa:Execution, sosa:ExecutionCollection
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.4.2.16 sosa:usedProcedure

IRI: http://www.w3.org/ns/sosa/usedProcedure

an OWL Object Property

used procedure — relation from an Execution or ExecutionCollection to a Procedure used to make it

Domain Includes
sosa:Execution, sosa:ExecutionCollection
Range Includes
sosa:Procedure
Inverse property of
sosa:usedForExecution
is Defined By
http://www.w3.org/ns/sosa/common/

5.3.5 Systems and their Deployment

5.3.5.1 Overview

This section is non-normative.

The following figure provides an overview of the classes and properties that are specifically related to modeling systems and their deployment.

Figure 13 Classes and relationships related to systems and deployments
Explanation of the notation used in class diagrams.

A sosa:System is an instrument or equipment, including software systems and agents where relevant, that implements a procedure in the context of executions. A system may be composed of sub-systems.

A sosa:Platform hosts one or more sosa:Systems. Stationary platforms include stations, or fixtures. Mobile platforms include vehicles, marine- and air-craft, satellites, mobile phones, etc.

A sosa:Deployment is an arrangement of assets (systems and platforms) with the intention of executing actuation, observation or sampling procedures with respect to designated features of interest for a specified time interval.

5.3.5.2 Specification

This section introduces the following classes and properties:

5.3.5.2.1 sosa:Deployment

IRI: http://www.w3.org/ns/sosa/Deployment

an OWL Class

Deployment — arrangement of one or more assets (Systems or Platforms) to execute Procedures with respect to designated features of interest.

Note

A Deployment may have a geographic location. See Location and Geometry for patterns to describe this.

Example
a temperature Sensor deployed on a wall
a network of Sensors deployed for an Observation campaign.
Note
A sosa:Deployment will usually be for a specified time interval. It MAY involve sosa:Platforms, or sosa:Systems, or both. A sosa:Deployment can be used quite flexibly to describe the use of systems, and platforms that host systems, with respect to a feature of interest.
Restrictions in SSN
sosa:deployedAsset ONLY (sosa:System or sosa:Platform)
sosa:deployedOnPlatform ONLY sosa:Platform
sosa:deployedSystem ONLY sosa:System
sosa:hasFeatureOfInterest ONLY sosa:FeatureOfInterest
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.5.2.2 sosa:Platform

IRI: http://www.w3.org/ns/sosa/Platform

an OWL Class

Platform — entity that hosts other entities, particularly Systems, and other Platforms.

Note

A Platform may have a geographic location. See Location and Geometry for patterns to describe this.

Scope note
The INSPIRE 'Environmental Monitoring Facility' may be implemented using SOSA by the OWL/RDFS class 'Platform'.
Example
A post, buoy, vehicle, ship, aircraft, satellite, cell-phone, human or animal may act as Platforms for (technical or biological) Sensors or Actuators.
An environmental monitoring facility.
A platform that hosts a set of sensors.
A team performing a survey, where each team member would be modeled as an Observer.
Restrictions in SSN
sosa:hosts ONLY (sosa:System or sosa:Platform)
sosa:inDeployment ONLY sosa:Deployment
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.5.2.3 sosa:System

IRI: http://www.w3.org/ns/sosa/System

an OWL Class

System — entity that implements a Procedure in the context of an Execution

This may be a device, a piece of infrastructure, an agent (including humans), or software (simulation).

Different Systems can implement the same (reusable) Procedure for different Executions.

A System may have components, its sub-systems, which are other systems.

Note

See Systems Types and Individuals for guidance on describing types vs. individuals.

Note

A System may have a geographic location. See Location and Geometry for patterns to describe this.

Scope note
System generalizes the Actuator, Sensor, and Sampler classes. It is included in the ontology to support the definition of a common pattern for executions and their properties.

System MUST be considered to be abstract, so any individual System SHOULD be declared to be an instance of a concrete sub-class, and not of the System class.
Scope note
Specific system types may be implemented as sub-classes of this class or its sub-classes. Their descriptions may capture the properties and characteristics of a whole class of systems, corresponding with the information typically found in a data-sheet. Individual system instances are members of this class or its sub-classes.
Scope note
The association of a System (Actuator, Sensor, or Sampler) with a FeatureOfInterest is usually in the context of an Execution or a Deployment.
A sosa:System can be hosted by a sosa:Platform.
A sosa:System can be deployed for a specified time interval as part of a sosa:Deployment.
Restrictions in SSN
sosa:isHostedBy ONLY sosa:Platform
sosa:implements ONLY sosa:Procedure
sosa:forProperty ONLY sosa:Property
sosa:hasSubSystem ONLY sosa:System
sosa:isSubSystemOf ONLY sosa:System
sosa:hasDeployment ONLY sosa:Deployment
sosa:madeExecution ONLY (sosa:Execution or sosa:ExecutionCollection)
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.5.2.4 sosa:deployedAsset

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/deployedAsset

an OWL Object Property

Warning

deployedAsset added in 2023 Edition. This term is non-normative, pending further implementation experience

deployed asset — relation from a Deployment to an asset (System or Platform).

Domain Includes
sosa:Deployment
Range Includes
sosa:System, sosa:Platform
Inverse property of
sosa:hasDeployment
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.5.2.5 sosa:deployedOnPlatform

IRI: http://www.w3.org/ns/sosa/deployedOnPlatform

an OWL Object Property

deployed on platform — relation from a Deployment to a Platform on which Systems are hosted

Sub property of
sosa:deployedAsset
Domain Includes
sosa:Deployment
Range Includes
sosa:Platform
Inverse property of
sosa:inDeployment
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.5.2.6 sosa:deployedSystem

IRI: http://www.w3.org/ns/sosa/deployedSystem

an OWL Object Property

deployed system — relation from a Deployment to a deployed System

Sub property of
sosa:deployedAsset
Domain Includes
sosa:Deployment
Range Includes
sosa:System
Inverse property of
(sub property of sosa:hasDeployment)
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.5.2.7 sosa:hasDeployment

IRI: http://www.w3.org/ns/sosa/hasDeployment

an OWL Object Property

has deployment — relation from a System or Platform to a Deployment in which it is deployed

Domain Includes
sosa:System, sosa:Platform
Range Includes
sosa:Deployment
Inverse property of
sosa:deployedAsset
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.5.2.8 sosa:hasSubSystem

IRI: http://www.w3.org/ns/sosa/hasSubSystem

an OWL Object Property

Note

See Complex devices for guidance on describing complex systems.

has subsystem — relation from a System to its component parts

Domain Includes
sosa:System
Range Includes
sosa:System
Inverse property of
sosa:isSubSystemOf
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.5.2.9 sosa:hosts

IRI: http://www.w3.org/ns/sosa/hosts

an OWL Object Property

hosts — relation from a Platform to an asset (System or Platform) hosted or mounted on it

Domain Includes
sosa:Platform
Range Includes
sosa:System, sosa:Platform
Inverse property of
sosa:isHostedBy
Super property of chain
sosa:inDeployment o sosa:deployedSystem
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.5.2.10 sosa:implements

IRI: http://www.w3.org/ns/sosa/implements

an OWL Object Property

implements — relation from a System to a Procedure that it is capable of executing

Domain Includes
sosa:System
Range Includes
sosa:Procedure
Inverse property of
sosa:implementedBy
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.5.2.11 sosa:inDeployment

IRI: http://www.w3.org/ns/sosa/inDeployment

an OWL Object Property

in deployment — relation from a Platform to a Deployment

Example
For example, a relation between a buoy and a Deployment of several Sensors.
Sub property of
sosa:hasDeployment
Domain Includes
sosa:Platform
Range Includes
sosa:Deployment
Inverse property of
sosa:deployedOnPlatform
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.5.2.12 sosa:isHostedBy

IRI: http://www.w3.org/ns/sosa/isHostedBy

an OWL Object Property

is hosted by — relation from an asset (System or Platform), to a Platform that it is mounted on or hosted by

Domain Includes
sosa:System, sosa:Platform
Range Includes
sosa:Platform
Inverse property of
sosa:hosts
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.5.2.13 sosa:isSubSystemOf

IRI: http://www.w3.org/ns/sosa/isSubSystemOf

an OWL Object Property

is subsystem of — relation from a component System to a System that it belongs to

Domain Includes
sosa:System
Range Includes
sosa:System
Inverse property of
sosa:hasSubSystem
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.5.2.14 sosa:madeExecution

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/madeExecution

an OWL Object Property

Warning

madeExecution added in the 2023 Edition. This term is non-normative, pending further implementation experience

madeExecution — relation from a System to an Execution or ExecutionCollection that it has made

Scope note
madeExecution generalizes the sosa:madeActuation, sosa:madeObservation, and sosa:madeSampling properties. It is included in the ontology to support the definition of a common pattern for executions and their properties.

madeExecution MUST be considered to be abstract, so SHOULD NOT appear in data instances. Applications can use concrete sub-properties of madeExecution.
Domain Includes
sosa:System
Range Includes
sosa:Execution, sosa:ExecutionCollection
Inverse property of
sosa:madeBySystem
is Defined By
http://www.w3.org/ns/sosa/common/

5.3.6 Collections

Note

Collections added in the 2023 Edition

5.3.6.1 Requirement for collections

This section is non-normative.

The results of multiple observations are typically assessed together in order to discover or detect a pattern or signal. Similarly, a single sample is usually insufficient to provide insight regarding the properties of its source entity or population.

Collections (sets) that are useful for analysis will typically be homogeneous with respect to one or more properties of the members. For example, a collection of observations of the same observed-property on the same feature of interest at a series of different times. A collection of actuations may act on different properties of the same feature of interest, but other cases also apply. A collection of samplings may use the same sampler. A collection of samples may be of the same feature (entity) of interest.

The SSN Ontology supports the description of collections (sets) primarily through the provision of:

  1. a property for membership of a collection, and its inverse, described in this section
  2. the generic class ExecutionCollection and specializations for actuations, observations and samplings
  3. the class SampleCollection

Consistency rules for the properties of collections and their members are described in the definitions of the specific collection types ExecutionCollection, ActuationCollection, ObservationCollection, SampleCollection, and SamplingCollection.

Note

Examples of Collections conforming to the rules are provided in Collections and their members' property values.

5.3.6.2 Overview

This section is non-normative.

Figure 14 provides an overview of the classes and properties that are specifically related to describing collections of executions or of samples.

Figure 14 Classes and relationships related to collections of executions or samples
See explanation of the notation used in class diagrams.
5.3.6.3 Specification

This section introduces the following properties:

5.3.6.3.1 sosa:hasMember

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/hasMember

an OWL Object Property

Warning

hasMember added in the 2023 Edition. This term is non-normative, pending further implementation experience

has member of collection — link from a Collection to an Execution or Sample or Collection of these that is part of it

rules for the consistency of values of properties of collections and properties of their members are given for each collection type.

Note that there is a single member property. OWL or SHACL constraints may limit the range depending on the context of different collection types.

Note

See Time series and Homogeneous observation collection for examples of use of hasMember.

Domain Includes
sosa:ExecutionCollection, sosa:SampleCollection
Range Includes
sosa:Execution, sosa:Sample, sosa:ExecutionCollection, sosa:SampleCollection
Inverse property of
sosa:isMemberOf
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.6.3.2 sosa:isMemberOf

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/memberOf

an OWL Object Property

Warning

memberOf added in 2023 Edition. This term is non-normative, pending further implementation experience

is member of collection — link from an Execution or Sample or Collection of these, to a collection that it is part of

rules for the consistency of values of properties of collections and properties of their members are given for each collection type.

Note that there is a single member property. OWL or SHACL constraints may limit the range depending on the context of different collection types.

Domain Includes
sosa:Execution, sosa:Sample, sosa:ExecutionCollection, sosa:SampleCollection
Range Includes
sosa:ExecutionCollection, sosa:SampleCollection
Inverse property of
sosa:hasMember
is Defined By
http://www.w3.org/ns/sosa/common/
5.3.6.4 Other collections

This section is non-normative.

Collections of other entities associated with sensing, actuation and sampling could use the same pattern. For example, networks of sensors and platforms (sites and stations) are common in environmental monitoring. Furthermore, higher level aggregations of both entities and activities, such as occur in the context of projects, initiatives, and campaigns, might be described using similar patterns. However, the details of these cases are currently beyond the scope of the SSN Ontology.

Note

The PROV Ontology provides a generic framework for describing and relating Activities and Entities [prov-o]. An alignment of SSN to PROV is provided in this document. A basic Project Ontology based on PROV has also been proposed [Project-PROV]. Higher level aggregations in SSN applications should consider the PROV framework along with the recursive sosa:hasMember/sosa:isMemberOf pattern used for SSN collections.

5.4 Actuations

5.4.1 Overview

This section is non-normative.

Figure 15 provides an overview of the core classes and properties that are specifically related to modeling Actuations.

Figure 15 Classes and relationships involved in Actuation
Explanation of the notation used in class diagrams.

5.4.2 Specification

This section introduces the following classes and properties:

5.4.2.1 sosa:ActuatingProcedure

IRI: http://www.w3.org/ns/sosa/ActuatingProcedure

an OWL Class

Warning

ActuatingProcedure added in the 2023 Edition This term is non-normative, pending further implementation experience

Actuating Procedure — workflow, protocol, plan, algorithm, or computational method specifying how to make an Actuation

An Actuating Procedure is re-usable, and might be applied in many Actuations. It explains the steps to be carried out to arrive at reproducible results.

Sub class of
sosa:Procedure
Restriction
sosa:implementedBy ONLY sosa:Actuator
is Defined By
http://www.w3.org/ns/sosa/oms/
5.4.2.2 sosa:Actuation

IRI: http://www.w3.org/ns/sosa/Actuation

an OWL Class

Actuation — act of carrying out an ActuatingProcedure using an Actuator to change the value of an actuatable Property of a FeatureOfInterest

An Actuation concerns a single Property of a single FeatureOfInterest. Changes to multiple properties, or other combinations of Actuations, may be described in an ActuationCollection.

Alternatively, applications may choose to encapsulate complexity by defining a complex property with multiple individual components, and a corresponding complex result (e.g., a vector). This approach is not prohibited by the SSN Ontology, but the details are beyond the scope of SSN.

Note

The different time-properties on a sosa:Actuation support the description of plans, forecasts, and predictions, as well as descriptions of various historical scenarios. See Temporal properties for patterns related to these.

Example
The activity of automatically closing a window if the temperature in a room drops below 20 degree Celsius. The activity is the Actuation and the device that closes the window is the Actuator. The Procedure is the rule, plan, or specification that may define the condition that triggers the Actuation (a drop in temperature).
Sub class of
sosa:Execution
Restrictions in SSN
sosa:madeByActuator ONLY sosa:Actuator
sosa:usedProcedure ONLY sosa:ActuatingProcedure
sosa:hasFeatureOfInterest ONLY sosa:FeatureOfInterest
sosa:actsOnProperty ONLY sosa:Property
is Defined By
http://www.w3.org/ns/sosa/actuation/
5.4.2.3 sosa:ActuationCollection

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/ActuationCollection

an OWL Class

Warning

ActuationCollection added in 2023 Edition. This term is non-normative, pending further implementation experience

Actuation Collection — set of one or more Actuations or ActuationCollections; collections may be nested

All Actuation properties may appear in an sosa:ActuationCollection, including: sosa:hasFeatureOfInterest, sosa:usedProcedure, sosa:madeByActuator, sosa:actsOnProperty, sosa:endTime, sosa:hasResult, sosa:hasSimpleResult. If they are present, the value of these properties summarize the values of the matching properties of the member actuations, where membership is either direct or transitive through one or more member actuation collections.

The following consistency rules apply to the Actuation properties listed above:

  1. Where an individual ActuationCollection omits a property, a member Actuation (direct or transitive) MAY have any value for that property.
  2. Where an individual ActuationCollection has a single value for a property, each member Actuation (direct or transitive) MUST have that same value for that property; i.e., the collection is homogeneous in that property. That property MAY then be omitted in any member Actuation or ActuationCollection.
  3. Where an individual ActuationCollection has more than one value for a property, each member Actuation (direct or transitive) MUST have a value for that property that matches one of the values for the property in the collection.
  4. Where an individual ActuationCollection has a value for a property that is a range or interval, each member Actuation (direct or transitive) MUST have a value for that property that matches or falls within that range or interval.
  5. Where an individual ActuationCollection has more than one value for a property that is a range or interval, each member Actuation (direct or transitive) MUST have a value for that property that matches or falls within one of those ranges or intervals.

The members of a collection do not necessarily share a common value for any property.

Note

Examples of Collections conforming to the rules are provided in and Collections and their members' property values. These illustrate all the cases described above.

Sub class of
sosa:ExecutionCollection
Disjoint with
sosa:ObservationCollection, sosa:SampleCollection, sosa:SamplingCollection
Restrictions in SSN
sosa:madeByActuator ONLY sosa:Actuator
sosa:usedProcedure ONLY sosa:ActuatingProcedure
sosa:hasFeatureOfInterest ONLY sosa:FeatureOfInterest
sosa:actsOnProperty ONLY sosa:Property
sosa:hasMember ONLY (sosa:Actuation or sosa:ActuationCollection)
is Defined By
http://www.w3.org/ns/sosa/actuation/
5.4.2.4 sosa:Actuator

IRI: http://www.w3.org/ns/sosa/Actuator

an OWL Class

Actuator — System that implements an ActuatingProcedure to change the value of an actuatable Property

This may be a device, a piece of infrastructure, an agent (including humans), or software (simulation).

Note

An Actuator may have a geographic location. See Location and Geometry for patterns to describe this.

Note

Specific actuator types may be implemented as sub-classes of this class or its sub-classes. Their descriptions may capture the properties and characteristics of a whole class of actuators, corresponding with the information typically found in a spec-sheet or data-sheet.
Individual actuator instances are members of this class or its sub-classes.
See Systems Types and Individuals for patterns to describe this.

Example
A window actuator for automatic window control, i.e., opening or closing the window.
Sub class of
sosa:System
Restrictions in SSN
sosa:madeActuation ONLY (sosa:Actuation or sosa:ActuationCollection)
sosa:actsOn ONLY sosa:Property
sosa:implements ONLY sosa:ActuatingProcedure
is Defined By
http://www.w3.org/ns/sosa/actuation/
5.4.2.5 sosa:actsOn

IRI: http://www.w3.org/ns/sosa/actsOn

an OWL Object Property

acts on — relation from an Actuator to a Property whose state may be changed by using it

Sub property of
sosa:forProperty
Domain Includes
sosa:Actuator
Range Includes
sosa:Property
Inverse property of
sosa:isActedOnBy
is Defined By
http://www.w3.org/ns/sosa/actuation/
5.4.2.6 sosa:actsOnProperty

IRI: http://www.w3.org/ns/sosa/actsOnProperty

an OWL Object Property

Note

The 2017 edition defined the term ActuatableProperty as the range of sosa:actsOnProperty. That specialization of sosa:Property is deprecated in this 2023 edition.

acts on property — relation from an Actuation to the Property it acted upon

Example
In the activity (Actuation) of automatically closing a window if the temperature in a room drops below 20 degrees Celsius, the property upon which the Actuator acts is the state of the window as it changes from being open to being closed.
Domain Includes
sosa:Actuation, sosa:ActuationCollection
Range Includes
sosa:Property
Inverse property of
sosa:wasActedOnBy
is Defined By
http://www.w3.org/ns/sosa/actuation/
5.4.2.7 sosa:isActedOnBy

IRI: http://www.w3.org/ns/sosa/isActedOnBy

an OWL Object Property

Note

The 2017 edition defined the term ActuatableProperty as the domain of sosa:isActedOnBy. That specialization of sosa:Property is deprecated in this 2023 edition.

is acted on by — relation from a Property to an Actuator that may change its state

Domain Includes
sosa:Property
Range Includes
sosa:Actuator
Inverse property of
sosa:actsOn
is Defined By
http://www.w3.org/ns/sosa/actuation/
5.4.2.8 sosa:madeActuation

IRI: http://www.w3.org/ns/sosa/madeActuation

an OWL Object Property

made actuation — relation from an Actuator to an Actuation or ActuationCollection it has made

Sub property of
sosa:madeExecution
Domain Includes
sosa:Actuator
Range Includes
sosa:Actuation, sosa:ActuationCollection
Inverse property of
sosa:madeByActuator
is Defined By
http://www.w3.org/ns/sosa/actuation/
5.4.2.9 sosa:madeByActuator

IRI: http://www.w3.org/ns/sosa/madeByActuator

an OWL Object Property

made by actuator — relation from an Actuation or ActuationCollection to the Actuator that made it

Sub property of
sosa:madeBySystem
Domain Includes
sosa:Actuation, sosa:ActuationCollection
Range Includes
sosa:Actuator
Inverse property of
sosa:madeActuation
is Defined By
http://www.w3.org/ns/sosa/actuation/
5.4.2.10 sosa:wasActedOnBy

IRI: http://www.w3.org/ns/sosa/wasActedOnBy

an OWL Object Property

Warning

wasActedOnBy added in 2023 Edition. This term is non-normative, pending further implementation experience

was acted on by — relation from a Property to an Actuation that changed its state

Domain Includes
sosa:Property
Range Includes
sosa:Actuation, sosa:ActuationCollection
Inverse property of
sosa:actsOnProperty
is Defined By
http://www.w3.org/ns/sosa/actuation/

5.5 Observations

5.5.1 Overview

This section is non-normative.

Figure 16 provides an overview of the core classes and properties that are specifically related to modeling Observations.

Figure 16 Classes and relationships involved in Observation.
The result of an observation should be an information item of a type appropriate for the observed-property (e.g., a number, quantity, category, image, vector, array, geometry etc.).
Explanation of the notation used in class diagrams.

5.5.2 Specification

This section introduces the following classes and properties:

5.5.2.1 sosa:Observation

IRI: http://www.w3.org/ns/sosa/Observation

an OWL Class

Observation — act of carrying out an ObservingProcedure using a Sensor to estimate or calculate a value of an observable Property of a FeatureOfInterest

An Observation primarily concerns a single Property of a single FeatureOfInterest. Observations of multiple properties, or other combinations of Observations, may be described in an ObservationCollection.

Alternatively, applications may choose to encapsulate complexity by defining a complex property with multiple individual components, and a corresponding complex result (e.g., a vector). This approach is not prohibited by the SSN Ontology, but the details are beyond the scope of SSN.

When the FeatureOfInterest cannot be observed directly, a Sample of it might be used in Observations as a proxy. In such a case the Sample is the proximate FeatureOfInterest of the Observation, while the (ultimate) FeatureOfInterest of the act of Sampling (i.e., the entity that the Sample is ultimately isSampleOf) is the ultimate FeatureOfInterest of the Observation.

Note

The different time-properties on a sosa:Observation support the description of plans, forecasts, and predictions, as well as observations relating to various historical scenarios. See Temporal properties for patterns related to these.

Examples
The activity of
- estimating the magnitude or intensity of an earthquake
- measuring the height of a tree
- determining the color of a leaf
- measuring the CO2 concentration in a gas
- finding the location of a car
- measuring the temperature of a room
- capturing an image of a scene
Sub class of
sosa:Execution
Restrictions in SSN
sosa:madeBySensor ONLY sosa:Sensor
sosa:usedProcedure ONLY sosa:ObservingProcedure
sosa:hasFeatureOfInterest ONLY sosa:FeatureOfInterest
sosa:hasUltimateFeatureOfInterest ONLY sosa:FeatureOfInterest
sosa:observedProperty ONLY sosa:Property
sosa:wasOriginatedBy ONLY sosa:Stimulus
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.2 sosa:ObservationCollection

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/ObservationCollection

an OWL Class

Warning

ObservationCollection added in the 2023 Edition This term is non-normative, pending further implementation experience

Observation Collection — set of one or more Observations or ObservationCollections; collections may be nested

Note

An instance of ObservationCollection represents a container for a set of data derived from observations. This broadly corresponds with the class dcat:Dataset from the Data Catalog Vocabulary [vocab-dcat-3].

All Observation properties may appear in an sosa:ObservationCollection, including: sosa:hasFeatureOfInterest, sosa:hasUltimateFeatureOfInterest, sosa:usedProcedure, sosa:madeBySensor, sosa:observedProperty, sosa:phenomenonTime, sosa:resultTime, sosa:hasResult, sosa:hasSimpleResult. If they are present, the value of these properties summarize the values of the matching properties of the member observations, where membership is either direct or transitive through one or more member observation collections.

The following consistency rules apply to the Observation properties listed above:

  1. Where an individual ObservationCollection omits a property, a member Observation (direct or transitive) MAY have any value for that property.
  2. Where an individual ObservationCollection has a single value for a property, each member Observation (direct or transitive) MUST have that same value for that property; i.e., the collection is homogeneous in that property. That property MAY then be omitted in any member Observation or ObservationCollection.
  3. Where an individual ObservationCollection has more than one value for a property, each member Observation (direct or transitive) MUST have a value for that property that matches one of the values for the property in the collection.
  4. Where an individual ObservationCollection has a value for a property that is a range or interval, each member Observation (direct or transitive) MUST have a value for that property that matches or falls within that range or interval.
  5. Where an individual ObservationCollection has more than one value for a property that is a range or interval, each member Observation (direct or transitive) MUST have a value for that property that matches or falls within one of those ranges or intervals.

The results of collections of observations are often packaged in a 'data cube' whose axes define the range of properties of the set of observations.

The members of a collection do not necessarily share a common value for any property.

Note

Examples of Collections conforming to the rules are provided in and Collections and their members' property values. These illustrate all the cases described above.

Sub class of
Sub class of sosa:ExecutionCollection
Disjoint with
sosa:ActuationCollection, sosa:SampleCollection, sosa:SamplingCollection
Restrictions in SSN
sosa:madeBySensor ONLY sosa:Sensor
sosa:usedProcedure ONLY sosa:ObservingProcedure
sosa:hasFeatureOfInterest ONLY sosa:FeatureOfInterest
sosa:hasUltimateFeatureOfInterest ONLY sosa:FeatureOfInterest
sosa:observedProperty ONLY sosa:Property
sosa:hasMember ONLY (sosa:Observation or sosa:ObservationCollection)
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.3 sosa:ObservingProcedure

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/ObservingProcedure

an OWL Class

Warning

ObservingProcedure added in the 2023 Edition This term is non-normative, pending further implementation experience

Observing Procedure — workflow, protocol, plan, algorithm, or computational method specifying how to make an Observation

An Observing Procedure is re-usable, and might be applied in many Observations. It explains the steps to be carried out to arrive at reproducible results.

Sub class of
sosa:Procedure
Restriction
sosa:implementedBy ONLY sosa:Sensor
Examples
A workflow, protocol, plan, algorithm, or computational method specifying how to make an observation; the description of the process used by an observer. This could be a chemical analysis method, a protocol for measuring an object, or even a checklist used by a human observer during a biodiversity campaign. The Procedure could further describe the algorithms behind simulators or models used to generate a result from other inputs.
Note
[ISO 19156:2023] An ObservingProcedure shall be defined as the description of steps performed in order to determine the value of an observableProperty by an Observer.
is Defined By
http://www.w3.org/ns/sosa/oms/
5.5.2.4 sosa:Sensor

IRI: http://www.w3.org/ns/sosa/Sensor

an OWL Class

Sensor or Observer — System that implements an ObservingProcedure to determine the value of an observable Property

This may be a device, a piece of infrastructure, an agent (including humans), or software (simulation).

A Sensor responds to a Stimulus, e.g., a change in the environment, or input data composed from the results of prior Observations.

Note

A Sensor may have a geographic location. See Location and Geometry for patterns to describe this.

Note

Specific sensor types may be implemented as sub-classes of this class or its sub-classes. Their descriptions may capture the properties and characteristics of a whole class of sensors, corresponding with the information typically found in a spec-sheet or data-sheet.
Individual sensor instances are members of this class or its sub-classes.
See Systems Types and Individuals for patterns to describe this.

Note
The UML class 'Observer' from ISO 19156:2023 is implemented in SOSA by the OWL/RDFS class 'Sensor'. The class name 'Sensor' is preferred for backward compatibility with existing SOSA deployments.
Examples
Accelerometers, gyroscopes, barometers, magnetometers, etc are Sensors that are typically mounted on a modern smart phone (which acts as Platform). Other examples of Sensors include the human eyes.
Sub class of
sosa:System
Restrictions in SSN
sosa:madeObservation ONLY (sosa:Observation or sosa:ObservationCollection)
sosa:observes ONLY sosa:Property
sosa:detects ONLY sosa:Stimulus
sosa:implements ONLY sosa:ObservingProcedure
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.5 sosa:Stimulus

IRI: http://www.w3.org/ns/sosa/Stimulus

an OWL Class

Stimulus — event in the real world that triggers a Sensor

The properties associated to the Stimulus may be different to the eventual observed Property. It is the event, not the object, that triggers the Sensor.

Restrictions in SSN
sosa:isProxyFor ONLY sosa:Property
sosa:originated ONLY (sosa:Observation or sosa:ObservationCollection)
sosa:isDetectedBy ONLY sosa:Sensor
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.6 sosa:detects

IRI: http://www.w3.org/ns/sosa/detects

an OWL Object Property

detects — relation from a Sensor to the Stimulus that it detects

The Stimulus itself will be serving as a proxy (sosa:isProxyFor) for some Property.

Domain Includes
sosa:Sensor
Range Includes
sosa:Stimulus
Inverse property of
sosa:isDetectedBy
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.7 sosa:hasProxy

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/hasProxy

an OWL Object Property

has proxy — relation from an Property to a Stimulus that serves as its proxy

Examples
For example, the expansion of mercury is a Stimulus that serves as a proxy for some temperature Property.
An increase or decrease in the velocity of spinning cups on a wind Sensor is serving as a proxy for the wind speed.
Domain Includes
sosa:Property
Range Includes
sosa:Stimulus
Inverse property of
sosa:isProxyFor
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.8 sosa:isDetectedBy

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/isDetectedBy

an OWL Object Property

is detected by — relation from a Stimulus to a Sensor that may detect it

The Stimulus itself will be serving as a proxy (sosa:isProxyFor) for some Property.

Domain Includes
sosa:Stimulus
Range Includes
sosa:Sensor
Inverse property of
sosa:detects
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.9 sosa:isObservedBy

IRI: http://www.w3.org/ns/sosa/isObservedBy

an OWL Object Property

Note

The 2017 edition defined the term ObservableProperty as the domain of sosa:isObservedBy. That specialization of sosa:Property is deprecated in this 2023 edition.

is observed by — relation from a Property to a Sensor that is able to observe it

Domain Includes
sosa:Property
Range Includes
sosa:Sensor
Inverse property of
sosa:observes
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.10 sosa:isProxyFor

IRI: http://www.w3.org/ns/sosa/isProxyFor

an OWL Object Property

Note

The 2017 edition defined the term ObservableProperty as the range of sosa:isProxyFor. That specialization of sosa:Property is deprecated in this 2023 edition.

isProxyFor — relation from a Stimulus to the Property that it is serving as a proxy for

Example
For example, the expansion of quicksilver is a Stimulus that serves as a proxy for some temperature Property. An increase or decrease in the velocity of spinning cups on a wind Sensor is serving as a proxy for the wind speed.
Domain Includes
sosa:Stimulus
Range Includes
sosa:Property
Inverse property of
sosa:hasProxy
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.11 sosa:madeBySensor

IRI: http://www.w3.org/ns/sosa/madeBySensor

an OWL Object Property

made by Sensor — relation from an Observation or ObservationCollection to the Sensor that made it

Sub property of
sosa:madeBySystem
Domain Includes
sosa:Observation, sosa:ObservationCollection
Range Includes
sosa:Sensor
Inverse property of
sosa:madeObservation
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.12 sosa:madeObservation

IRI: http://www.w3.org/ns/sosa/madeObservation

an OWL Object Property

made observation — relation from a Sensor to an Observation or ObservationCollection it has made

Sub property of
sosa:madeExecution
Domain Includes
sosa:Sensor
Range Includes
sosa:Observation, sosa:ObservationCollection
Inverse property of
sosa:madeBySensor
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.13 sosa:observationRelatedTo

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/observationRelatedTo

an OWL Object Property

Warning

observationRelatedTo added in 2023 Edition. This term is non-normative, pending further implementation experience

observation related to — relation from an Observation or ObservationCollection to another Execution or ExecutionCollection

Note

This general relationship complements the specific predicates outbound from Observation. It is particularly useful to relate Observations (and collections) to other Executions (and collections)

Domain Includes
sosa:Observation, sosa:ObservationCollection
Range Includes
sosa:Execution, sosa:ExecutionCollection
Inverse property of
sosa:relatedObservation
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.14 sosa:observedProperty

IRI: http://www.w3.org/ns/sosa/observedProperty

an OWL Object Property

Note

The 2017 edition defined the term ObservableProperty as the range of sosa:observedProperty. That specialization of sosa:Property is deprecated in this 2023 edition.

observed property — relation from an Observation or ObservationCollection to the property that was observed

Note

'observed property' covers the concepts referred to in [VIM] as 'measurand' (quantitative values) and 'examinand' (categorical and nominal values — [VIM4]), as well as complex and structured properties whose values may be represented as lists, vectors, arrays, rasters, geometries, etc. More specific terms are used in other contexts for related concepts, such as 'analyte' (chemistry) and 'determinand' (water quality).

The Property MUST be a property of the FeatureOfInterest of this Observation.

Domain Includes
sosa:Observation, sosa:ObservationCollection
Range Includes
sosa:Property
Inverse property of
sosa:wasObservedBy
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.15 sosa:observes

IRI: http://www.w3.org/ns/sosa/observes

an OWL Object Property

Note

The 2017 edition defined the term ObservableProperty as the range of sosa:observes. That specialization of sosa:Property is deprecated in this 2023 edition.

observes — relation from a Sensor to a Property that it is capable of sensing

Domain Includes
sosa:Sensor
Range Includes
sosa:Property
Inverse property of
sosa:isObservedBy
Sub property of
sosa:forProperty
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.16 sosa:originated

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/originated

an OWL Object Property

originated — relation from a Stimulus to an Observation that was originated by it

Domain Includes
sosa:Stimulus
Range Includes
sosa:Observation
Inverse property of
sosa:wasOriginatedBy
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.17 sosa:qualityOf

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/qualityOf

an OWL Object Property

Warning

qualityOf added in 2023 Edition. This term is non-normative, pending further implementation experience

quality of — link from a quality description to an Observation or ObservationCollection that it relates to

Range Includes
sosa:Observation, sosa:ObservationCollection
Inverse property of
sosa:resultQuality
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.18 sosa:relatedObservation

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/relatedObservation

an OWL Object Property

Warning

relatedObservation added in 2023 Edition. This term is non-normative, pending further implementation experience

related observation — relation from an Execution or ExecutionCollection to an Observation or ObservationCollection

Note

This general relationship complements the specific predicates inbound to Observation. It is particularly useful to relate Observations (and collections) to other Executions (and collections)

Domain Includes
sosa:Execution, sosa:ExecutionCollection
Range Includes
sosa:Observation, sosa:ObservationCollection
Inverse property of
sosa:observationRelatedTo
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.19 sosa:resultQuality

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/resultQuality

an OWL Object Property

Warning

resultQuality added in 2023 Edition. This term is non-normative, pending further implementation experience

observation result quality — relation from an Observation or ObservationCollection to some information pertaining to the quality of the result

Note
This instance-specific description complements the description of the observation Procedure, which provides information concerning the quality of all observations using this procedure. Multiple measures can be provided.

The quality of a result can be assessed following the procedures in the ISO 19157 series [iso-19157-1].

dqv:hasQualityMeasurement from the Data Quality Vocabulary [vocab-dqv] is equivalent
Domain Includes
sosa:Observation, sosa:ObservationCollection
Inverse property of
sosa:qualityOf
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.20 sosa:wasObservedBy

IRI: http://www.w3.org/ns/sosa/wasObservedBy

an OWL Object Property

was observed by — relation from a Property to an Observation that observed it

Domain Includes
sosa:Property
Range Includes
sosa:Observation, sosa:ObservationCollection
Inverse property of
sosa:observedProperty
is Defined By
http://www.w3.org/ns/sosa/observation/
5.5.2.21 sosa:wasOriginatedBy

IRI: http://www.w3.org/ns/sosa/wasOriginatedBy

an OWL Object Property

was originated by — relation from an Observation to the Stimulus that originated it

Domain Includes
sosa:Observation, sosa:ObservationCollection
Range Includes
sosa:Stimulus
Inverse property of
sosa:originated
is Defined By
http://www.w3.org/ns/sosa/observation/

5.6 Sampling

5.6.1 Overview

This section is non-normative.

Figure 17 provides an overview of the core classes and properties that are specifically related to modeling Samplings.

Figure 17 Classes and relationships involved in Sampling
Explanation of the notation used in class diagrams.

5.6.2 Specification

This section introduces the following classes and properties:

5.6.2.1 sosa:Sample

IRI: http://www.w3.org/ns/sosa/Sample

an OWL Class

Sample — piece or subset that is intended to be representative of a FeatureOfInterest

Three specializations of sosa:Sample are provided:

Figure 18 Specialized sample types: MaterialSample, SpatialSample, StatisticalSample
Explanation of the notation used in class diagrams.
Note

A Sample may have a geographic location. See Location and Geometry for patterns to describe this.

Note

In the previous edition Sample was axiomatized as a sub-class of FeatureOfInterest. The subclass relationship is removed in this edition. See Domain types and FeatureOfInterest for a discussion of the relationship between types and FeatureOfInterest.

Comment
Samples are typically subsets or extracts from an entity or feature. Every sample is expected to (eventually) be the feature of interest of an Observation.

Samples are used in situations where observations cannot be made directly on the ultimate feature of interest, either because the entire feature cannot be observed, or because it is more convenient to use a proxy. Samples are thus artifacts of an observational strategy, and have no significant function outside of their role in the observation process. The characteristics of the samples themselves are of little interest, except perhaps to the manager of a sampling campaign.

A Sample is intended to sample some FatureOfInterest, so there is an expectation of at least one isSampleOf property. However, in some cases the identity, and even the exact type, of the sampled feature may not be known when observations are made using the sample.

Physical samples are sometimes known as 'specimens'. A transient sample, such as a ships-track or flight-line, might be identified and described, but is unlikely to be revisited exactly.
Examples
A 'station' is a spatial sample, in the form of an identifiable locality where a Sensor system or procedure may be deployed and an observation made. In the context of the observation model, it connotes the 'world in the vicinity of the station', so the observed properties relate to the physical medium at the station, and not to any physical artifact such as a mooring, buoy, benchmark, monument, well, etc.

A statistical sample is often designed to be characteristic of an entire population, so that Observations can be made regarding the sample that provide a good estimate of the properties of the population.
Restrictions in SSN
sosa:isResultOf ONLY (sosa:Sampling or sosa:SamplingCollection)
sosa:isSampleOf ONLY sosa:FeatureOfInterest
sosa:isSampleOf MIN 1
sosa:hasOriginalSample ONLY sosa:Sample
sosa:isSampleOfUltimateFOI ONLY sosa:FeatureOfInterest
sosa:isResultOfMadeBySampler ONLY sosa:Sampler
sosa:isResultOfUsedProcedure ONLY sosa:SamplingProcedure
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.2 sosa:MaterialSample

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/MaterialSample

an OWL Class

Warning

MaterialSample added in the 2023 edition. This term is non-normative, pending further implementation experience

Material Sample — subset of a FeatureOfInterest that is physical (i.e., tangible)

Sub class of
sosa:Sample
Examples
A piece of rock, a blood sample, a water sample
Note
MaterialSamples that are curated and preserved are sometimes known as 'specimens'.
MaterialSamples may be destroyed in connexion with the observation act or a subsequent preparation step.
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.3 sosa:SpatialSample

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/SpatialSample

an OWL Class

Warning

SpatialSample added in the 2023 edition. This term is non-normative, pending further implementation experience

Spatial Sample — subset of a FeatureOfInterest defined by its location and shape in space

When observations are made to estimate properties of a geospatial feature, particularly where the value of a property varies within the scope of the feature, a SpatialSample is used.

Sub class of
sosa:Sample
Examples
borehole, interval, flightline, lidar cloud, map horizon, microscope slide, mine level, mine, observation well, profile, quadrat, scene, section, spot, station, swath, trajectory, traverse
Note
Depending on accessibility and on the nature of the expected property variation, a SpatialSample may extend in one, two or three spatial dimensions.
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.4 sosa:StatisticalSample

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/StatisticalSample

an OWL Class

Warning

StatisticalSample added in the 2023 edition. This term is non-normative, pending further implementation experience

Statistical Sample — subset of a FeatureOfInterest defined by the statistical process used to create it

Sub class of
sosa:Sample
Examples
The male or female subset of a population.
Note
StatisticalSamples usually apply to populations or other sets, of which a certain subset may be of specific interest.
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.5 sosa:SampleCollection

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/SampleCollection

an OWL Class

Warning

SampleCollection added in the 2023 edition. This term is non-normative, pending further implementation experience

Sample Collection — set of one or more Samples or SampleCollections; collections may be nested

All Sample properties may appear in a sosa:SampleCollection, including: sosa:hasOriginalSample, sosa:isSampleOfUltimateFOI, sosa:isSampleOf, sosa:isResultOfUsedProcedure, sosa:isResultOfMadeBySampler. If they are present, the value of these properties summarize the values of the matching properties of the member samples, where membership is either direct or transitive through one or more member sample collections.

The following consistency rules apply to the Sample properties listed above:

  1. Where an individual SampleCollection omits a property, a member Sample (direct or transitive) MAY have any value for that property.
  2. Where an individual SampleCollection has a single value for a property, each ember Sample (direct or transitive) MUST have that same value for that property; i.e., the collection is homogeneous in that property. That property MAY be omitted in any member Sample or SampleCollection.
  3. Where an individual SampleCollection has more than one value for a property, each member Sample (direct or transitive) MUST have a value for that property that matches one of the values for the property in the collection.
  4. Where an individual SampleCollection has a value for a property that is a range or interval, each member Sample (direct or transitive) MUST have a value for that property that matches or falls within that range or interval.
  5. Where an individual SampleCollection has more than one value for a property that is a range or interval, each member Sample (direct or transitive) MUST have a value for that property that matches or falls within one of those ranges or intervals.

The members of a collection do not necessarily share a common value for any property.

Note

Examples of Collections conforming to the rules are provided in and Collections and their members' property values. These illustrate all the cases described above.

Note
The members of a collection do not necessarily share a common value for any property.
Disjoint with
sosa:ActuationCollection , sosa:ObservationCollection , sosa:SamplingCollection
Restrictions in SSN
sosa:isResultOf ONLY (sosa:Sampling or sosa:SamplingCollection)
sosa:isSampleOf ONLY sosa:FeatureOfInterest
sosa:hasOriginalSample ONLY sosa:Sample
sosa:isSampleOfUltimateFOI ONLY sosa:FeatureOfInterest
sosa:isResultOfMadeBySampler ONLY sosa:Sampler
sosa:isResultOfUsedProcedure ONLY sosa:SamplingProcedure
sosa:hasMember ONLY (sosa:Sample or sosa:SampleCollection)
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.6 sosa:Sampler

IRI: http://www.w3.org/ns/sosa/Sampler

an OWL Class

Sampler — System that implements a SamplingProcedure to generate a Sample

Note

A Sampler may have a geographic location. See Location and Geometry for patterns to describe this.

Examples
A ball mill, diamond drill, hammer, hypodermic syringe and needle, image Sensor or a soil auger can all act as Samplers. Sometimes the distinction between the Sampler and the Sensor is not evident, if they are packaged as a unit.
Note
A Sampler need not be a physical device.
Sub class of
sosa:System
Restrictions in SSN
sosa:implements ONLY sosa:SamplingProcedure
sosa:madeSampling ONLY (sosa:Sampling or sosa:SamplingCollection)
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.7 sosa:Sampling

IRI: http://www.w3.org/ns/sosa/Sampling

an OWL Class

Sampling — act of carrying out a SamplingProcedure using a Sampler to create one or more Samples of a FeatureOfInterest

Note

The different time-properties on a sosa:Sampling support the description of plans, forecasts, and predictions, as well as descriptions of various historical scenarios. See Temporal properties for patterns related to these.

Examples
Drawing blood from a patient
Drilling a core from an ice sheet
Digging a pit through a soil sequence
Dividing a field site into quadrants
Drilling an observation well
Establishing a station for environmental monitoring
Registering an image of the landscape
Sieving a powder to separate the subset finer than 100-mesh
Selecting a subset of a population
Splitting a piece of drill-core to create two new samples
Taking a diamond-drill core from a rock outcrop
Sub class of
sosa:Execution
Restrictions in SSN
sosa:madeBySampler ONLY sosa:Sampler
sosa:usedProcedure ONLY sosa:SamplingProcedure
sosa:hasFeatureOfInterest ONLY sosa:FeatureOfInterest
sosa:hasResult ONLY sosa:Sample
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.8 sosa:SamplingCollection

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/SamplingCollection

an OWL Class

Warning

SamplingCollection added in 2023 Edition. This term is non-normative pending further implementation experience

Sampling Collection — set of one or more Samplings or SamplingCollections; collections may be nested

All Sampling properties may appear in an sosa:SamplingCollection, including: sosa:hasFeatureOfInterest, sosa:hasUltimateFeatureOfInterest, sosa:madeBySampler, sosa:usedProcedure, sosa:hasInputValue, sosa:startTime, sosa:phenomenonTime, sosa:resultTime, sosa:hasResult. If they are present, the value of these properties summarize the values of the matching properties of the member samplings, where membership is either direct or transitive through one or more member sampling collections.

The following consistency rules apply to the Sampling properties listed above:

  1. Where an individual SamplingCollection omits a property, a member Sampling (direct or transitive) MAY have any value for that property.
  2. Where an individual SamplingCollection has a single value for a property, each member Sampling (direct or transitive) MUST have that same value for that property; i.e., the collection is homogeneous in that property. That property MAY then be omitted in any member Sampling or SamplingCollection.
  3. Where an individual SamplingCollection has more than one value for a property, each member Sampling (direct or transitive) MUST have a value for that property that matches one of the values for the property in the collection.
  4. Where an individual SamplingCollection has a value for a property that is a range or interval, each member Sampling (direct or transitive) MUST have a value for that property that matches or falls within that range or interval.
  5. Where an individual SamplingCollection has more than one value for a property that is a range or interval, each member Sampling (direct or transitive) MUST have a value for that property that matches or falls within one of those ranges or intervals.

The members of a collection do not necessarily share a common value for any property.

Note

Examples of Collections conforming to the rules are provided in and Collections and their members' property values. These illustrate all the cases described above.

Sub class of
sosa:ExecutionCollection
Disjoint with
sosa:ActuationCollection, sosa:ObservationCollection, sosa:SampleCollection
Restrictions in SSN
sosa:madeBySampler ONLY sosa:Sampler
sosa:hasFeatureOfInterest ONLY sosa:FeatureOfInterest
sosa:hasResult ONLY sosa:Sample
sosa:usedProcedure ONLY sosa:SamplingProcedure
sosa:hasMember ONLY (sosa:Sampling or sosa:SamplingCollection)
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.9 sosa:SamplingProcedure

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/SamplingProcedure

an OWL Class

Warning

SamplingProcedure added in the 2023 Edition This term is non-normative, pending further implementation experience

Sampling Procedure — workflow, protocol, plan, algorithm, or computational method specifying how to make a Sampling

A Sampling Procedure is re-usable, and might be applied in many Samplings. It explains the steps to be carried out to arrive at reproducible results.

Sub class of
sosa:Procedure
Restriction
sosa:implementedBy ONLY sosa:Sampler
Examples
spatial distribution of locations where to collect a sample (e.g., river segment)
instrument (or mode of use thereof) required to collect a sample (e.g., fish net, electric stunner)
field work instructions (e.g., dig four boreholes in each cardinal direction 2 metre way from the centre of the site; collect soil material from the 15-30 cm depth and mix it in a single bag)
Note
[ISO 19156:2023] A SamplingProcedure shall be defined as the description of steps performed by a Sampler in order to extract a Sample from its sampledFeature in the frame of a Sampling.
is Defined By
http://www.w3.org/ns/sosa/oms/
5.6.2.10 sosa:featureHasUltimateSample

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/featureHasUltimateSample

an OWL Object Property

Warning

featureHasUltimateSample added in 2023 edition. This term is non-normative, pending further implementation experience

feature has ultimate sample — relation from an ultimate FeatureOfInterest to a Sample or SampleCollection that is intended to be representative of it; i.e., the end of a chain of hasSample relations

Note

Some examples of relationships between samples and features of interest within chains are illustrated in Sample chains.

Domain Includes
sosa:FeatureOfInterest
Range Includes
sosa:Sample, sosa:SampleCollection
Inverse property of
sosa:isSampleOfUltimateFOI
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.11 sosa:hasOriginalSample

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/hasOriginalSample

an OWL Object Property

Warning

hasOriginalSample added in 2023 Edition. This term is non-normative, pending further implementation experience

has original sample — relation from a Sample or SampleCollection to the initial Sample collected from the ultimate FeatureOfInterest

Note

Some examples of relationships between samples and features of interest within chains are illustrated in Sample chains.

Domain Includes
sosa:Sample, sosa:SampleCollection
Range Includes
sosa:Sample
Inverse property of
sosa:isOriginalSampleOf
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.12 sosa:hasSample

IRI: http://www.w3.org/ns/sosa/hasSample

an OWL Object Property

has sample — relation from a FeatureOfInterest to the Sample or SampleCollection used to represent it

Domain Includes
sosa:FeatureOfInterest
Range Includes
sosa:Sample
Inverse property of
sosa:isSampleOf
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.13 sosa:isOriginalSampleOf

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/isOriginalSampleOf

an OWL Object Property

Warning

isOriginalSampleOf added in 2023 Edition. This term is non-normative, pending further implementation experience

is original sample of — relation from the initial Sample collected from the ultimate FeatureOfInterest to a downstream Sample or SampleCollection

Note

Some examples of relationships between samples and features of interest within chains are illustrated in Sample chains.

Domain Includes
sosa:Sample
Range Includes
sosa:Sample, sosa:SampleCollection
Inverse property of
sosa:hasOriginalSample
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.14 sosa:isResultOfMadeBySampler

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/isResultOfMadeBySampler

an OWL Object Property

Warning

isResultOfMadeBySampler added in 2023 Edition. This term is non-normative, pending further implementation experience

is a result of made by sampler — relation from a Sample or SampleCollection to the Sampler that made it

Domain Includes
sosa:Sample, sosa:SampleCollection
Range Includes
sosa:Sampler
Inverse property of
sosa:madeSamplingHasResult
Super property of chain
sosa:isResultOf o sosa:madeBySampler
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.15 sosa:isResultOfUsedProcedure

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/isResultOfUsedProcedure

an OWL Object Property

Warning

isResultOfUsedProcedure added in 2023 Edition. This term is non-normative, pending further implementation experience

is a result of used procedure — relation from a Sample or SampleCollection to the Procedure (plan) used to make it

Domain Includes
sosa:Sample, sosa:SampleCollection
Range Includes
sosa:SamplingProcedure
Inverse property of
sosa:usedForExecutionHasResult
Super property of chain
sosa:isResultOf o sosa:usedProcedure
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.16 sosa:isSampleOf

IRI: http://www.w3.org/ns/sosa/isSampleOf

an OWL Object Property

is sample of — relation from a Sample or SampleCollection to the FeatureOfInterest that it is intended to represent

Note

Some examples of relationships between samples and features of interest within chains are illustrated in Sample chains.

Domain Includes
sosa:Sample, sosa:SampleCollection
Range Includes
sosa:FeatureOfInterest
Inverse property of
sosa:hasSample
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.17 sosa:isSampleOfUltimateFOI

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/isSampleOfUltimateFOI

an OWL Object Property

Warning

isSampleOfUltimateFOI added in 2023 edition. This term is non-normative, pending further implementation experience

is sample of ultimate feature of interest — relation from a Sample or SampleCollection to the ultimate FeatureOfInterest that it is intended to be representative of; i.e., the end of a chain of isSampleOf relations

Note

Some examples of relationships between samples and features of interest within chains are illustrated in Sample chains.

Note

isSampleOfUltimateFOI renames the property that was called hasSampledFeature in Extensions to the Semantic Sensor Network Ontology [vocab-ssn-ext]

Domain Includes
sosa:Sample, sosa:SampleCollection
Range Includes
sosa:FeatureOfInterest
Inverse property of
sosa:featureHasUltimateSample
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.18 sosa:madeBySampler

IRI: http://www.w3.org/ns/sosa/madeBySampler

an OWL Object Property

made by sampler — relation from an act of Sampling to the Sampler that made it

Sub property of
sosa:madeBySystem
Domain Includes
sosa:Sampling, sosa:SamplingCollection
Range Includes
sosa:Sampler
Inverse property of
sosa:madeSampling
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.19 sosa:madeSampling

IRI: http://www.w3.org/ns/sosa/madeSampling

an OWL Object Property

made sampling — relation from a Sampler to the Sampling or SamplingCollection it has made

Sub property of
sosa:madeExecution
Domain Includes
sosa:Sampler
Range Includes
sosa:Sampling, sosa:SamplingCollection
Inverse property of
sosa:madeBySampler
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.20 sosa:madeSamplingHasResult

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/madeSamplingHasResult

an OWL Object Property

Warning

madeSamplingHasResult added in 2023 Edition. This term is non-normative, pending further implementation experience

made sampling has result — relation from a Sampler to a Sample or SampleCollection made by it

Domain Includes
sosa:Sampler
Range Includes
sosa:Sample, sosa:SampleCollection
Inverse property of
sosa:isResultOfMadeBySampler
Super property of chain
sosa:madeSampling o sosa:hasResult
is Defined By
http://www.w3.org/ns/sosa/sampling/
5.6.2.21 sosa:usedForExecutionHasResult

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/usedForExecutionHasResult

an OWL Object Property

Warning

usedForExecutionHasResult added in 2023 Edition. This term is non-normative, pending further implementation experience

used for execution has result — relation from a Procedure to a Sample or SampleCollection made by it

Domain Includes
sosa:SamplingProcedure
Range Includes
sosa:Sample, sosa:SampleCollection
Inverse property of
sosa:isResultOfUsedProcedure
Super property of chain
sosa:usedForExecution o sosa:hasResult
is Defined By
http://www.w3.org/ns/sosa/sampling/

6. SSN Extensions

This section provides the specifications for modules that extend the scope and capabilities of SSN.

6.1 OMS Extension Module

6.1.1 OMS Requirement

This section introduces extensions to the SSN Ontology to provide a canonical RDF implementation of [OMS].

OMS is the 2023 Edition of the OGC and ISO standard previously known as Observations and Measurements [OandM], which was a key influence and input in the development of SSN.

Note

OMS was published as ISO 19156:2023 [iso-19156-2023], but is freely available as OGC Abstract Specification — Topic 20 [OMS].

This module provides (i) additional classes and properties required for an RDF implementation of OMS, (ii) a detailed mapping of SOSA terms to discrete requirements in OMS. Note that OMS is formalized using UML, which does not provide accessible global identifiers for terms in the structure model. The URI for each formal Requirement relating to a class or property in OMS denotes the UML class or property. The predicate ogc-ms:implements links a SOSA term to the corresponding OMS class or property, and ogc-ms:implementedBy its inverse, defined as follows:

ogc-ms:implements a owl:ObjectProperty ;
  rdfs:subPropertyOf dcterms:source , prov:wasDerivedFrom .

ogc-ms:implementedBy a owl:ObjectProperty ;
  owl:inverseOf ogc-ms:implements .
Note

Some classes and properties from OMS are not yet represented in the OMS Extension Module. It is intended to resolve this before the 2023 edition of the SSN Ontology is finalized. This is likely to be through additional patterns for the use of SSN, and additional terms in the sosa-oms: namespace.

6.1.2 OMS modules

6.1.2.1 SOSA-OMS

SOSA-OMS describes the implementation of ISO 19156:2023 [OMS] using terms from the SSN Ontology. SOSA-OMS imports SOSA Observation and SOSA Sampling and declares additional terms required for OMS. SOSA-OMS is the canonical RDF implementation of OMS.

The SOSA-OMS graph is available at http://www.w3.org/ns/sosa-oms/.

6.1.2.2 SSN-OMS

SSN-OMS describes the implementation of ISO 19156:2023 [OMS] using terms from the SSN Ontology, with RDFS/OWL axiomatization. SSN-OMS imports SOSA-OMS and SSN Observation and SSN Sampling. SSN-OMS is the canonical OWL implementation of OMS.

The SSN-OMS graph is available at http://www.w3.org/ns/ssn-oms/.

6.1.2.3 Namespaces

The following namespace prefixes are used in the RDF implementation of OMS:

sosa:
http://www.w3.org/ns/sosa/
sosa-oms:
http://www.w3.org/ns/sosa/oms/
ogc-ms:
http://www.opengis.net/def/ont/modspec/
obs-cpt:
http://www.opengis.net/spec/om/3.0/req/obs-cpt/
obs-core:
http://www.opengis.net/spec/om/3.0/req/obs-core/
obs-basic:
http://www.opengis.net/spec/om/3.0/req/obs-basic/
sam-cpt:
http://www.opengis.net/spec/om/3.0/req/sam-cpt/
sam-basic:
http://www.opengis.net/spec/om/3.0/req/sam-basic/

6.1.3 New terms

A number of terms in OMS do not have matches in the SSN Ontology.

This section introduces the following classes and properties:

Warning

Terms in the sosa-oms: namespace were added in the 2023 edition. These are non-normative, pending further implementation experience.

6.1.3.1 sosa-oms:PreparationProcedure

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/oms/PreparationProcedure

an OWL Class

Preparation Procedure — description of preparation steps performed on a Sample

Sub class of
sosa:Procedure
is Defined By
http://www.w3.org/ns/sosa/oms/
6.1.3.2 sosa-oms:PreparationStep

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/oms/PreparationStep

an OWL Class

Preparation Step — individual step pertaining to a Sample PreparationProcedure

is Defined By
http://www.w3.org/ns/sosa/oms/
6.1.3.3 sosa-oms:hasPreparationStep

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/oms/hasPreparationStep

an OWL Object Property

has preparation step — link from a Sample to a PreparationStep used for it

Domain Includes
sosa:Sample
Range Includes
sosa-oms:PreparationStep
is Defined By
http://www.w3.org/ns/sosa/oms/
6.1.3.4 sosa-oms:madeOnPlatform

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/oms/madeOnPlatform

an OWL Object Property

made on platform — relation from an Observation to the Platform that the Sensor was attached to at the time it was made

Domain Includes
sosa:Observation, sosa:ObservationCollection
Range Includes
sosa:Platform
is Defined By
http://www.w3.org/ns/sosa/oms/
6.1.3.5 sosa-oms:metadata

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/oms/metadata

an OWL Object Property

metadata — link from an individual to a metadata description

Domain Includes
sosa:FeatureOfInterest, sosa:Property, sosa:Observation, sosa:ObservationCollection, sosa:Sample, sosa:SampleCollection, sosa:Sampling, sosa-oms:PreparationStep, sosa:Procedure, sosa:Sensor, sosa:Platform, sosa:Deployment
is Defined By
http://www.w3.org/ns/sosa/oms/
6.1.3.6 sosa-oms:observationType

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/oms/observationType

an OWL Object Property

observation type — further detail on the type of Observations.

Domain Includes
sosa:Observation
is Defined By
http://www.w3.org/ns/sosa/oms/
6.1.3.7 sosa-oms:preparedSample

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/oms/preparedSample

an OWL Object Property

prepared sample — link from a PreparationStep to a Sample on which the PreparationProcedure was performed

Domain Includes
sosa-oms:PreparationStep
Range Includes
sosa:Sample
is Defined By
http://www.w3.org/ns/sosa/oms/
6.1.3.8 sosa-oms:processingDetails

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/oms/processingDetails

an OWL Object Property

processing details — link from a PreparationStep to the PreparationProcedure used

Domain Includes
sosa-oms:PreparationStep
Range Includes
sosa-oms:PreparationProcedure
is Defined By
http://www.w3.org/ns/sosa/oms/
6.1.3.9 sosa-oms:relatedSampling

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/oms/relatedSampling

an OWL Object Property

related sampling — relation from a Sampling to another Sampling

Domain Includes
sosa:Sampling
Range Includes
sosa:Sampling
is Defined By
http://www.w3.org/ns/sosa/oms/
6.1.3.10 sosa-oms:samplePreparationStep

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/oms/samplePreparationStep

an OWL Object Property

sample preparation step — link from a PreparationProcedure to a PreparationStep used in it

Domain Includes
sosa-oms:PreparationProcedure
Range Includes
sosa-oms:PreparationStep
is Defined By
http://www.w3.org/ns/sosa/oms/
6.1.3.11 sosa-oms:validTime

This section is non-normative.

IRI: http://www.w3.org/ns/sosa/oms/validTime

an OWL Object Property

valid time — time interval during which the result is assumed to be applicable for use.

Domain Includes
sosa:Observation, sosa:Sampling
Range Includes
time:Interval, dcterms:PeriodOfTime
is Defined By
http://www.w3.org/ns/sosa/oms/

6.1.4 Class Alignments — SOSA focus

The following classes from the SSN Ontology and this extension implement UML classes from OMS as indicated:

6.1.5 Class Alignments — OMS focus

The following UML classes in OMS are implemented by classes from the SSN Ontology and this extension as indicated:

6.1.6 Property Alignments — SOSA focus

The following properties from the SSN Ontology and this extension implement attributes and association roles from OMS as indicated:

6.1.7 Property Alignments — OMS focus

The following attributes and association roles from OMS are implemented by properties from the SSN Ontology and this extension as indicated:

6.2 Sample Relations Module

This section is non-normative.

6.2.1 Sample Relations requirement

Samples are often related to other samples by sub-sampling, topological relationships (e.g., stations along a traverse, pixels within an image, probe spots on a polished section, or specimens retrieved within a borehole), or as parts of sample processing chains (e.g., crushing, splitting, dissecting, or dissolving). There is an essentially unlimited set of relationships between samples, so the nature of the relationship has its own class. This section describes a flexible model to describe such relationships between samples. The model is based on the QualifiedRelation pattern.

The Sample-Relations graph imports SOSA and contains additional definitions associated with relationships between samples.

The namespace for Sample relationships terms is http://www.w3.org/ns/sosa/sampling/

The suggested prefix for the sample relationships namespace is sosa-rel

An ontology graph for this is available.

The Sample-Relations module is available at http://www.w3.org/ns/sosa/sampling/.

Figure 19 provides an overview on the classes and properties that are specifically related to modeling Sample relationships.

Figure 19 Model of sample relationships
In this diagram, unqualified names refer to classes and properties in the sosa-rel: namespace.
Explanation of the notation used in class diagrams.

6.2.2 Sample Relationships Specification

This section introduces the following classes and properties:

6.2.2.1 sosa-rel:RelationshipNature

IRI: http://www.w3.org/ns/sosa/sampling/RelationshipNature

an OWL Class

Nature of relationship — the nature of a relationship between two Samples

Sub class of
skos:Concept
Examples
Adjacent flight-line
Females
Juveniles
Pixel within image or scene
Probe spot on polished specimen
Specimen taken from borehole
Split of core sample
Station along a traverse
Sub-sample with grain size smaller than specified seive mesh
is Defined By
http://www.w3.org/ns/sosa/sampling/
6.2.2.2 sosa-rel:SampleRelationship

IRI: http://www.w3.org/ns/sosa/sampling/SampleRelationship

an OWL Class

Sample relationship — relationship from one Sample to another Sample

is Defined By
http://www.w3.org/ns/sosa/sampling/
6.2.2.3 sosa-rel:hasSampleRelationship

IRI: http://www.w3.org/ns/sosa/sampling/hasSampleRelationship

an OWL Object Property

has sample relationship — links a Sample to a SampleRelationship

Domain Includes
sosa:Sample
Range Includes
sosa-rel:SampleRelationship
is Defined By
http://www.w3.org/ns/sosa/sampling/
6.2.2.4 sosa-rel:natureOfRelationship

IRI: http://www.w3.org/ns/sosa/sampling/natureOfRelationship

an OWL Object Property

nature of (sample) relationship — links a SampleRelationship to an indication of the nature of the relationship

Domain Includes
sosa-rel:SampleRelationship
Range Includes
sosa-rel:RelationshipNature
is Defined By
http://www.w3.org/ns/sosa/sampling/
6.2.2.5 sosa-rel:relatedSample

IRI: http://www.w3.org/ns/sosa/sampling/relatedSample

an OWL Object Property

related sample — links a SampleRelationship to the related Sample

Domain Includes
sosa-rel:SampleRelationship
Range Includes
sosa:Sample
is Defined By
http://www.w3.org/ns/sosa/sampling/

7. Alignments

This section is non-normative.

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

7.1 PROV Alignment Module

This section introduces the alignment of SOSA to W3C PROV ([prov-overview], [prov-dm], [prov-o]).

The underlying structure of PROV is based around a process-flow model, with three base classes: Entity, which is the class of physical, digital, conceptual, or other kinds of things with some fixed aspects; Activity, which is the class of things that occur over a period of time and act upon or with entities, and it may include consuming, processing, transforming, modifying, relocating, using, or generating entities; and Agent, which is the class of things that bear some form of responsibility for an activity taking place, for the existence of an entity, or for another agent's activity.

Figure 20 Core PROV classes and some of the properties that relate them, alongside the core SOSA structure for execution (actuation, observation, and sampling).
Explanation of the notation used in class diagrams.

The SOSA/SSN ontologies conceive executions (actuations, observations, and acts of sampling) as activities or events, which result in a change in the world, or information being produced, or the production or transformation of a sample. An alignment of SOSA to PROV is natural. Compton et al. [SSN-PROV] and Cox [OM-Lite] have described alignments of the [SSNX] and [OandM] models with [prov-o]. The alignment here (see Figure 20) is based on that work, also extended to consider actuation and sampling.

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

Note

This section uses a combination of [Description-Logics] notation (see also the [Description-Logics-Home-Page]) and the Manchester Syntax [owl2-manchester-syntax].
denotes either SubClassOf or SubObjectPropertyOf, depending on the context.
indicates equivalence, corresponding to either EquivalentClasses or EquivalentObjectProperties, depending on the context.
The expression OP1 o OP2 OP3 represents a subproperty chain axiom.

7.1.1 Namespaces

The following namespace prefixes are used in the alignment of SOSA to PROV.

sosa:
http://www.w3.org/ns/sosa/
prov:
http://www.w3.org/ns/prov
sp:
http://www.w3.org/ns/sosa/prov/

7.1.2 Class Alignments

The primary classes from SOSA are aligned with the PROV classes as follows.

1. Execution (acts of Observation, Actuation and Sampling) is a kind of Activity, thus:

2. Systems (Sensors, Actuators and Samplers) are entities that are responsible for the corresponding activities, thus:

3. Procedures for observation, actuation or sampling are a kind of prov:Plan, thus:

4. The other classes from the core SOSA ontology represent either real or information resources, so are interpreted as kinds of prov:Entity, thus:

7.1.3 Property Alignments

The following properties from SOSA have simple alignments with PROV properties:

The final property alignment first requires some sub-properties of PROV properties to be defined:

Then sosa:usedProcedure is given a property chain axiom:

7.2 SAREF Alignment Module

This section introduces the alignment of SOSA to SAREF V4.1.1 [SAREF] and SAREF4SYST [SAREF_Patterns]. The ETSI portal for SAREF exposes the SAREF ontologies and points to the different SAREF-related deliverables, which are open ETSI standards.

An RDF file containing a graph corresponding to this alignment is available. This file additionally contains justifications for the alignment.

Note

This section uses [Description-Logics] notation (see also the [Description-Logics-Home-Page]).
denotes either SubClassOf or SubObjectPropertyOf, depending on the context. represents the inverse relation.
indicates equivalence, corresponding to either EquivalentClasses or EquivalentObjectProperties, depending on the context.
The expression OP1 OP2 o OP3 represents a subproperty chain axiom.

7.2.1 Namespaces

The following namespace prefixes are used in the alignment of SOSA to SAREF.

sosa:
http://www.w3.org/ns/sosa/
saref:
https://saref.etsi.org/core/
s4syst:
https://saref.etsi.org/saref4syst/

7.2.2 Alignment of SOSA-common to SAREF

The classes and properties from SOSA-common are aligned with the SAREF classes and properties as follows.

7.2.3 Alignment of SOSA-observation to SAREF

The classes and properties from SOSA-observation are aligned with the SAREF classes and properties as follows.

7.2.4 Alignment of SOSA-actuation to SAREF

The classes and properties from SOSA-actuation are aligned with the SAREF classes and properties as follows.

7.2.5 Alignment of SOSA-sampling to SAREF

The classes and properties from SOSA-sampling are aligned with the SAREF classes and properties as follows.

7.3 OBOE Alignment Module

This section introduces the alignment of SOSA to [OBOE].

OBOE, the Extensible Observation Ontology, is used within the biodiversity community for semantic representation of observation data. The ontology is composed of multiple modules. The core observation elements are in the module OBOE-core.

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

Note

This section uses a combination of [Description-Logics] notation (see also the [Description-Logics-Home-Page]) and the Manchester Syntax [owl2-manchester-syntax].
denotes either SubClassOf or SubObjectPropertyOf, depending on the context.
indicates equivalence, corresponding to either EquivalentClasses or EquivalentObjectProperties, depending on the context.
The expression OP ONLY C represents an ObjectAllValuesFrom restriction.
The expression OP EXACTLY 1 represents an ObjectExactCardinality restriction.

7.3.1 Namespaces

The following namespace prefixes are used in the alignment to SOSA.

sosa:
http://www.w3.org/ns/sosa/
oboe:
http://ecoinformatics.org/oboe/oboe.1.1/oboe-core.owl#

7.3.2 Class Alignments

An oboe:Observation is composed of a collection of oboe:Measurements concerning a single oboe:Entity. Each individual oboe:Measurement concerns a distinct oboe:Characteristic and uses a distinct oboe:Protocol. This aligns to a sosa:ObservationCollection whose member sosa:Observations each concern a different sosa:observedProperty of a single sosa:hasFeatureOfInterest.

An oboe:ObservationCollection is composed of a collection of oboe:Observations with no particular homogeneity expectation of the members. This aligns to a sosa:ObservationCollection whose members are sosa:ObservationCollections each having a single sosa:hasFeatureOfInterest.

The overall alignment is illustrated in Figure 21.

Figure 21 The OBOE core model (left), shown alongside the SOSA model including two levels of sosa:ObservationCollection (right) with matching classes and properties aligned visually.
Explanation of the notation used in class diagrams.

The primary classes from [OBOE] are aligned with SOSA classes as follows.

The class oboe:Entity appears in OBOE as the range of the oboe:ofEntity and oboe:hasValue properties, so we interpret it as a general superclass.

7.3.3 Property Alignments

The following properties from [OBOE] may be directly aligned with SOSA properties.

The properties oboe:hasMember and oboe:hasMeasurement link an oboe:ObservationCollection to its member oboe:Observations, and an oboe:Observation to its member oboe:Measurements, respectively. These match sosa:hasMember links to a sosa:ObservationCollection (with a single sosa:hasFeatureOfInterest) and to the sosa:Observations of the different properties, respectively.

7.4 DOLCE UltraLite Alignment Module

This section introduces the alignment of SOSA to the DOLCE UltraLite upper ontology (DUL) which is the core dependency of the previous version of SSN. This serves to axiomatically clarify the intended meaning of SOSA terms and will assist SOSA users wishing to interoperate with other DUL-aligned ontologies. Note, however, that the DUL alignment can be used independently to align SOSA with more generic concepts/properties of DUL.

Note

The SOSA-DUL alignment has been relaxed with respect to the previous edition, to account for the different usage of terms reported in 8. Common Patterns. Only classes are aligned.

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

7.4.1 Namespaces

The following namespace prefixes are used in the alignment of SOSA to DUL.

sosa:
http://www.w3.org/ns/sosa/
dul:
http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#

7.4.2 Class Alignments

The upper-level classes from SOSA are aligned with the DUL classes as follows. The alignment of subclasses of these upper-level classes follows logically from these correspondences.

Note

This section uses a combination of [Description-Logics] notation (see also the [Description-Logics-Home-Page]) and the Manchester Syntax [owl2-manchester-syntax].
The expression C1 C2 represents a SubClassOf axiom.
The expression C1 or C2 represents an ObjectUnionOf class expression.
The expression OP ONLY C represents an ObjectAllValuesFrom restriction.

Note

The definition of each DUL concept is displayed as a tooltip when hovering over the concept.

7.4.3 Property Alignments

Due to the disjunctive (or) nature of several class alignments, SOSA object properties are not aligned to specific DUL properties. Instead, they can be understood to be uniformly aligned to the most general property, dul:associatedWith, to ensure compatibility and enable flexible integration with DUL-aligned ontologies.

Note

The definition of dul:associatedWith is displayed as a tooltip when hovering over the concept.

8. Common Patterns

This section is non-normative.

This section discusses how to handle some common modeling questions.

8.1 Quantity Values and Units of Measure

The result of an sosa:Observation or an sosa:Actuation can be a quantity value with a numeric value and a unit of measure.

It is out of the scope of this specification to recommend a particular way of representing quantitative results. Several options from external vocabularies are available for expressing quantities as OWL individuals, or as datatypes. Examples include: qudt:QuantityValue from the Quantities, Units, Dimensions, and Data Types ontologies [QUDT]; cdt:ucum from Custom Datatypes [CDT].

8.1.1 Single values

The following examples show alternative encodings of a single observation with a scalar result, as shown in Figure 22.

Figure 22 A simple Observation with a scaled number (Quantity) as its result.
Explanation of the notation used in class diagrams.

With QUDT, a quantitative result can be represented as a qudt:QuantityValue. In the following example unit:DEG_C is an individual from the QUDT catalogue of units of measurement.

@prefix ex: <https://example.org/data/> .
@prefix qk: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix unit: <http://qudt.org/vocab/unit/> .

ex:Obs234534
  a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:apt134 ;
  sosa:observedProperty qk:Temperature ;
  sosa:hasResult [
      a qudt:QuantityValue ;
      qudt:hasUnit unit:DEG_C ;
      qudt:value 24.9 ;
    ] ;
.
ex:apt134
  a sosa:FeatureOfInterest ;
.
qk:Temperature
  a sosa:Property ;
.

With CDT, the value of sosa:hasSimpleResult is a literal structured as space-separated quantiy-value using the UCUM code for the unit of measurement [UCUM]. The type designator is cdt:ucum taken from [CDT].

@prefix cdt: <http://w3id.org/lindt/custom_datatypes#> .
@prefix ex: <https://example.org/data/> .
@prefix qk: <http://qudt.org/vocab/quantitykind/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .

ex:Obs234534
  a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:apt134 ;
  sosa:observedProperty qk:Temperature ;
  sosa:hasSimpleResult "24.9 Cel"^^cdt:ucum ;
.
cdt:ucum 
  a rdfs:Datatype ;
.
ex:apt134
  a sosa:FeatureOfInterest ;
.
qk:Temperature
  a sosa:Property ;
.

8.1.2 Collections

In a collection of observations or actuations the members will often use a common unit of measurement. This can be specified at the level of the collection using qudt:hasUnit.

If qudt:hasUnit is present on a collection, then the consistency rules described for Actuation properties or Observation properties apply.

In the following example, the unit of measurement unit:DEG_C is provided for all members of collection of observations.

@prefix ex: <https://example.org/data/> .
@prefix qk: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ex:OCa134
  a sosa:ObservationCollection ;
  sosa:hasFeatureOfInterest ex:apt134 ;
  sosa:observedProperty qk:Temperature ;
  qudt:hasUnit unit:DEG_C ;
  sosa:hasMember ex:OCa134t1 , ex:OCa134t2 , ex:OCa134t3 ;
.

ex:OCa134t1
  a sosa:Observation ;
  sosa:phenomenonTime  [ time:inXSDDateTime "2017-04-15T09:00:00+00:00"^^xsd:dateTime ] ;
  sosa:hasSimpleResult 22.5 ;
.
ex:OCa134t2
  a sosa:Observation ;
  sosa:phenomenonTime  [ time:inXSDDateTime "2017-04-15T09:15:00+00:00"^^xsd:dateTime ] ;
  sosa:hasSimpleResult 24.9 ;
.
ex:OCa134t3
  a sosa:Observation ;
  sosa:phenomenonTime  [ time:inXSDDateTime "2017-04-15T09:30:00+00:00"^^xsd:dateTime ] ;
  sosa:hasSimpleResult 21.3 ;
.

unit:DEG_C 
  a qudt:hasUnit ;
.
ex:apt134
  a sosa:FeatureOfInterest ;
.
qk:Temperature
  a sosa:Property ;
.

8.2 Domain types and FeatureOfInterest

Actuations, Observations, Samplings, and Deployments can be made on any entity in any context. For many applications a domain-model has been previously defined. This will include names and definitions for classes of entities in the domain. For example: applications in hydrology will refer to types such as water-course, stream, river, reach, storage, aquifer, lake, reservoir, spring, water-table, etc.

A property of an instance of any domain type may be observed using a sensor, or changed using an actuator, or the entity may be sampled following a sampling procedure. When this occurs, the domain entity is the feature of interest of the Execution.

Does this therefore require that classes in the domain model are defined as sub-classes of sosa:FeatureOfInterest? No, absolutely not. RDF and OWL entailments do not work that way.

The way the SSN Ontology addresses this is described in the following sub-sections. There are different implications depending on whether you are using the simple SOSA module, or the more expressive SSN module.

8.2.1 FeatureOfInterest in SOSA

In SOSA the domain and range indications use the Schema.org [schema-org] predicates schema:domainIncludes and schema:rangeIncludes. For feature of interest, SOSA has:

sosa:hasFeatureOfInterest
  schema:domainIncludes sosa:Execution ;
  schema:domainIncludes sosa:Deployment ;
  schema:rangeIncludes sosa:FeatureOfInterest ;
.

Note:

  1. these have no formal entailments, they are just hints
  2. 'Includes' means these types are non-exclusive, so any other type is acceptable, including types from application-domains

So the 'domain and range' indications in SOSA are functionally harmless. The fact that sosa:hasFeatureOfInterest schema:rangeIncludes sosa:FeatureOfInterest . merely says that things of type sosa:FeatureOfInterest might be found as the object of hasFeatureOfInterest statements. No more, no less.

8.2.2 FeatureOfInterest in SSN

In SSN there are local (guarded) constraints, which can fix the range of a property when it appears in the context of a member of a specific class. Related to the feature of interest, SSN has:

sosa:Execution
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty sosa:hasFeatureOfInterest ;
    owl:allValuesFrom sosa:FeatureOfInterest ] ;
.
sosa:Deployment
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty sosa:hasFeatureOfInterest ;
    owl:allValuesFrom sosa:FeatureOfInterest ] ;
.

This says that, in the context of an individual sosa:Execution or sosa:Deployment, the object of sosa:hasFeatureOfInterest is always an individual sosa:FeatureOfInterest.

However, this does not mean that (i) the object of the statement must be declared to have rdf:type sosa:FeatureOfInterest in advance, or (ii) this is its only type. Rather, it means that

then it is automatically inferred to be of type sosa:FeatureOfInterest in addition to any other information that was already available about it, including any pre-existing type.

This does not require you to derive domain types as sub-classes of sosa:FeatureOfInterest. It merely says that when a domain individual participates in an Execution (e.g., an Observation) it becomes a member of the class sosa:FeatureOfInterest in addition to any pre-existing domain class. In the context of SSN axiomatization, membership in the class sosa:FeatureOfInterest does not need to be asserted explicitly, and does not need to be assigned prior to the involvement of an entity in a sosa:Execution (or one of its sub-classes) or sosa:Deployment.

Consider the following scenario (Figure 23, Figure 24). There is an entity typed with a class from a domain model:

Figure 23 A feature classified using a domain ontology.
Explanation of the notation used in class diagrams.
ex:YarraAboveDightsFalls rdf:type hydro:RiverReach .

An observation is made concerning a property of this entity:

Figure 24 An observation on a feature previously classified using a domain ontology.
Explanation of the notation used in class diagrams.
ex:o345 rdf:type sosa:Observation ;
    sosa:hasFeatureOfInterest ex:YarraAboveDightsFalls ;
    sosa:observedProperty hydro:elevation ;
    sosa:hasSimpleResult "30 m"^^cdt:ucum ;
    sosa:phenomenonTime [ a time:Instant ; time:inXSDDateTime "2024-07-15T13:30:00+10:00" ; ] ;
.

The SSN constraint shown above entails: ex:YarraAboveDightsFalls rdf:type sosa:FeatureOfInterest . in addition to the type hydro:RiverReach already asserted.

In terms of set theory, the class hydro:RiverReach has a non-empty intersection with the class sosa:FeatureOfInterest when a member of hydro:RiverReach participates in an sosa:Observation (or any other subclass of sosa:Execution). Domain types are not features-of-interest unless they are involved in Executions or Deployments. The additional typing happens to individual members of the class 'automatically', by entailment, but not to the domain class as a whole.

8.3 Proximate and Ultimate feature of interest

The object of the hasFeatureOfInterest property of an Execution (e.g., Actuation, Observation, or Sampling) or Deployment is the immediate or proximate FeatureOfInterest. For example, Figure 25 shows a description of a simple actuation to open a window.

Figure 25 Simple Actuation to open a window.
Explanation of the notation used in class diagrams.
@prefix ex: <https://example.org/data/> .
@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix xsd:  <http://www.w3.org/2001/XMLSchema#> .
@base <https://example.org/data/open-window/> .

ex:window98 rdf:type sosa:FeatureOfInterest ;
    sosa:hasProperty ex:openState ;
.
ex:openState rdf:type sosa:Property ;
.
ex:closer-987 rdf:type ex:WindowCloser , sosa:Actuator ;
.
ex:WindowCloser rdfs:subClassOf sosa:Actuator ;
.
ex:A188 rdf:type sosa:Actuation ;
  sosa:hasFeatureOfInterest ex:window98 ;
  sosa:actsOnProperty  ex:openState ;
  sosa:madeByActuator ex:closer-987 ; 
  sosa:hasSimpleResult true ;
  sosa:startTime "2017-04-18T17:23:00+02:00"^^xsd:dateTime ;
  sosa:endTime "2017-04-18T17:24:00+02:00"^^xsd:dateTime ;
.

In some cases the feature of interest of the execution is not the ultimate thing that the act of actuation, observation, or sampling is concerned with, but is an intermediate thing. This might be a sample of the ultimate feature of interest, or a sample of a sample, etc. The relationship between the proximate and ultimate feature of interest might be specified, such as a sampling-chain. If this relationship is recorded, then an ultimate feature of interest might be inferred.

Nevertheless, it is often the ultimate feature of interest that really matters to the data user, particularly for discovery purposes. This requirement is met using the hasUltimateFeatureOfInterest property as shown in Figure 26.

Figure 26 The observation is on a sample of the ultimate feature of interest.
Explanation of the notation used in class diagrams.
@prefix cdt: <http://w3id.org/lindt/custom_datatypes#> .
@prefix ex: <https://example.org/data/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .

ex:Bubble873 a sosa:Sample ;
  sosa:isSampleOf ex:EarthAtmosphere;
.
ex:Ob873c4 a sosa:Observation ;
  sosa:observedProperty ex:CO2-Concentration ;
  sosa:hasFeatureOfInterest ex:Bubble873 ;
  sosa:hasUltimateFeatureOfInterest ex:EarthAtmosphere ;
  sosa:hasSimpleResult "240 [ppm]"^^cdt:ucum ;
.
ex:EarthAtmosphere a sosa:FeatureOfInterest ;
  skos:exactMatch <https://www.wikidata.org/wiki/Q3230> ;
  . 
ex:CO2-Concentration a sosa:Property ;
  skos:exactMatch <http://purl.obolibrary.org/obo/ENVO_04000004> ;
  skos:prefLabel "concentration of carbon dioxide in air" ;
.

8.4 Sample chains

Many observation workflows rely on a chain of samples, where it is important to understand the provenance of the sample which is the (proximate) feature of interest for observations. Knowing either the original sample or the initial feature of interest at the base of the chain is useful for both discovery and management purposes.

For example, gas bubbles from ice-cores are examined in climate research. The ice-core is a sample of the ice-sheet, while the bubble taken from the core is a sample of an ancient atmosphere (Figure 27). The two samples have different values for the isSampleOf property, reflecting the different hasFeatureOfInterest values for the separate acts of Sampling. The bubble is also a sample of the atmosphere, which is a feature of interest for the observations.

Figure 27 Sequence of two acts of sampling to recover a gas bubble from an ice sheet.
Explanation of the notation used in class diagrams.
@prefix cdt: <http://w3id.org/lindt/custom_datatypes#> .
@prefix ex: <https://example.org/data/> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix orcid: <https://orcid.org/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix xsd:  <http://www.w3.org/2001/XMLSchema#> .

ex:IceCore12 a sosa:Sample , sosa:MaterialSample ;
  sosa:isSampleOf ex:Antarctic_ice_sheet ;
  sosa:isResultOf ex:WellDrilling4578 ;
.
ex:Bubble873 a sosa:Sample , sosa:MaterialSample ;
  sosa:isSampleOf ex:IceCore12 , ex:EarthAtmosphere;
  sosa:isSampleOfUltimateFOI ex:Antarctic_ice_sheet ;
  sosa:isResultOf ex:CoreEx1923 ;
.
ex:WellDrilling4578 a sosa:Sampling ;
  geo:hasGeometry [ 
    a geo:Point ;
    geo:asWKT "POINT (9.32 -73.35)"^^geo:WktLiteral ;
  ] ;
  sosa:hasResult ex:IceCore12 ;
  sosa:madeBySampler ex:ThermalDrill2 ;
  sosa:resultTime "2017-04-03T11:12:00+00:00"^^xsd:dateTime ;
  sosa:hasFeatureOfInterest ex:Antarctic_ice_sheet ;
.
ex:CoreEx1923 a sosa:Sampling ;
  sosa:hasInputValue [
      ex:offset "15.202 m"^^cdt:ucum ;
  ] ;
  sosa:hasResult ex:Bubble873 ;
  sosa:madeBySampler orcid:0000-0002-3884-3420 ;
  sosa:resultTime "2018-01-09T14:12:00+00:00"^^xsd:dateTime ;
  sosa:hasFeatureOfInterest ex:IceCore12 ;
  sosa:hasUltimateFeatureOfInterest ex:Antarctic_ice_sheet ;
.
ex:Antarctic_ice_sheet a sosa:FeatureOfInterest ;
  skos:exactMatch <https://www.wikidata.org/wiki/Q571430> ;
. 
ex:EarthAtmosphere a sosa:FeatureOfInterest ;
  skos:exactMatch <https://www.wikidata.org/wiki/Q3230> ;
.

Figure 28 shows a more complex scenario involving many samples derived from an initial one, with some relationships that may be useful in processing and discovery of subsequent observations, the intention of which will be to characterize various aspects of the original sample which is representative of an ultimate feature of interest. This is supported by additional properties for relationships between samples and features of interest at specific points in the chain: hasOriginalSample and isSampleOfUltimateFOI.

Figure 28 It is common to generate a chain of samples in a geology exploration scenario, with initial sample retrieval from the field followed by a sequence of sampling steps (pink) to generate a series of sub-samples (light green).

For clarity the diagram shows only a subset of the full set of potential resources and relationships.
Explanation of the notation used in class diagrams.

Having a direct indication of an original sample allows multiple results to be combined to describe the sample. Having a direct indication of the ultimate feature that was sampled allows discovery of many samples that are intended to be representative of that feature.

Note that the scenario in Figure 28 is simplified from real-life scenarios, and also that the diagram only shows a subset of the full set of resources and relationships.

8.5 Time series

Many executions are made as parts of a time series. There are a number of ways these may be modeled using the SSN Ontology.

The most explicit representation has each member of the series as an individual member of a Collection. For example Figure 29 shows a Collection of Observations that has a member for each time-step in the series.

Figure 29 Collection of observations of the same property on the same feature of interest, with each member representing a step in the time-series.
Explanation of the notation used in class diagrams.
@prefix cdt: <http://w3id.org/lindt/custom_datatypes#> .
@prefix ex: <https://example.org/data/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix time: <http://www.w3.org/2006/time#>.
@prefix unit: <http://qudt.org/vocab/unit/>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@base <https://example.org/data/tsoc/> .

ex:ts159c
  a sosa:ObservationCollection ;
  sosa:hasFeatureOfInterest ex:station223 ;
  sosa:observedProperty ex:p1 ;
  sosa:madeBySensor ex:fooglemeter39 ;
  sosa:phenomenonTime [
    a time:Interval ;
    time:hasBeginning [ 
      a time:Instant ;
      time:inXSDDateTime "2017-04-15T20:00:00+00:00"^^xsd:dateTime
    ] ;
    time:hasEnd [ 
      a time:Instant ;
      time:inXSDDateTime "2017-04-15T20:03:00+00:00"^^xsd:dateTime 
    ] ;
  ] ;
  sosa:resultTime "2017-04-15T20:03:30+00:00"^^xsd:dateTime ;
  sosa:hasMember ex:t1 ;
  sosa:hasMember ex:t2 ;
  sosa:hasMember ex:t3 ;
  sosa:hasMember ex:t4 ;
.
ex:t1
  a sosa:Observation ;
  sosa:phenomenonTime [
    a time:Instant ;
    time:inXSDDateTime "2017-04-15T20:00:00+00:00"^^xsd:dateTime ;
  ] ;
  sosa:hasSimpleResult "3.24 m/s"^^cdt:ucum ;
.
ex:t2
  a sosa:Observation ;
  sosa:phenomenonTime [
    a time:Instant ;
    time:inXSDDateTime "2017-04-15T20:01:00+00:00"^^xsd:dateTime ;
  ] ;
  sosa:hasSimpleResult "3.21 m/s"^^cdt:ucum ;
.
ex:t3
  a sosa:Observation ;
  sosa:phenomenonTime [
    a time:Instant ;
    time:inXSDDateTime "2017-04-15T20:02:00+00:00"^^xsd:dateTime ;
  ] ;
  sosa:hasSimpleResult "3.15 m/s"^^cdt:ucum ;
.
ex:t4
  a sosa:Observation ;
  sosa:phenomenonTime [
    a time:Instant ;
    time:inXSDDateTime "2017-04-15T20:03:00+00:00"^^xsd:dateTime ;
  ] ;
  sosa:hasSimpleResult "3.15 m/s"^^cdt:ucum ;
.
ex:station223 a sosa:FeatureOfInterest .
ex:p1 a sosa:Property .
ex:fooglemeter39 a sosa:Sensor .

Alternatively, the series may be represented as a single Observation whose result is a complex value, such as a vector or array. This may be indicated 'inline' as a complex literal, e.g. CSV:

@prefix ex: <https://example.org/data/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix time: <http://www.w3.org/2006/time#>.
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@base <https://example.org/data/tsoi/> .

ex:ts159i
  a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:station223 ;
  sosa:observedProperty ex:p1 ;
  sosa:madeBySensor ex:fooglemeter39 ;
  sosa:phenomenonTime [
    a time:Interval ;
    time:hasBeginning [ 
      a time:Instant ;
      time:inXSDDateTime "2017-04-15T20:00:00+00:00"^^xsd:dateTime
    ] ;
    time:hasEnd [ 
      a time:Instant ;
      time:inXSDDateTime "2017-04-15T20:03:00+00:00"^^xsd:dateTime 
    ] ;
  ] ;
  sosa:resultTime "2017-04-15T20:03:30+00:00"^^xsd:dateTime ;
  sosa:hasSimpleResult """2017-04-15T20:00:00+00:00,3.24
  2017-04-15T20:01:00+00:00,3.21
  2017-04-15T20:02:00+00:00,3.15
  2017-04-15T20:03:00+00:00,3.15"""^^ex:SpeedObservationCSVRecord ;
  rdfs:comment """The result of this observation is encoded as a CSV literal.  
  The CSV has four rows each representing a member of the time-series.  
  The CSV structure is defined in the datatype definition."""@en ;
.
ex:station223 a sosa:FeatureOfInterest .
ex:p1 a sosa:Property .
ex:fooglemeter39 a sosa:Sensor .

ex:SpeedObservationCSVRecord a rdfs:Datatype ;
  rdfs:comment """Datatype definition for CSV-encoded data records conforming to the speed observation data model.
  The speed observation data model is defined using the OGC SWE Data Model given as the object of ex:asSWEDataModel.
  The formal definition of this datatype (a lexical space, value space, lexical-to-value mapping) is left unspecified in this example.""" ;
  ex:asSWEDataModel """{
  "type": "DataRecord",
  "label": "Speed Observation",
  "fields": [
      {
          "name": "time",
          "type": "Time",
          "definition": "http://www.opengis.net/def/property/OGC/0/SamplingTime",
          "referenceFrame": "http://www.opengis.net/def/trs/BIPM/0/UTC",
          "label": "Sampling Time",
          "uom": {
              "href": "http://www.opengis.net/def/uom/ISO-8601/0/Gregorian"
          }
      },
      {
          "name": "speed",
          "type": "Quantity",
          "definition": "http://qudt.org/vocab/quantitykind/Speed",
          "label": "Vehicle Speed",
          "uom": {
              "code": "m/s",
              "href": "https://qudt.org/vocab/unit/M-PER-SEC"
          }
      }
  ]
}"""^^rdf:JSON ;
.

In this example, an OGC SWE Common DataRecord ([SWE-Common], [SWE-Common-JSON]) is used to define an RDF Datatype that encodes data records encoded in CSV.

The result of a time series observation can also be 'linked' to an external resource:

@prefix ex: <https://example.org/data/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix time: <http://www.w3.org/2006/time#>.
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@base <https://example.org/data/tsol/> .

ex:ts159l
  a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:station223 ;
  sosa:observedProperty ex:p1 ;
  sosa:madeBySensor ex:fooglemeter39 ;
  sosa:phenomenonTime [
    a time:Interval ;
    time:hasBeginning [ 
      a time:Instant ;
      time:inXSDDateTime "2017-04-15T20:00:00+00:00"^^xsd:dateTime
    ] ;
    time:hasEnd [ 
      a time:Instant ;
      time:inXSDDateTime "2017-04-15T20:03:00+00:00"^^xsd:dateTime 
    ] ;
  ] ;
  sosa:resultTime "2017-04-15T20:03:30+00:00"^^xsd:dateTime ;
  sosa:hasResult <https://example.org/data/tso/netcdf/ts159> ;
  rdfs:comment "The result of the observation is accessed using the URI https://example.org/data/tso/netcdf/ts159 (notional)."@en ;
.
ex:station223 a sosa:FeatureOfInterest .
ex:p1 a sosa:Property .
ex:fooglemeter39 a sosa:Sensor .

In addition to the encodings shown above, terms from SOSA can be directly integrated into existing structures, e.g. OGC Coverages [CoverageJSON]. In such cases, it is no longer necessary to provide a paired Observation.

8.6 Location and Geometry

8.6.1 Location

Many of the key classes provided by SOSA and SSN represent entities that can be located in space such as sensors, features of interest, actuators, samples, and so forth, or activities that can be located via their participating entities, e.g., platforms. These entities will usually be described using models and ontologies defined for application domains, including technical disciplines, social and business contexts. In these contexts there are a number of implementations that support the expression of spatial properties, including location. These are discussed further in the Spatial Data on the Web Best Practices note [SDW-BP].

In particular, GeoSPARQL [GeoSPARQL] provides a flexible and relatively complete platform for geospatial objects, that fosters interoperability between geo-datasets. The property geo:hasGeometry MAY be used to attach a geometry or location to any entity. Note that geo:hasGeometry has a global domain constraint which entails that any resource carrying this property SHALL be inferred to be a geo:Feature (GeoSPARQL 1.1, clause 8.4.1). In case of classes, e.g., specific types of features of interest such as rivers, these MAY be explicitly defined as subclasses of geo:Feature.

8.6.1.1 Systems, Platforms, Deployments

A number of patterns may be used to characterize the location of a System, depending on how much detail about Platforms and Deployments is useful.

For example, a System, such as a Sensor, might be permanently in one specific location, described as follows:

Figure 30 System location — direct description
Explanation of the notation used in class diagrams.
@prefix ex: <https://example.org/data/> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ex:IBS-TH2-56 
    a sosa:Sensor ;
    rdfs:label "12gth456a-23190"^^ex:serialNumber ;
    geo:hasGeometry [ 
        a geo:Point ;
        geo:asWKT "POINT (-73.877244 45.511672)"^^geo:WktLiteral ;
    ] ;
. 
ex:serialNumber a rdfs:Datatype ;
    rdfs:subClassOf xsd:string ;
.

Alternatively, the location may be associated with a Platform, which then might also host other Systems:

Figure 31 System location — on Platform
Explanation of the notation used in class diagrams.
@prefix ex: <https://example.org/data/> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ex:Room31C a sosa:Platform ;
  geo:hasGeometry [ 
    a geo:Point ;
    geo:asWKT "POINT (-73.877244 45.511672)"^^geo:WktLiteral ;
  ] ;
  sosa:hosts ex:IBS-TH2-56 ;
.
ex:IBS-TH2-56 
    a sosa:Sensor ;
    rdfs:label "12gth456a-23190"^^ex:serialNumber ;
  . 
ex:serialNumber a rdfs:Datatype ;
    rdfs:subClassOf xsd:string ;
.

If this Sensor location is not permanent, then it may be characterized as a Deployment:

Figure 32 System location — in a Deployment
Explanation of the notation used in class diagrams.
@prefix ex: <https://example.org/data/> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ex:TH2-56-2024 a sosa:Deployment ;
  sosa:deployedSystem ex:IBS-TH2-56 ;
  sosa:deployedOnPlatform ex:Room31C ;
  sosa:startTime "2024-01-01T00:00:00+00:00"^^xsd:dateTime ;
  sosa:endTime "2024-12-31T23:59:59+00:00"^^xsd:dateTime ;
.
ex:Room31C a sosa:Platform ;
  geo:hasGeometry [ 
    a geo:Point ;
    geo:asWKT "POINT (-73.877244 45.511672)"^^geo:WktLiteral ;
  ] ;
.
ex:IBS-TH2-56 
    a sosa:Sensor ;
    rdfs:label "12gth456a-23190"^^ex:serialNumber ;
  . 
ex:serialNumber a rdfs:Datatype ;
    rdfs:subClassOf xsd:string ;
.
8.6.1.2 Samples, Features

Similarly, Location can be associated directly or indirectly with a Sample.

Observations of the atmosphere are necessarily made at a specific location. The location of an air Sample might be recorded directly using the following pattern:

Figure 33 Sample location — direct descriptions
Explanation of the notation used in class diagrams.
@prefix ex: <https://example.org/data/> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .

ex:EarthAtmosphere_StE a sosa:Sample ;
  sosa:isSampleOf ex:EarthAtmosphere ;
  geo:hasGeometry [ 
    a geo:Point ;
    geo:asWKT "POINT (4.387611 45.437772)"^^geo:WktLiteral ;
  ] ;
.
ex:EarthAtmosphere a sosa:FeatureOfInterest ;
  skos:exactMatch <https://www.wikidata.org/wiki/Q3230> ;
.

The location could also be provided as a parameter to the act of Sampling that generated the Sample:

Figure 34 Sample location — indirect descriptions
Explanation of the notation used in class diagrams.
@prefix ex: <https://example.org/data/> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .

ex:EarthAtmosphere_StE a sosa:Sample ;
  sosa:isSampleOf ex:EarthAtmosphere ;
  sosa:isResultOf ex:AirSampling_StE ; 
.
ex:AirSampling_StE a sosa:Sampling ;
  sosa:hasFeatureOfInterest ex:EarthAtmosphere ;
  sosa:hasInputValue [ 
    a geo:Point ;
    geo:asWKT "POINT (4.387611 45.437772)"^^geo:WktLiteral ;
  ] ;
.
ex:EarthAtmosphere a sosa:FeatureOfInterest ;
  skos:exactMatch <https://www.wikidata.org/wiki/Q3230> ;
.

8.6.2 Relative location patterns

In general, the locations of the System and FeatureOfInterest for an Execution are different. For example, the relative locations of the Sensor (or its Platform or Deployment) and the feature of interest (or Sample), along with the phenomenon- and result-time, fall into distinct patterns for different Observation modes as follows:

in situ monitoring
location of sensor and feature of interest are the same
remote sensing
location of sensor is remote from the feature of interest
ex situ observation (e.g., lab measurements)
location of sensor and location of the ultimate feature of interest are different; result-time later than phenomenon-time

Note that in ex situ measurements, there will usually be a Sample and thus an act of Sampling involved, whose properties determine the location and phenomenon-time.

8.6.3 Geometry results

Geometry may appear in other contexts. For example, a determination of location using a GPS receiver can be described as an Observation whose hasResult value is a geometry. The following example illustrates this pattern, with the result being a GeoSPARQL Geometry object:

Figure 35 Geometry as the result of an observation
Explanation of the notation used in class diagrams.
@prefix ex: <https://example.org/data/> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix time: <http://www.w3.org/2006/time#>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@base <https://example.org/data/geor/> .

ex:ObsGeo1 a sosa:Observation ;
    sosa:madeBySensor ex:MyGPS736   ;
    sosa:hasFeatureOfInterest ex:AbbysCar ;
    sosa:phenomenonTime [
        a time:Instant ;
        time:inXSDDateTimeStamp "2023-06-20T21:49:18+00:00"^^xsd:dateTime ;
    ] ;
    sosa:resultTime "2023-06-20T21:49:18+00:00"^^xsd:dateTime ;
    sosa:observedProperty <https://vocab.nerc.ac.uk/collection/S06/current/S0600255/>  ;
    sosa:hasResult [
        a geo:Geometry ;
        geo:asWKT "Point (145.042316 -37.919134)"^^geo:wktLiteral ;
     ] .
     
ex:MyGPS736 
    a sosa:Sensor ;
.
ex:AbbysCar 
    a sosa:FeatureOfInterest ;
.
<https://vocab.nerc.ac.uk/collection/S06/current/S0600255/> 
    a sosa:Property ;
    rdfs:label "Location (geographic coordinates)"@en ;
.

The WKT representation of the result could be encoded directly as a 'simple' (literal) result:

@prefix ex: <https://example.org/data/> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ex:ObsGeo1 a sosa:Observation ;
    sosa:madeBySensor ex:MyGPS736   ;
    sosa:hasFeatureOfInterest ex:AbbysCar ;
    sosa:resultTime "2023-06-20T21:49:18+00:00"^^xsd:dateTime ;
    sosa:observedProperty <https://vocab.nerc.ac.uk/collection/S06/current/S0600255/>  ;
    sosa:hasSimpleResult  "Point (145.042316 -37.919134)"^^geo:wktLiteral ;
.

8.7 Temporal properties

Multiple times are associated with an Execution. Trivially, since an Execution is a time-bounded activity, there is a startTime and endTime. In the case of Observation and Sampling the end of the Execution is the time that the result is generated so it is called resultTime. In the case of Actuation and Observation the phenomenonTime is the interval when the change or result applies to the actuated- or observed-property.

In the simplest case, an Execution is instantaneous and all these times are the same. More commonly, these times are different. Different kinds of executions have different relationships between these times.

8.7.1 Forecasts

A forecast may be represented as an observation where the value of sosa:phenomenonTime is later in time than the sosa:resultTime (Figure 36). The time when the observation execution was completed is before the time that the result of the observation applies to the FeatureOfInterest.

Figure 36 Temperature grid forecast, modeled as an Observation in which the result time is before the phenomenon time, which is when the result applies to the feature of interest.
Explanation of the notation used in class diagrams.
8.7.1.1 Serialised in Turtle
@prefix ex: <https://example.org/data/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix siq: <https://si-digital-framework.org/quantities/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#>.
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@base <https://example.org/data/forecast/> .

ex:Observation299876
  a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:EarthAtmosphere ;
  sosa:hasResult <grid/299876> ;
  sosa:observedProperty siq:TEMC ;
  sosa:phenomenonTime [
    time:hasBeginnning [ 
      time:inXSDDateTime "2024-03-09T11:00:00+10:00"^^xsd:dateTime ;
    ];
    time:hasEnd [  
      time:inXSDDateTime "2024-03-09T12:00:00+10:00"^^xsd:dateTime ;
    ];
  ];
  sosa:resultTime "2024-03-06T12:00:00+10:00"^^xsd:dateTime ;
.

ex:EarthAtmosphere a sosa:FeatureOfInterest ;
  skos:exactMatch <https://www.wikidata.org/wiki/Q3230> ;
. 
siq:TEMC a sosa:Property ;
  rdfs:label "Celsius temperature" ;
.
8.7.1.2 Serialised in JSON-LD
{
  "@graph" : [ {
    "@id" : "_:b0",
    "hasBeginnning" : "_:b2",
    "hasEnd" : "_:b1"
  }, {
    "@id" : "_:b1",
    "inXSDDateTime" : "2024-03-09T12:00:00+10:00"
  }, {
    "@id" : "_:b2",
    "inXSDDateTime" : "2024-03-09T11:00:00+10:00"
  }, {
    "@id" : "ex:EarthAtmosphere",
    "@type" : "sosa:FeatureOfInterest",
    "sameAs" : "https://www.wikidata.org/wiki/Q3230"
  }, {
    "@id" : "ex:Observation299876",
    "@type" : "sosa:Observation",
    "hasFeatureOfInterest" : "ex:EarthAtmosphere",
    "hasResult" : "ex:forecast/grid/299876",
    "observedProperty" : "https://si-digital-framework.org/quantities/TEMC",
    "phenomenonTime" : "_:b0",
    "resultTime" : "2024-03-06T12:00:00+10:00"
  }, {
    "@id" : "ex:forecast/",
    "@type" : "owl:Ontology"
  } ],
  "@context" : {
    "resultTime" : {
      "@id" : "http://www.w3.org/ns/sosa/resultTime",
      "@type" : "http://www.w3.org/2001/XMLSchema#dateTime"
    },
    "phenomenonTime" : {
      "@id" : "http://www.w3.org/ns/sosa/phenomenonTime",
      "@type" : "@id"
    },
    "observedProperty" : {
      "@id" : "http://www.w3.org/ns/sosa/observedProperty",
      "@type" : "@id"
    },
    "hasResult" : {
      "@id" : "http://www.w3.org/ns/sosa/hasResult",
      "@type" : "@id"
    },
    "hasFeatureOfInterest" : {
      "@id" : "http://www.w3.org/ns/sosa/hasFeatureOfInterest",
      "@type" : "@id"
    },
    "hasEnd" : {
      "@id" : "http://www.w3.org/2006/time#hasEnd",
      "@type" : "@id"
    },
    "hasBeginnning" : {
      "@id" : "http://www.w3.org/2006/time#hasBeginnning",
      "@type" : "@id"
    },
    "inXSDDateTime" : {
      "@id" : "http://www.w3.org/2006/time#inXSDDateTime",
      "@type" : "http://www.w3.org/2001/XMLSchema#dateTime"
    },
    "sameAs" : {
      "@id" : "http://www.w3.org/2002/07/owl#sameAs",
      "@type" : "@id"
    },
    "ex" : "http://example.org/data/",
    "rdf" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
    "owl" : "http://www.w3.org/2002/07/owl#",
    "xsd" : "http://www.w3.org/2001/XMLSchema#",
    "rdfs" : "http://www.w3.org/2000/01/rdf-schema#",
    "time" : "http://www.w3.org/2006/time#",
    "sosa" : "http://www.w3.org/ns/sosa/"
  }
}
Note

Other means to represent forecasts are reported, but not in the scope of this specification. For example [Lefrancois-et-al-2017] adapt the SSN Sensing/Sensor/Observation pattern to derive explicit Forecasting/Forecaster/Forecast classes.

Note

Describing a plan for some actuation or observation in the future is not covered by this specification.

8.7.2 Historical observations

Observations in historical sciences, including geology and archeology, may be made to determine the state of the world in the past.

8.7.2.1 Historical observations — simple cases

Consider a determination of the diet of past communities by examination of middens and other archaeological features (Figure 37)

Figure 37 Observation with phenomemon-time in the deep past.
Explanation of the notation used in class diagrams.
@prefix ex: <https://example.org/data/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ex:O299877
  a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:Community2998 ;
  sosa:hasResult ex:d77 ;
  sosa:observedProperty ex:diet ;
  sosa:phenomenonTime [
      time:hasBeginning [
          time:inTimePosition [
              time:hasTRS ex:BP ;
              time:numericPosition 12000 ;
            ] ;
        ] ;
      time:hasDuration [
          time:numericDuration 500 ;
          time:unitType time:unitYear ;
        ] ;
    ] ;
  sosa:resultTime "2015-06-06T12:00:00+10:00"^^xsd:dateTime ;
.
ex:d77 
  a ex:diet ;
  rdfs:comment "mainly seafood" ;
.
ex:BP
  a time:TRS ;
  skos:definition "Years before 1950, positive backwards" ;
.

An observation transcribed from a historical record, such as a logbook, might be encoded as follows:

Figure 38 Observation with phenomenon-time in the past.
Explanation of the notation used in class diagrams.
@prefix ex: <https://example.org/data/> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix qk: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix xsd:  <http://www.w3.org/2001/XMLSchema#> .
@base <https://example.org/data/htemp/> .

ex:T99 a sosa:Sensor , ex:Mercury-in-glass-thermometer ;
  rdfs:label "Mercury in glass thermometer #99"@en ;
  sosa:observes ex:airTemperature ;
.
ex:SHW a sosa:Platform , sosa:FeatureOfInterest;
  rdfs:label "Station Hohe Warte"@en ;
  geo:hasGeometry [ 
    a geo:Point ;
    geo:asWKT "POINT (16.355804145468635 48.248491274780754)"^^geo:WktLiteral ;
  ] ;
  sosa:hosts ex:T99 ;
.
ex:airTemperature a sosa:Property ;
  rdfs:label "air temperature"@en ;
  sosa:isPropertyOf ex:EarthAtmosphere ;
  skos:broader qk:Temperature ;
.
ex:EarthAtmosphere a sosa:FeatureOfInterest ;
  skos:exactMatch <https://www.wikidata.org/wiki/Q3230> ;
. 
ex:SHW_T_1872-04-04T15 a sosa:Observation ;
  sosa:madeBySensor ex:T99 ; 
  sosa:hasFeatureOfInterest ex:SHW ;
  sosa:observedProperty ex:airTemperature ;
  sosa:phenomenonTime [
    time:inXSDDateTime "1872-04-04T15:00:00+01:00"^^xsd:dateTime ;
  ] ;
  sosa:hasResult [
     rdf:type qudt:QuantityValue ;
     qudt:value "22.5"^^xsd:decimal ;
     qudt:hasUnit unit:DEG_C ] ;
  sosa:resultTime "1872-04-04T15:00:00+01:00"^^xsd:dateTime ;
.
8.7.2.2 Historical observation — from combination of separate observation of time and property

The concentration of CO2 can be measured in bubbles in ice-cores that are assumed to sample the atmosphere at some past time. In this case, the concentration and age are the results of two initial observations (at the top of Figure 39). These provide input-values to the final observation (at the bottom of Figure 39).

Figure 39 Observation with phenomenon-time in the deep past, constructed from the output of two primitive observations.
Explanation of the notation used in class diagrams.
@prefix cdt: <http://w3id.org/lindt/custom_datatypes#> .
@prefix ex: <https://example.org/data/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix time: <http://www.w3.org/2006/time#>.
@prefix unit: <http://qudt.org/vocab/unit/>.
@prefix xsd:  <http://www.w3.org/2001/XMLSchema#> .

ex:Bubble873 a sosa:Sample , sosa:MaterialSample ;
  sosa:isSampleOf ex:IceCore12 , ex:EarthAtmosphere;
  sosa:isSampleOfUltimateFOI ex:Antarctic_ice_sheet ;
  sosa:isResultOf ex:CoreEx1923 ;
.
ex:Ob873t2 a sosa:Observation ;
  sosa:observedProperty ex:C14-Age ;
  sosa:hasFeatureOfInterest ex:Bubble873 ;
  sosa:hasUltimateFeatureOfInterest ex:EarthAtmosphere ;
  sosa:hasSimpleResult "7530 a"^^cdt:ucum ;
  sosa:resultTime "2018-01-09T14:15:00+00:00"^^xsd:dateTime ;
.
ex:Ob873c4 a sosa:Observation ;
  sosa:observedProperty ex:CO2-Concentration ;
  sosa:hasFeatureOfInterest ex:Bubble873 ;
  sosa:hasUltimateFeatureOfInterest ex:EarthAtmosphere ;
  sosa:hasSimpleResult "240 [ppm]"^^cdt:ucum ;
  sosa:resultTime "2018-01-09T14:16:00+00:00"^^xsd:dateTime ;
.
ex:Oatc349 a sosa:Observation ;
  sosa:observedProperty ex:CO2-Concentration ;
  sosa:hasFeatureOfInterest ex:EarthAtmosphere ;
  sosa:hasSimpleResult "240 [ppm]"^^cdt:ucum ;
  sosa:phenomenonTime [ 
    time:inTimePosition [
      time:hasTRS ex:BP ;
      time:numericPosition 7530 ;
    ] ;
  ] ;   
  sosa:resultTime "2018-01-09T14:16:00+00:00"^^xsd:dateTime ;
  sosa:hasInputValue ex:Ob873t2 , ex:Ob873c4 ;
.
ex:BP
  a time:TRS ;
  skos:definition "Years before 1950, positive backwards" ;
.
ex:Antarctic_ice_sheet a sosa:FeatureOfInterest ;
  skos:exactMatch <https://www.wikidata.org/wiki/Q571430> ;
. 
ex:EarthAtmosphere a sosa:FeatureOfInterest ;
  skos:exactMatch <https://www.wikidata.org/wiki/Q3230> ;
  . 
ex:C14-Age a sosa:Property ;
  skos:exactMatch <http://vocab.nerc.ac.uk/collection/S06/current/S0600001/> ;
  skos:definition "The age of an object, determined by radiocarbon dating, expressed relative to a datum of AD 1950." ;
  skos:prefLabel "14C age" ;
.
ex:CO2-Concentration a sosa:Property ;
  skos:exactMatch <http://purl.obolibrary.org/obo/ENVO_04000004> ;
  skos:prefLabel "concentration of carbon dioxide in air" ;
.

In each of these cases the ultimate phenomenonTime is far in the past, while the resultTime is contemporary.

8.8 Collections and their members' property values

Properties of the members of Collections must follow the consistency rules given in their definitions — see ExecutionCollection, ActuationCollection, ObservationCollection, SampleCollection, and SamplingCollection. The following examples illustrate each case from the rules, in the context of an ObservationCollection. The patterns shown also apply to the other collection types.

8.8.1 Rule 1 — absent property on the collection

Where an individual Collection omits a property, a member (direct or transitive) MAY have any value for that property.

The properties sosa:hasFeatureOfInterest, sosa:phenomenonTime, sosa:hasSimpleResult are not specified on the collection, but are provided individually on each member.

@prefix ex: <https://example.org/sosa/collection-rule-1/> .
@prefix qk: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix time: <http://www.w3.org/2006/time#>.
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ex:oc1
  a sosa:ObservationCollection ;
  sosa:hasMember ex:a11 ;
  sosa:hasMember ex:a12 ;
  sosa:madeBySensor ex:T56 ;
  sosa:observedProperty qk:Temperature ;
  qudt:hasUnit unit:DEG_C ;
  rdfs:comment """
  The properties madeBySensor, observedProperty, and hasUnit are given for the collection. 
  """ ;
.
ex:a11
  a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:F1 ;
  sosa:phenomenonTime [
    a time:Instant ;
    time:inXSDDateTime "2022-05-01T20:33:40+00:00"^^xsd:dateTime ;
  ] ;
  sosa:hasSimpleResult 24.1 ;
  rdfs:comment """
  The properties hasFeatureOfInterest, phenomenonTime, and hasSimpleResult are specific to this individual member. 
  The properties madeBySensor, observedProperty, and hasUnit are inferred from the values for the collection.
  """ ;
.
ex:a12
  a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:F2 ;
  sosa:phenomenonTime [
    a time:Instant ;
    time:inXSDDateTime "2022-05-01T22:33:40+00:00"^^xsd:dateTime ;
  ] ;
  sosa:hasSimpleResult 27.3 ;
  rdfs:comment """
  The properties hasFeatureOfInterest, phenomenonTime, and hasSimpleResult are specific to this individual member. 
  The properties madeBySensor, observedProperty, and hasUnit are inferred from the values for the collection.
  """ ;
.
ex:F1
  a sosa:FeatureOfInterest ;
  rdfs:comment "Room #1" ;
.
ex:F2
  a sosa:FeatureOfInterest ;
  rdfs:comment "Room #2" ;
.
ex:T56
  a sosa:Sensor ;
  rdfs:comment "Thermometer #56" ;
.
qk:Temperature
  a sosa:Property ;
.

8.8.2 Rule 2 — single property value on the collection

Where an individual Collection has a single value for a property, each member (direct or transitive) MUST have that same value for that property i.e., the collection (set) is homogeneous in that property. That property MAY then be omitted in any member.

The properties sosa:observedProperty, sosa:madeBySensor, qudt:hasUnit are specified on the collection with single values, which apply to every member. A member that also specifies sosa:observedProperty individually has the same value as the collection.

@prefix ex: <https://example.org/sosa/collection-rule-2/> .
@prefix qk: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix time: <http://www.w3.org/2006/time#>.
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ex:oc2
  a sosa:ObservationCollection ;
  sosa:hasMember ex:a21 ;
  sosa:hasMember ex:a22 ;
  sosa:madeBySensor ex:T56 ;
  sosa:observedProperty qk:Temperature ;
  qudt:hasUnit unit:DEG_C ;
  rdfs:comment """
  The properties madeBySensor, observedProperty, and hasUnit are given for the collection. 
  """ ;
.
ex:a21
  a sosa:Observation ;
  sosa:observedProperty qk:Temperature ;
  sosa:hasFeatureOfInterest ex:F1 ;
  sosa:phenomenonTime [
    a time:Instant ;
    time:inXSDDateTime "2022-05-01T20:33:40+00:00"^^xsd:dateTime ;
  ] ;
  sosa:hasSimpleResult 24.1 ;
  rdfs:comment """
  The properties hasFeatureOfInterest, phenomenonTime, and hasSimpleResult are specific to this individual member
  The property observedProperty matches the value for the collection.
  The properties madeBySensor and hasUnit are inferred from the value for the collection.
  """ ;
.
ex:a22
  a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:F2 ;
  sosa:phenomenonTime [
    a time:Instant ;
    time:inXSDDateTime "2022-05-01T22:33:40+00:00"^^xsd:dateTime ;
  ] ;
  sosa:hasSimpleResult 27.3 ;
  rdfs:comment """
  The properties hasFeatureOfInterest, phenomenonTime, and hasSimpleResult are specific to this individual member
  The properties madeBySensor, observedProperty, and hasUnit are inferred from the value for the collection.
  """ ;
.
ex:F1
  a sosa:FeatureOfInterest ;
  rdfs:comment "Room #1" ;
.
ex:F2
  a sosa:FeatureOfInterest ;
  rdfs:comment "Room #2" ;
.
ex:T56
  a sosa:Sensor ;
  rdfs:comment "Thermometer #56" ;
.
qk:Temperature
  a sosa:Property ;
.

8.8.3 Rule 3 — multiple property values on the collection

Where an individual Collection has more than one value for a property, each member (direct or transitive) MUST have a value for that property that matches one of the values for the property in the collection.

The collection specifies a multiple values for sosa:hasFeatureOfInterest. Each member has a value for sosa:hasFeatureOfInterest taken from this set of values.

@prefix ex: <https://example.org/sosa/collection-rule-3/> .
@prefix qk: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix time: <http://www.w3.org/2006/time#>.
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ex:oc3
  a sosa:ObservationCollection ;
  sosa:hasMember ex:a31 ;
  sosa:hasMember ex:a32 ;
  sosa:madeBySensor ex:T56 ;
  sosa:observedProperty qk:Temperature ;
  sosa:hasFeatureOfInterest ex:F1 , ex:F2 ;
  qudt:hasUnit unit:DEG_C ;
  rdfs:comment """
  The properties madeBySensor, observedProperty, and hasUnit are given for the collection. 
  The property hasFeatureOfInterest has multiple values.
  """ ;
.
ex:a31
  a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:F1 ;
  sosa:phenomenonTime [
    a time:Instant ;
    time:inXSDDateTime "2022-05-01T20:33:40+00:00"^^xsd:dateTime ;
  ] ;
  sosa:hasSimpleResult 24.1 ;
  rdfs:comment """
  The properties hasFeatureOfInterest, phenomenonTime, and hasSimpleResult are specific to this individual member
  The value of hasFeatureOfInterest matches one of the set of values for the collection.
  The properties madeBySensor, observedProperty, and hasUnit are inferred from the value for the collection.
  """ ;
.
ex:a32
  a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:F2 ;
  sosa:phenomenonTime [
    a time:Instant ;
    time:inXSDDateTime "2022-05-01T22:33:40+00:00"^^xsd:dateTime ;
  ] ;
  sosa:hasSimpleResult 27.3 ;
  rdfs:comment """
  The properties hasFeatureOfInterest, phenomenonTime, and hasSimpleResult are specific to this individual member
  The value of hasFeatureOfInterest matches one of the set of values for the collection.
  The properties madeBySensor, observedProperty, and hasUnit are inferred from the value for the collection.
  """ ;
.
ex:F1
  a sosa:FeatureOfInterest ;
  rdfs:comment "Room #1" ;
.
ex:F2
  a sosa:FeatureOfInterest ;
  rdfs:comment "Room #2" ;
.
ex:T56
  a sosa:Sensor ;
  rdfs:comment "Thermometer #56" ;
.
qk:Temperature
  a sosa:Property ;
.

8.8.4 Rule 4 — range property value on the collection

Where an individual Collection has a value for a property that is a range or interval, each member (direct or transitive) MUST have a value for that property that matches or falls within that range or interval.

The collection specifies a range of values for sosa:phenomenonTime. Each member has a value for sosa:phenomenonTime that falls within the range.

@prefix ex: <https://example.org/sosa/collection-rule-4/> .
@prefix qk: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix time: <http://www.w3.org/2006/time#>.
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ex:oc4
  a sosa:ObservationCollection ;
  sosa:hasMember ex:a41 ;
  sosa:hasMember ex:a42 ;
  sosa:madeBySensor ex:T56 ;
  sosa:observedProperty qk:Temperature ;
  sosa:phenomenonTime [
    a time:Interval ;
    time:hasBeginning [
      a time:Instant ;
      time:inXSDDateTime "2022-05-01T20:00:00+00:00"^^xsd:dateTime ;
    ] ;
    time:hasEnd [
      a time:Instant ;
      time:inXSDDateTime "2022-05-01T23:00:00+00:00"^^xsd:dateTime ;
    ] ;
  ] ;
  qudt:hasUnit unit:DEG_C ;
  rdfs:comment """
  The properties madeBySensor, observedProperty, and hasUnit are given for the collection. 
  The property phenomenonTime has value range.
  """ ;
.
ex:a41
  a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:F1 ;
  sosa:phenomenonTime [
    a time:Instant ;
    time:inXSDDateTime "2022-05-01T20:33:40+00:00"^^xsd:dateTime ;
  ] ;
  sosa:hasSimpleResult 24.1 ;
  rdfs:comment """
  The properties hasFeatureOfInterest, phenomenonTime, and hasSimpleResult are specific to this individual member
  The value of phenomenonTime falls within the value range for the collection.
  The properties madeBySensor, observedProperty, and hasUnit are inferred from the value for the collection.
  """ ;
.
ex:a42
  a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:F2 ;
  sosa:phenomenonTime [
    a time:Instant ;
    time:inXSDDateTime "2022-05-01T22:33:40+00:00"^^xsd:dateTime ;
  ] ;
  sosa:hasSimpleResult 27.3 ;
  rdfs:comment """
  The properties hasFeatureOfInterest, phenomenonTime, and hasSimpleResult are specific to this individual member
  The value of phenomenonTime falls within the value range for the collection.
  The properties madeBySensor, observedProperty, and hasUnit are inferred from the value for the collection.
  """ ;
.
ex:F1
  a sosa:FeatureOfInterest ;
  rdfs:comment "Room #1" ;
.
ex:F2
  a sosa:FeatureOfInterest ;
  rdfs:comment "Room #2" ;
.
ex:T56
  a sosa:Sensor ;
  rdfs:comment "Thermometer #56" ;
.
qk:Temperature
  a sosa:Property ;
.

8.8.5 Rule 5 — multiple ranges property value on the collection

Where an individual Collection has more than one value for a property that is a range or interval, each member (direct or transitive) MUST have a value for that property that matches or falls within one of those ranges or intervals.

The collection has two ranges of values for sosa:phenomenonTime. Each member has a value for sosa:phenomenonTime that falls within one of the ranges.

@prefix ex: <https://example.org/sosa/collection-rule-5/> .
@prefix qk: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix time: <http://www.w3.org/2006/time#>.
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ex:oc5
  a sosa:ObservationCollection ;
  sosa:hasMember ex:a51 ;
  sosa:hasMember ex:a52 ;
  sosa:madeBySensor ex:T56 ;
  sosa:observedProperty qk:Temperature ;
  sosa:phenomenonTime [
    a time:Interval ;
    time:hasBeginning [
      a time:Instant ;
      time:inXSDDateTime "2022-05-01T20:00:00+00:00"^^xsd:dateTime ;
    ] ;
    time:hasEnd [
      a time:Instant ;
      time:inXSDDateTime "2022-05-01T21:00:00+00:00"^^xsd:dateTime ;
    ] ;
  ] , [
    a time:Interval ;
    time:hasBeginning [
      a time:Instant ;
      time:inXSDDateTime "2022-05-01T22:00:00+00:00"^^xsd:dateTime ;
    ] ;
    time:hasEnd [
      a time:Instant ;
      time:inXSDDateTime "2022-05-01T23:00:00+00:00"^^xsd:dateTime ;
    ] ;
  ] ;
  qudt:hasUnit unit:DEG_C ;
  rdfs:comment """
  The properties madeBySensor, observedProperty, and hasUnit are given for the collection. 
  The property phenomenonTime has multiple value ranges.
  """ ;
.
ex:a51
  a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:F1 ;
  sosa:phenomenonTime [
    a time:Instant ;
    time:inXSDDateTime "2022-05-01T20:33:40+00:00"^^xsd:dateTime ;
  ] ;
  sosa:hasSimpleResult 24.1 ;
  rdfs:comment """
  The properties hasFeatureOfInterest, phenomenonTime, and hasSimpleResult are specific to this individual member
  The value of phenomenonTime falls within one of the value ranges for the collection.
  The properties madeBySensor, observedProperty, and hasUnit are inferred from the value for the collection.
  """ ;
.
ex:a52
  a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:F2 ;
  sosa:phenomenonTime [
    a time:Instant ;
    time:inXSDDateTime "2022-05-01T22:33:40+00:00"^^xsd:dateTime ;
  ] ;
  sosa:hasSimpleResult 27.3 ;
  rdfs:comment """
  The properties hasFeatureOfInterest, phenomenonTime, and hasSimpleResult are specific to this individual member
  The value of phenomenonTime falls within one of the value ranges for the collection.
  The properties madeBySensor, observedProperty, and hasUnit are inferred from the value for the collection.
  """ ;
.
ex:F1
  a sosa:FeatureOfInterest ;
  rdfs:comment "Room #1" ;
.
ex:F2
  a sosa:FeatureOfInterest ;
  rdfs:comment "Room #2" ;
.
ex:T56
  a sosa:Sensor ;
  rdfs:comment "Thermometer #56" ;
.
qk:Temperature
  a sosa:Property ;
.

8.9 Homogeneous collection of observations

A collection of observations may share a common value for one or more of the characteristic observation properties. For example:

These patterns can be accommodated with the class ObservationCollection individuals of which may hold one or more of the essential properties of an atomic observation, except for the result. Where present, the value of the property(s) of the collection are shared by all member observations. Of the essential properties of an observation, only the value of each actual hasResult is not potentially shared by all member observations, though at least one of the other properties would be expected to vary between members in a typical collection.

For example, Figure 40 describes a collection of remote sensing observations using the same sensor on different scenes, while Figure 41 is a series of the same scene on different days.

Collections of observations 3
Figure 40 A set of remote sensing observations of different scenes on the same day
Collections of observations 4
Figure 41 A series of remote sensing observations of the same scene on the different days

Collections may be nested. For example, an outer observation-collection might share the observed-property, procedure and sensor, and contain inner observation-collections at different phenomenon-times, each of which contain a set of observations on different features-of-interest (Figure 42).

Nested collections of observations 1
Figure 42 Example of a set of nested collections of four observations of the same property of two features-of-interest at two different times.

Observations can be factored into collections in more than one way, so more than one set of nested observation-collections can collect the same set of atomic results. For example, the same outer collection may contain inner collections concerning different features-of-interests, each containing a set of observations at different phenomenon-times (Figure 43).

Nested collections of observations 2
Figure 43 Alternative set of nested collections with the same results of the same property of two features-of-interest at two different times.

Effectively, the results of each observation-collection correspond to a slice in a data-cube which is composed of the results of the complete set of observations.

Note

This feature might also apply to collections of Actuations but this application has not yet been explored.

8.10 Planning executions and collections

Assets (Systems or Platforms) may be deployed with the intention of making Executions (Actuations, Observations, or Sampling) at some future time. Collections of Samples or Executions can be described ahead of their completion, to indicate the intention to make collections with the given properties at a future date. Here we describe patterns that may be used in this way.

8.10.1 Planned System Deployment

A specific sosa:System (sosa:Actuator, sosa:Sensor, sosa:Sampler) can be planned to be attached to a sosa:Platform as part of a sosa:Deployment during a nominated time interval.

For example, Figure 44 describes the deployment of a specific sosa:Sampler (ex:SA56) on a specified sosa:Platform (ex:LOIRE_A_JARGEAU_WQ_Station) on the Loire River between 2026 and 2028. This Sampler implements a nominated sosa:SamplingProcedure. It may be associated with a potential set of Samples, packaged in an empty sosa:SampleCollection (ex:SC-LaJ1).

The resulting SampleCollection has no members prior to the deployment, but can be characterized prospectively in terms of the SamplingProcedure and Platform (station) used.

Figure 44 Deployment of a Sampler. ex:SC-LaJ1 denotes the set of Samples that will be the result of this deployment.
Explanation of the notation used in class diagrams.
@prefix ex: <https://example.org/data/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix sosa: <http://www.w3.org/ns/sosa/> .

ex:SamDepG a sosa:Deployment ;
    sosa:hasFeatureOfInterest ex:Loire_River ;
    sosa:deployedOnPlatform ex:LOIRE_A_JARGEAU_WQ_Station ; 
    sosa:deployedSystem ex:SA56 ;
    sosa:startTime "2026-05-01T00:00:00"^^xsd:dateTime ; 
    sosa:endTime "2028-04-30T23:59:00"^^xsd:dateTime ;
.
ex:Loire_River
    a sosa:FeatureOfInterest ;  
.
ex:LOIRE_A_JARGEAU_WQ_Station 
    a sosa:Platform ;  
. 
ex:SA56 
    a sosa:Sampler ;
    sosa:implements ex:Sp-A56 ;
    sosa:isHostedBy ex:LOIRE_A_JARGEAU_WQ_Station ;
    sosa:madeSamplingHasResult ex:SC-LaJ1 ;
.
ex:Sp-A56 
    a sosa:SamplingProcedure ;
. 
ex:SC-LaJ1
    a sosa:SampleCollection ;
.

8.10.2 Planned Collection using generic system

More generically, a Collection (i.e., sosa:ActuationCollection, sosa:ObservationCollection, sosa:SamplingCollection, or sosa:SampleCollection) can be described which is made by a potential deployment, where the actual system is only specified in terms of the Procedure implemented.

For example, Figure 45 describes a potential set of samples (ex:SC-LaJ2) of the Loire River, packaged in a sosa:SampleCollection, collected from a specified sosa:Platform, using a given sosa:SamplingProcedure (ex:Sp-A56). The actual sosa:Sampler is not specified, only that it must implement the nominated SamplingProcedure, and be deployed at the nominated station.

Figure 45 A planned SampleCollection. _:b1 is a "blank node" denoting some Sampler that implements ex:Sp-A56 and is deployed on ex:LOIRE_A_JARGEAU_WQ_Station.
Explanation of the notation used in class diagrams.
@prefix ex: <https://example.org/data/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .

ex:SC-LaJ2 a sosa:SampleCollection ;
    sosa:isSampleOf ex:Loire_River ;  
    sosa:isResultOfMadeBySampler [
        a sosa:Sampler ;  
        sosa:implements ex:Sp-A56 ; 
        sosa:isHostedBy ex:LOIRE_A_JARGEAU_WQ_Station ;
    ] ;
    sosa:isResultOfUsedProcedure ex:Sp-A56 ;
.
ex:Loire_River
    a sosa:FeatureOfInterest ;  
.
ex:Sp-A56 
    a sosa:SamplingProcedure ;
. 
ex:LOIRE_A_JARGEAU_WQ_Station 
    a sosa:Platform ;  
.

Then Figure 46 describes a potential set of observations of pH (ex:ObsColpH), packaged in a sosa:ObservationCollection, whose (proximate) feature of interest is the set of Samples described above (ex:SC-LaJ2). Each member of the sosa:ObservationCollectionmust be consistent with the requirements for membership of an ObservationCollection - i.e., be sampled on the specified sosa:Platform using the nominated sosa:ObservingProcedure (ex:pH-A56), and whose sosa:hasFeatureOfInterest must be a member of the set of Samples (ex:SC-LaJ2). Again, the actual System (sosa:Sensor) is not specified, only that it must implement the nominated ObservingProcedure.

It is not specified that the observations are made at any particular time or place, so might be ex-situ.

Figure 46 A planned ObservationCollection. _:b3 is a "blank node" denoting a sosa:Sensor that is implied by the presence of the sosa:usedProcedure value.
Explanation of the notation used in class diagrams.
@prefix ex: <https://example.org/data/> .
@prefix qk: <http://qudt.org/vocab/quantitykind/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix sosa: <http://www.w3.org/ns/sosa/> .

ex:ObsColpH a sosa:ObservationCollection ;
    sosa:hasUltimateFeatureOfInterest ex:Loire_River ; 
    sosa:observedProperty qk:PH ;
    sosa:usedProcedure ex:pH-A56 ;
    sosa:hasFeatureOfInterest ex:SC-LaJ2 ;
.
ex:Loire_River
    a sosa:FeatureOfInterest ;  
.
qk:PH 
    a sosa:Property ;
. 
ex:pH-A56 
    a sosa:ObservingProcedure ;
.
ex:SC-LaJ2 
    a sosa:SampleCollection ;
    rdfs:comment "described above" ;    
.

8.11 Property definitions

The SSN Ontology does not provide a general pattern for describing observable or actuatable properties.

8.11.1 Catalogues of properties

A number of existing catalogues of properties are available, such as:

Each of these uses a distinct ontology — or way of formalizing the definition of a property — suitable for many applications.

8.11.2 New property definitions

Alternatively, the Parameter Usage Vocabulary or I-ADOPT may be used to define a new observable or actuatable property. For example, using the I-ADOPT terminology, the property Temperature may be specialized to apply to a sick child as follows:

Figure 47 Definition of a constrained temperature property for a sick child, using the I-ADOPT vocabulary.
Explanation of the notation used in class diagrams.
@prefix ex: <https://example.org/data/> .
@prefix iop: <https://w3id.org/iadopt/ont/> .
@prefix qk: <http://qudt.org/vocab/quantitykind/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .

ex:SickChildTemperature 
  a iop:Variable , sosa:Property;
  iop:hasProperty qk:Temperature ;
  iop:hasObjectOfInterest ex:Child ;
  iop:hasConstraint [ 
    a iop:Constraint, ex:Sick ;
    iop:constrains ex:Child ] ;
    skos:prefLabel "sick child" ;
.
qk:Temperature
  a iop:Property , sosa:Property ;
  skos:prefLabel "Temperature"@en ;
.
ex:Child skos:exactMatch <http://hadatac.org/ont/chear#Child> .
ex:Sick skos:exactMatch <http://semanticscience.org/resource/SIO_000954> .

<http://hadatac.org/ont/chear#Child>
  a iop:Entity ;
  skos:prefLabel "Child"@en ;
.
<http://semanticscience.org/resource/SIO_000954>
  skos:prefLabel "Sick"@en , "Krank"@de ; 
  skos:altLabel "Unwell"@en , "Poorly"@en ;
.

The key point is that an individual property, whether taken from a catalogue or defined using a specialist vocabaulary, is denoted by a URI. This URI can then be used as the value of the sosa:actsOnProperty or sosa:observedProperty of an Execution.

8.11.3 Feature-specific properties

Most commonly an instance of sosa:Property is generic to many features of interest (e.g., ex:Temperature, ex:Concentration, or ex:OnOffStatus). These shared properties are then used across executions. For instance, thousands of observations about CO2 concentrations all share the same ex:Concentration property, thereby ensuring scalability, indexing, interoperability, reuse, and a concise semantics. Similarly, one could define ex:CO2Concentration as a sub-property of ex:Concentration using a single axiom. This new property (and resulting hierarchy) can then be used to distinguish CO2 concentration observations from more general concentration observations without giving up on their commonality with other types of concentration observations. This improves structure and retrieval. The catalogs listed above support this usage.

Alternatively, an individual property may be made specific to an individual feature of interest using sosa:isPropertyOf (e.g., ex:SickChildATemperature, ex:Room34LightStatus). Such specific properties of individual features would not usually appear in a catalogue of reusable properties and can potentially lead to reduced reuse and performance (due to data size and indexing). However, this pattern has proven useful in some applications. In that context, a key requirement is to relate the specific property to the general case for the underlying quantity-kind and -dimension.

The [SAREF] ontologies address this requirement with separate classes: saref:Property for the general case, and saref:PropertyOfInterest for the case where a property is bound to a single feature of interest. An instance of the latter may be connected to an instance of the former using the predicate saref:hasPropertyKind, as shown in the following example:.

@prefix ex: <https://example.org/data/> .
@prefix qk: <http://qudt.org/vocab/quantitykind/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix saref: <https://saref.etsi.org/core/> .

qk:Temperature
  a saref:Property ;
.
ex:SickChildA
  a saref:FeatureOfInterest ;
.
ex:SickChildATemperature
  a saref:PropertyOfInterest ;
  saref:hasPropertyKind qk:Temperature ;
  saref:isPropertyOfInterestOf ex:SickChildA ;
.

[SAREF] is closely aligned with SSN as documented in the alignments chapter so this may be used in SSN applications.

Note

Where a property is defined as applying to a specific feature of interest, it cannot be used for an observation concerning any other feature of interest.

Note

Where sosa:actsOnProperty or sosa:observedProperty of an sosa:Actuation or sosa:Observation refers to a specific property bound to a specific feature of interest, then the sosa:hasFeatureOfInterest is implied and may be omitted in the data.

8.12 Complex devices

Sensors and actuators may be packaged with other sensors and actuators in a complex device. For example, the consumer grade Inkbird IBS-TH2-PLUS has a temperature and relative-humidity sensor in a single package. The sosa:System class provides for this using the sosa:hasSubSystem property.

Figure 48 shows how an instance and type of the IBS-TH2-PLUS may be modeled as a complex sensor.

Figure 48 Inkbird model IBS-TH2-PLUS temperature and humidity sensor package, with the individual sensors represented as instances of sub-classes of sosa:Sensor, and the overall package represented as an instance of a sub-classs of sosa:System.
Explanation of the notation used in class diagrams.

The following code snippet provides an outline of the details:

@prefix ex: <https://example.org/data/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix qk: <http://qudt.org/vocab/quantitykind/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sensor: <https://example.org/sensor/> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@base <https://example.org/data/TH2-PLUS-b/> .

sensor:IBS-TH2-Plus a owl:Class ;
  rdfs:subClassOf sosa:System ;
  prov:wasDerivedFrom <https://inkbird.com/products/ibs-th2-plus> ;
  rdfs:label "IBS-TH2 PLUS Temperature and Humidity Sensor System" ;
.
sensor:IBS-TH2-Plus-H a owl:Class ;
  rdfs:subClassOf sosa:Sensor ;
  rdfs:label "IBS-TH2 PLUS Humidity Sensor type" ;
.
sensor:IBS-TH2-Plus-T a owl:Class ;
  rdfs:subClassOf sosa:Sensor ;
  rdfs:label "IBS-TH2 PLUS Temperature Sensor type" ;
.
ex:12gth456a-23190 a sensor:IBS-TH2-Plus ; 
  sosa:hasSubSystem ex:12gth456a-23190-H ;
  sosa:hasSubSystem ex:12gth456a-23190-T ;
. 
ex:12gth456a-23190-H a sensor:IBS-TH2-Plus-H ; 
  sosa:observes qk:RelativeHumidity ;
. 
ex:12gth456a-23190-T a sensor:IBS-TH2-Plus-T ; 
  sosa:observes qk:Temperature ;
.

8.13 Systems Types and Individuals

sosa:System is the class of systems, i.e., devices or entities that implements procedures to make actuations, observations, or samplings. Members of the class are individual systems i.e., system-instances. In the physical world these will typically carry a serial-number (devices) or proper-name (people).

Nevertheless, most individual systems share a primary description with other individuals of the same system type or model number. The characteristics and capabilities of the system type will often provide the key information about a system involved in an execution. Traditionally this information would appear in a specification or data-sheet for a device type.

The SSN Ontology may be used to describe system types as OWL Classes, so that system instances can be typed through them. The recommended pattern is for

Figure 49 illustrates an example of a sensor type and instance modeled this way.

Figure 49 Mum's clinical thermometer represented as an instance of a specific sensor type.
Explanation of the notation used in class diagrams.

The following code snippet provides an outline of the details:

@prefix cdt: <http://w3id.org/lindt/custom_datatypes#> .
@prefix ex: <https://example.org/data/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix qk: <http://qudt.org/vocab/quantitykind/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sensor: <https://example.org/sensor/> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .

qk:Temperature
  a sosa:Property ;
.
sensor:TemperatureSensor
  a owl:Class ;
  rdfs:label "A generic temperature sensor" ;
  rdfs:subClassOf sosa:Sensor ;
  rdfs:subClassOf [
      a owl:Restriction ;
      owl:hasValue qk:Temperature ;
      owl:onProperty sosa:observes ;
    ] ;
.
sensor:Mercury-in-glass-thermometer
  a owl:Class ;
  rdfs:label "Mercury in glass thermometer" ;
  rdfs:comment "Temperature sensor based on the expansion of a column of mercury inside a glass tube" ;
  rdfs:subClassOf sensor:TemperatureSensor ;
.
ex:Mums-clinical-thermometer
  a sosa:Sensor ;
  a sensor:TemperatureSensor ;
  a sensor:Mercury-in-glass-thermometer ;
.
ex:SickChildA
  a sosa:FeatureOfInterest ;
.
ex:SickChildATempObs
  a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:SickChildA ;
  sosa:hasSimpleResult "38.2 Cel"^^cdt:ucum ;
  sosa:madeBySensor ex:Mums-clinical-thermometer ;
  sosa:observedProperty qk:Temperature ;
.
Note

This approach is a clarification and adjustment relative to earlier editions of this Ontology, which suggested that instances of sosa:System could represent either generic systems or instances specific to a single execution.

More complex systems can be described using class definitions with OWL Restrictions to fix specific properties of class members. For example, the following code illustrates how a sensor package, such as an Inkbird model IBS-TH2-PLUS, may be described.

@prefix cdt: <http://w3id.org/lindt/custom_datatypes#> .
@prefix ex: <https://example.org/data/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix qk: <http://qudt.org/vocab/quantitykind/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sensor: <https://example.org/sensor/> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix sosa-cap: <http://www.w3.org/ns/sosa/system-capability-properties#> .
@base <https://example.org/data/TH2-PLUS/> .

sensor:IBS-TH2-Plus
  a owl:Class ;
  rdfs:label "IBS-TH2 PLUS Temperature and Humidity Sensor System" ;
  rdfs:subClassOf sosa:System ;
  rdfs:subClassOf [
      a owl:Restriction ;
      owl:hasValue sensor:IBS-TH2-Plus-systemCapability ;
      owl:onProperty sosa:hasSystemCapability ;
    ] ;
  rdfs:subClassOf [
      a owl:Restriction ;
      owl:onProperty sosa:hasSubSystem ;
      owl:someValuesFrom sensor:IBS-TH2-Plus-H ;
    ] ;
  rdfs:subClassOf [
      a owl:Restriction ;
      owl:onProperty sosa:hasSubSystem ;
      owl:someValuesFrom sensor:IBS-TH2-Plus-T ;
    ] ;
  prov:wasDerivedFrom <https://inkbird.com/products/ibs-th2-plus> ;
.
sensor:IBS-TH2-Plus-systemCapability a sosa:ObservationCollection ;
  sosa:hasMember [
      a sosa:Observation ;
      sosa:observedProperty sosa-cap:MaxFrequency ;
      sosa:hasSimpleResult "0.1 Hz"^^cdt:ucum ;
  ] ,
  [
      a sosa:Observation ;
      sosa:observedProperty sosa-cap:MinFrequency ;
      sosa:hasSimpleResult "5.556e-4 Hz"^^cdt:ucum ;
  ]
.
sensor:IBS-TH2-Plus-H
  a owl:Class ;
  rdfs:label "IBS-TH2 PLUS Humidity Sensor type" ;
  rdfs:subClassOf sosa:Sensor ;
  rdfs:subClassOf [
      a owl:Restriction ;
      owl:hasValue qk:RelativeHumidity ;
      owl:onProperty sosa:observes ;
    ] ;
  rdfs:subClassOf [
      a owl:Restriction ;
      owl:hasValue sensor:IBS-TH2-Plus-H-systemCapability ;
      owl:onProperty sosa:hasSystemCapability ;
    ] ;
.
sensor:IBS-TH2-Plus-T
  a owl:Class ;
  rdfs:label "IBS-TH2 PLUS Temperature Sensor type" ;
  rdfs:subClassOf sosa:Sensor ;
  rdfs:subClassOf [
      a owl:Restriction ;
      owl:hasValue qk:Temperature ;
      owl:onProperty sosa:observes ;
    ] ;
  rdfs:subClassOf [
      a owl:Restriction ;
      owl:hasValue sensor:IBS-TH2-Plus-T-systemCapability ;
      owl:onProperty sosa:hasSystemCapability ;
    ] ;
.
sensor:IBS-TH2-Plus-H-systemCapability a sosa:ObservationCollection ;
  sosa:hasMember [
      a sosa:Observation ;
      sosa:observedProperty sosa-cap:HumidityAccuracy ;
      sosa:hasSimpleResult "4.5 %"^^cdt:ucum ;
  ] ,
  [
      a sosa:Observation ;
      sosa:observedProperty sosa-cap:MaxMeasurableHumidity ;
      sosa:hasSimpleResult "99.0 %"^^cdt:ucum ;
  ] ,
  [
      a sosa:Observation ;
      sosa:observedProperty sosa-cap:MinMeasurableHumidity ;
      sosa:hasSimpleResult "0.0 %"^^cdt:ucum ;
  ]
.
sensor:IBS-TH2-Plus-T-systemCapability a sosa:ObservationCollection ;
  sosa:hasMember [
      a sosa:Observation ;
      sosa:observedProperty sosa-cap:TemperatureAccuracy ;
      sosa:hasSimpleResult "0.5 Cel"^^cdt:ucum ;
  ] ,
  [
      a sosa:Observation ;
      sosa:observedProperty sosa-cap:MaxMeasurableTemperature ;
      sosa:hasSimpleResult "60.0 Cel"^^cdt:ucum ;
  ] ,
  [
      a sosa:Observation ;
      sosa:observedProperty sosa-cap:MinMeasurableTemperature ;
      sosa:hasSimpleResult "-40.0 Cel"^^cdt:ucum ;
  ]
.

A. Wide review

This section is non-normative.

TBC

B. Tabulation of properties and their inverses

This section is non-normative.

Inverses are named for all SSN object properties, in order to support interoperability across a range of applications.

Note

Terms added in the 2023 Edition are indicated with an asterisk*.

Note

This section uses a combination of [Description-Logics] notation (see also the [Description-Logics-Home-Page]) and the Manchester Syntax [owl2-manchester-syntax].
The expression OP1 ≡ inverse OP2 indicates that the properties OP1 and OP2 are inverses of each other.

The following properties are datatype properties, and have therefore no inverses.

C. Extended Examples

This section is non-normative.

A set of extended examples of instances using the SSN ontology are available in the examples folder.

D. Origins of SSN and SOSA

This section is non-normative.

D.1 OGC Sensor Web Enablement

Starting in 2002, the OGC's Sensor Web Enablement initiative [SWE] developed a generic framework for delivering sensor data, dealing with remote-sensing, moving platforms, and in-situ monitoring and sensing. In particular, the key standards SensorML and O&M provided complementary viewpoints:

  1. SensorML [SensorML] is 'provider-centric' and encodes details of the sensor along with raw observation data
  2. Observations and Measurements (O&M) [OandM] [iso-19156-2011] was designed to be more 'user-centric', with the target of the observation and the observed property as first-class objects.

O&M also provided a model for sampling, since almost all scientific observations are made on a subset of, or proxy for, the ultimate feature of interest.

D.2 W3C Semantic Sensor Network Incubator

The initial Semantic Sensor Network ontology — now known as SSNX [SSNX] — was developed by the W3C Semantic Sensor Network Incubator Group. SSNX was influenced by SWE, but was primarily built around the Stimulus Sensor Observation (SSO) ontology design pattern ([SSO-Pattern], [SSNX-Paper]). The SSO was also aligned to the Dolce-Ultralite upper ontology [DUL].

D.3 SSN Ontology, including SOSA

The SSN Ontology [vocab-ssn-20171019] combined key elements of SWE and SSNX, and added Actuation and Sampling as additional procedure execution types. The core classes and properties comprised the Sensor, Observation, Sample, and Actuator (SOSA) module. SOSA acts as the central building block for the SSN and is packaged with very lightweight axiomatization so as to support use by web-developers.

For details on the design philosophy and decisions around the SSN Ontology, please consult chapter "3. Origins of SSN and SOSA" in Semantic Sensor Network Ontology.

D.4 New editions

Following experience with O&M since its publication as an ISO and OGC standard in 2011 [OandM] [iso-19156-2011], a revised edition Observations, Measurements and Samples (OMS) was developed and published in 2023 [OMS] [iso-19156-2023]. The new edition notably incorporated the Sampling class from SSN, as well as some features which had been proposed in Extensions to the SSN [vocab-ssn-ext], in particular the notion of ultimate feature of interest, as well as Sample and Observation collections. Section 7 of [OMS] provides a comprehensive description of the characteristics of observations and samples.

Note

OMS was published as ISO 19156:2023 [iso-19156-2023], but is freely available as OGC Abstract Specification — Topic 20 [OMS].

Production of this new edition of the SSN Ontology has been primarily driven by a desire to align with OMS. SSN provides the official RDF implementation of OMS, as described in the OMS Extension Module. In addition, developments in Internet of Things implementations, in particular [SAREF], [STA] and the OGC Connected Systems project have contributed some ideas particularly around actuation. Finally, direct experience with SSN has uncovered a variety of more minor issues that have been addressed or accommodated.

E. System Capabilities Module

This section is non-normative.

The System Capabilities Module imports SOSA and adds classes and properties required for the description of the operating conditions and capabilities of systems, in particular Sensors and Actuators.

The complexity of the SSN/SOSA ontologies is directly due to the complexity of the use-cases that they are meant to support. Previous standards and data formats have been limited by the constraints of their underlying technologies often resulting in solutions that were simple to implement but that could only handle real-life exceptions through the use of workarounds. The use of "fill values" or "magic numbers" were a simple and common solution to data quality requirements or to indicate equipment failure. Unfortunately, these could later be inadvertently analyzed as actual instrument readings.

The richness of RDF/S and ontological approaches offer opportunities for the rich and deep recording of system information and results. This perversely creates a new problem in that the ability to handle complexity can make implementation difficult and costly for implementers that are simply trying determine whether their ice cream is about to melt. The very richness of the semantic web ecosystem also makes it tempting to over-specify data structures to an extents that it becomes inflexible.

The authors often wrestled with these issues when designing this standard and attempting to support the complexity of real-life deployments: data quality constraints must ensure that the data is sensical while making allowanced for the storage of out-of-bounds values that may indicate a problem with a deployed sensor.

The System Capabilities module has been downsized in this edition and its vocabulary extensively reworked with a number of classes deleted in favor of external vocabularies and property repositories. The module further suffered from under specification and lacked documentation over its intended use.

The usage of observations and observation collections has been expanded to capabilities and conditions through the enumeration of values and constraints on those values without assigning a reporting sensor or timestamp. This allows to reuse the same structure to report on sensor behavior.

This edition has also removed the notion of "Ranges" within its vocabulary due to the absence of an appropriate datatype or vocabulary to describe numerical ranges. xsd:minInclusive/xsd:maxInclusive are part of OWL reserved vocabulary, and schema:minValue/schema:maxValue created additional problems relating to the property of the feature. Instead, this edition recommends the specification of individual, simple properties such as MinMeasurableTemperature and MaxMeasurableTemperature. Apart from hasValidityContext, this edition does not provide means to relate properties or describe them further. External ontologies are expected to be complementary to this module, such as the I-ADOPT Framework ontology, and the Ontology of Units of Measure.

The namespace for the System Capabilities Module is http://www.w3.org/ns/sosa/.

The suggested prefix for the System Capabilities Module namespace is sosa.

The RDF graph containing the definitions from the System Capabilities Module is available at http://www.w3.org/ns/sosa/systems/.

Note

System Capabilities was a module in the 'Horizontal Segmentation' section of the previous edition of the SSN Ontology [vocab-ssn-20171019]. This module has been heavily simplified and moved to Appendix in this edition.

E.1 Overview

This section is non-normative.

The System Capabilities Module comprises of two primary concepts: the system's capability to sense and the conditions under which it can do so. Both concepts are closely related and are often described as one and the same in industrial literature. The System Capabilities describes the properties of the measurement being performed by the system while the Operating Conditions describe the potentials environments in which the system is deployed. This separation is needed in order to account for the variability in the performance of the system under different environmental or operating parameters. Furthermore:

This information allows designers to communicate complex operating behavior to the consumer of the system results and to simplify procurement and system deployment decision by enabling searches for systems capable of fulfilling a specific requirement.

The reporting of operating conditions and capabilities is done through observation collections that aggregate observations. Each observation gives a value for a system or environment property. The information is typically provided by a system vendor, and in this context sensor, procedure, and timestamp are generally not reported.

Reuse of sosa:Observation in this way ensures consistency in reporting values across the ontology, which is particularly helpful when the same observation can be used for reporting both a capability and operating condition. Note that this is application dependent, and nuances may prevent reuse: for example, a thermometer's capability is based on its ability to measure a medium while its survival conditions are based on its own physical temperature.

Figure 50 Classes and relationships involved in the description of the operating conditions and capabilities of a system. In this diagram, unqualified names refer to classes and properties in the sosa: namespace.
Explanation of the notation used in class diagrams.

E.1.1 Operating Conditions

This section is non-normative.

A system is linked to its operating conditions through property hasOperatingConditions. The operating conditions themselves are modelled as observations or observation collections, typically about the system environment. Furthermore, operating conditions can be typed by one of the sub-classes of OperatingConditions so as to explicit the desirability of the conditions. Three such sub-classes are provided as a basic classification: NormalOperatingConditions, SuboptimalOperatingConditions, and SurvivableConditions.

Note

For illustration purposes, this specification includes a sample vocabulary consisting of a short list of properties about the system environment.

It is possible with additional ontological statements to create conditions that are "latching", as in the case of damaged sensors with permanently degraded operating characteristics. It is also possible to describe operating modes of systems using all the expressivity of observations and observation collections. Implementers may define additional sub-classes of OperatingConditions to account for such use cases.

Figure 51 Classes and relationships involved in the description of the operating conditions of a system (typically an observation collection about the system environment).
In this diagram, unqualified names refer to classes and properties in the sosa: namespace.
Explanation of the notation used in class diagrams.
Note

The feature of interest of the operating conditions may be the system itself, but this is not mandatory.
The sensor that made the observations can be left unspecified.

The following example describes that sensor ex:InkBird-IBS-TH2-0354313547 can survive from -273.0 °C to 80.0 °C.

@prefix ex: <https://example.org/data/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix sosa-env: <http://www.w3.org/ns/sosa/system-environment-properties#> .

ex:InkBird-IBS-TH2 a owl:Class;
    rdfs:label "Inkbird IBS-TH2"@en ;
.

ex:InkBird-IBS-TH2-0354313547 a ex:InkBird-IBS-TH2 ;
    rdfs:label "Inkbird IBS-TH2 instance 0354313547"@en ;
    sosa:hasOperatingConditions ex:IBSTH2SurvivalRange ;
.

ex:IBSTH2SurvivalRange a sosa:ObservationCollection , sosa:SurvivableConditions ;
    rdfs:label "Inkbird IBS-TH2 Failiure limits"@en ;
    sosa:hasMember [
      sosa:observedProperty sosa-env:MinAmbientTemperature ;
      sosa:hasResult [ 
        qudt:value -273.0 ;
        qudt:hasUnit unit:DEG_C ;
      ] ;
    ] , [
      sosa:observedProperty sosa-env:MaxAmbientTemperature ;
      sosa:hasResult [ 
        qudt:value 80.0 ;
        qudt:hasUnit unit:DEG_C ;
      ] ;
    ]
.

E.1.2 System Capabilities

This section is non-normative.

A system is linked to its capabilities through property hasSystemCapability. The system capabilities themselves are modelled as observations or observation collections, that have for observed property a property that qualifies some capability of the system.

Note

For illustration purposes, this specification includes a sample vocabulary consisting of a short list of properties about system capabilities.

Optionally, system capabilities may be linked through property hasValidityContext to some observations or observation collections that model the context under which the system capabilities are valid. These observations are typically about the system environment. Validity contexts are especially useful to describe performance bands of systems. Examples include environmental sensors that present different measurement accuracies in certain concentration ranges or that offer detection-only capabilities at very low concentrations.

Note

For illustration purposes, this specification includes a sample vocabulary consisting of a short list of properties about the system environment.

System Capabilities are properties that are relevant while the system is in operation. Operating Conditions may be relevant irrespective of the operating state; a sensor that exceeds its SurvivableConditions will be rendered inoperable irrespective of whether it was powered on or off at the time, as in the case of a deep water sensor reaching its crush-depth.

Figure 52 Detailed classes and relationships involved in the description of the context (typically an observation collection about the system environment) under which an observation (typically about the system capabilities) is valid.
In this diagram, unqualified names refer to classes and properties in the sosa: namespace.
Explanation of the notation used in class diagrams.
Warning

The axiomatization of property hasSystemCapability enforces that the feature of interest of the system capability is the system itself.

The following example describes the system capabilities of sensor ex:IBS-TH2-Plus-T-687343 in terms of its accuracy and measurable temperature range, valid from 0.0 to 99.0 %R.H.

@prefix cdt: <http://w3id.org/lindt/custom_datatypes#> .
@prefix ex: <https://example.org/data/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix qudt: <http://qudt.org/schema/qudt/>.
@prefix unit: <http://qudt.org/vocab/unit/>.
@prefix qk: <http://qudt.org/vocab/quantitykind/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sensor: <https://example.org/sensor/> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix sosa-cap: <http://www.w3.org/ns/sosa/system-capability-properties#> .
@prefix sosa-env: <http://www.w3.org/ns/sosa/system-environment-properties#> .
@base <https://example.org/data/TH2-PLUS/> .

sensor:IBS-TH2-Plus-T a owl:Class ;
  rdfs:label "IBS-TH2 PLUS Temperature Sensor type" ;
  rdfs:subClassOf sosa:Sensor ;
.
ex:IBS-TH2-Plus-T-687343 a sensor:IBS-TH2-Plus-T ;
  rdfs:label "IBS-TH2 PLUS Temperature Sensor instance 687343" ;
  sosa:observes qk:Temperature ;
  sosa:hasSystemCapability sensor:IBS-TH2-Plus-T-systemCapability ;
.
sensor:IBS-TH2-Plus-T-systemCapability a sosa:ObservationCollection ;
  sosa:hasMember [
      a sosa:Observation ;
      sosa:observedProperty sosa-cap:TemperatureAccuracy ;
      sosa:hasResult [ 
        qudt:value 0.5 ;
        qudt:hasUnit unit:DEG_C ;
      ] ;
  ] ,
  [
      a sosa:Observation ;
      sosa:observedProperty sosa-cap:MaxMeasurableTemperature ;
      sosa:hasResult [ 
        qudt:value 60.0 ;
        qudt:hasUnit unit:DEG_C ;
      ] ;
  ] ,
  [
      a sosa:Observation ;
      sosa:observedProperty sosa-cap:MinMeasurableTemperature ;
      sosa:hasResult [ 
        qudt:value -40.0 ;
        qudt:hasUnit unit:DEG_C ;
      ] ;
  ] ;
  sosa:hasValidityContext sensor:IBS-TH2-Plus-T-normalHumidityConditions ;
.
sensor:IBS-TH2-Plus-T-normalHumidityConditions a sosa:Observation ;
  sosa:hasMember [
      a sosa:Observation ;
      sosa:observedProperty sosa-env:MinAmbientRelativeHumidity ;
      sosa:hasResult [ 
        qudt:value 0.0 ;
        qudt:hasUnit unit:PERCENT ;
      ] ;
  ] ,
  [
      a sosa:Observation ;
      sosa:observedProperty sosa-env:MaxAmbientRelativeHumidity ;
      sosa:hasResult [ 
        qudt:value 99.0 ;
        qudt:hasUnit unit:PERCENT ;
      ] ;
  ] .

E.1.3 Property Validity Context

This section is non-normative.

The object property hasValidityContext may be used to qualify the context in which a SOSA Property is valid. This context is modelled as individual observations or as grouped observation collections. When the qualified Property represents a system capability, the observed properties in the validity context typically refer to aspects of the system's operating environment. For example, water heaters are characterized by nominal power and efficiency values under specified inlet and outlet temperatures and flow rates, and their energy consumption at steady temperature is typically expressed in kWh/24h in the context where the water temperature is maintained at 65 °C.

Figure 53 Detailed classes and relationships involved in the description of the context (typically an observation collection about the system environment) in which a property (typically about the system capabilities) is valid.
In this diagram, unqualified names refer to classes and properties in the sosa: namespace.
Explanation of the notation used in class diagrams.
Note

Beyond the scope of the System Capabilities module, Properties may also be further described with validity contexts. For example standard meteorological practice defines reference measurement heights, such as 10 m for wind and 2 m for air temperature.

The following example describes the humidity accuracy property ex:IBSTH2HumidityAccuracy, valid at certain temperatures and relative humidities.

@prefix ex: <https://example.org/data/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix sosa-env: <http://www.w3.org/ns/sosa/system-environment-properties#> .

ex:IBSTH2HumidityAccuracy a sosa:Property ;
    rdfs:label "Humidity Accuracy (25°C/77°C, 20%~80%RH)"@en ;
    sosa:hasValidityContext [ 
      a sosa:ObservationCollection ;
      sosa:hasMember [
        sosa:observedProperty sosa-env:AmbientTemperature ;
        sosa:hasResult [ 
          qudt:value 25.0 ;
          qudt:hasUnit unit:DEG_C ;
        ] ;
      ] , [
        sosa:observedProperty sosa-env:MinAmbientRelativeHumidity ;
        sosa:hasResult [ 
          qudt:value 20.0 ;
          qudt:hasUnit unit:PERCENT ;
        ] ;
      ] , [
        sosa:observedProperty sosa-env:MaxAmbientRelativeHumidity ;
        sosa:hasResult [ 
          qudt:value 80.0 ;
          qudt:hasUnit unit:PERCENT ;
        ] ;
      ]
    ]
.

E.1.4 Guidance on System Capability properties and ranges

The following example demonstrates a possible solution for describing sensor reading limitations using other ontologies such as I-ADOPT:

@prefix ex:   <http://example.org/>.
@prefix sosa: <https://www.w3.org/TR/vocab-ssn/>.
@prefix xsd:  <http://www.w3.org/2001/XMLSchema#>.
@prefix qudt: <http://qudt.org/schema/qudt/>.
@prefix unit: <http://qudt.org/vocab/unit/>.
@prefix iop:  <https://w3id.org/iadopt/ont/>.
@prefix uom:  <http://www.opengis.net/def/uom/OGC/1.0/>.

ex:SensorCapabilityObservation a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:Sensor ;
  sosa:observedProperty ex:SensorMinimumLimit;
  sosa:hasResult [ 
    qudt:value -40.0 ;
    qudt:hasUnit unit:DEG_C ;
  ] ;
.

ex:SensorMinimumLimit a iop:Variable, sosa:Property;
  iop:hasStatisticalModifier uom:minimum ;
  iop:hasObjectOfInterest ex:air ;
  iop:hasProperty qudt:Temperature ;
.

The advantage of this approach is that multiple statistical statements can be made about the property beyond that of simple maximum / minimum values, such as nominal or peak values.

The Observation structure can similarly be used to report on the quality of individual results using the Data Quality Vocabulary. In some applications, the properties of individual measurements vary within the operating conditions of the sensor. The values of these properties can then be reported alongside the individual result entries.

@prefix ex:   <http://example.org/>.
@prefix sosa: <https://www.w3.org/TR/vocab-ssn/>.
@prefix xsd:  <http://www.w3.org/2001/XMLSchema#>.
@prefix qudt: <http://qudt.org/schema/qudt/>.
@prefix unit: <http://qudt.org/vocab/unit/>.
@prefix sosa-cap: <http://www.w3.org/ns/sosa/system-capability-properties#> .
@prefix sosa-env: <http://www.w3.org/ns/sosa/system-environment-properties#> .

ex:observation_233 a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:TheAir;
  sosa:observedProperty sosa-env:AmbientTemperature;
  sosa:madeBySensor ex:TemperatureSensor ;
  sosa:resultQuality ex:observation_233_MeasurementAccuracy ;
  sosa:hasResult [ 
    qudt:value 21.4 ;
    qudt:hasUnit unit:DEG_C ;
  ] ;
.
   
ex:observation_233_MeasurementAccuracy a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:observation_233 ;
  sosa:observedProperty sosa-cap:TemperatureAccuracy ;
  sosa:hasResult [ 
    qudt:value 1.5 ;
    qudt:hasUnit unit:DEG_C ;
  ] ;
.

The System Capabilities Module also introduced a Battery class to represent power supply requirements for mobile sensors. The illustrative sosa-cap:BatteryLifetime system capability property allows to record expected battery utilization either on a nominal basis or within different operating conditions.

@prefix ex:   <http://example.org/>.
@prefix sosa: <https://www.w3.org/TR/vocab-ssn/>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix qudt: <http://qudt.org/schema/qudt/>.
@prefix unit: <http://qudt.org/vocab/unit/>.
@prefix iop:  <https://w3id.org/iadopt/ont/>.
@prefix uom: <http://www.ontology-of-units-of-measure.org/resource/om-2/> .
@prefix sosa-cap: <http://www.w3.org/ns/sosa/system-capability-properties#> .

ex:AABattery a sosa:Battery ;
  rdfs:label "An AA battery." .

ex:sensor a sosa:Sensor;
  sosa:hasSubSystem ex:AABattery .

ex:nominalLifetimeRestriction a iop:Variable, sosa:Property;
  iop:hasStatisticalModifier uom:average ;
  iop:hasObjectOfInterest ex:AABattery ;
  iop:hasProperty sosa-cap:BatteryLifetime .
  
ex:nominalLifetime a sosa:Observation ;
  sosa:hasFeatureOfInterest ex:sensor ;
  sosa:observedProperty ex:nominalLifetimeRestriction ;
  sosa:hasResult [ 
    qudt:value 1.0 ;
    qudt:hasUnit unit:YR ;
  ] ;
.

E.1.5 Complete examples

The following examples illustrate the terms related to System capabilities and operating conditions:

E.2 Specification

This section introduces the following classes and properties:

E.2.1 sosa:Battery

IRI: http://www.w3.org/ns/sosa/Battery

an OWL Class

Battery — A Battery powering a System as its primary or secondary power source. As this is a specialization of the System class, modeling of integrated battery management systems is also possible.

Sub class of
sosa:System
is Defined By
http://www.w3.org/ns/sosa/systems/

E.2.2 sosa:hasOperatingConditions

IRI: http://www.w3.org/ns/sosa/hasOperatingConditions

an OWL Object Property

has operating conditions — Relation between a System and its Operating Conditions, modelled as ObservationCollection (or Observation) describing conditions under which the System can operate. A short but extensible list of sub-classes of OperatingConditions is provided in SSN-System, such as normal operating conditions, suboptimal conditions, and survivable conditions.

Domain Includes
sosa:System, sosa:Sensor, sosa:Actuator, sosa:Sampler
Range Includes
sosa:Observation, sosa:ObservationCollection sosa:OperatingConditions,
is Defined By
http://www.w3.org/ns/sosa/systems/

E.2.3 sosa:hasSystemCapability

IRI: http://www.w3.org/ns/sosa/hasSystemCapability

an OWL Object Property

has System Capability — Relation between a System and an ObservationCollection (or Observation) describing the capability of the system. A sensor or system may have more than one set of system capabilities with different validity contexts.

Domain Includes
sosa:System, sosa:Sensor, sosa:Actuator, sosa:Sampler
Range Includes
sosa:Observation, sosa:ObservationCollection
Sub property of
sosa:isFeatureOfInterestOf
is Defined By
http://www.w3.org/ns/sosa/systems/

E.2.4 sosa:hasValidityContext

IRI: http://www.w3.org/ns/sosa/hasValidityContext

an OWL Object Property

has validity context — Links a an observation collection or observation (typically about the system capabilities) or a property (typically about the system capabilities) to its validity context, described as an observation collection or observation (typically about the system environment)

Domain Includes
sosa:Observation, sosa:ObservationCollection sosa:Property
Range Includes
sosa:Observation, sosa:ObservationCollection
is Defined By
http://www.w3.org/ns/sosa/systems/

E.2.5 sosa:NormalOperatingConditions

IRI: http://www.w3.org/ns/sosa/NormalOperatingConditions

an OWL Class

Normal Operating Conditions — Type of observation or observation collection that describe the conditions under which a system is expected to operate normally.

Sub class of
sosa:OperatingConditions
is Defined By
http://www.w3.org/ns/sosa/systems/

E.2.6 sosa:OperatingConditions

IRI: http://www.w3.org/ns/sosa/OperatingConditions

an OWL Class

Operating Condition — Type of observation or observation collection that describe operating conditions of systems. Sub-classes of this class explicit the desirability of the conditions. Three such sub-classes are provided as a basic classification: NormalOperatingConditions, SuboptimalOperatingConditions, and SurvivableConditions.

is Defined By
http://www.w3.org/ns/sosa/systems/

E.2.7 sosa:SuboptimalOperatingConditions

IRI: http://www.w3.org/ns/sosa/SuboptimalConditions

an OWL Class

Suboptimal Conditions — Type of observation or observation collection that describe the conditions under which a system is expected to operate sub-optimally. Results will still be reported but the performance of the sensor, in term of precision for example, will be impaired.

Sub class of
sosa:OperatingConditions
is Defined By
http://www.w3.org/ns/sosa/systems/

E.2.8 sosa:SurvivableConditions

IRI: http://www.w3.org/ns/sosa/SurvivableConditions

an OWL Named Individual

Survivable Conditions — Type of observation or observation collection that describe the conditions under which a system is expected to survive, that is to continue to exist in its current form, even if its future operations are impaired. A typical example is the temperature at which a sensor looses physical integrity and looses its shape. A system or sensor exposed to conditions outside of those reported by SurvivableConditions will no longer be serviceable.

Sub class of
sosa:OperatingConditions
is Defined By
http://www.w3.org/ns/sosa/systems/

E.3 Sample vocabularies of properties

For illustration purposes, this section describes sample vocabularies consisting of short lists of properties about system capabilities and the system environment.

Warning

These vocabularies have been partially generated by a large language model and are intended for illustrative purposes only. The Spatio-temporal Data on the Web Working Group does not aim to maintain comprehensive or authoritative lists of properties. Users SHOULD instead adopt concepts defined by other organizations and published through appropriate vocabulary portals.

E.3.1 Sample vocabulary of properties about system capabilities

SOSA/SSN includes a sample vocabulary consisting of a short list of properties about system capabilities.

The namespace for this sample vocabulary is http://www.w3.org/ns/sosa/system-capability-properties#.

The suggested prefix for this sample vocabulary is sosa-cap.

The RDF graph containing the definition of terms in this sample vocabulary is available at http://www.w3.org/ns/sosa/system-capability-properties.

Note

The definition of each concept is displayed as a tooltip when hovering over the concept.

sosa-cap:Accuracy, sosa-cap:BatteryLifetime, sosa-cap:BatteryResolution, sosa-cap:Drift, sosa-cap:Frequency, sosa-cap:HumidityAccuracy, sosa-cap:Latency, sosa-cap:LowerDetectionLimit, sosa-cap:MaintenanceSchedule, sosa-cap:MaxFrequency, sosa-cap:MaxMeasurableHumidity, sosa-cap:MaxMeasurableTemperature, sosa-cap:MaxOperatingPower, sosa-cap:MinFrequency, sosa-cap:MinMeasurableHumidity, sosa-cap:MinMeasurableTemperature, sosa-cap:MinOperatingPower, sosa-cap:Precision, sosa-cap:Resolution, sosa-cap:ResponseTime, sosa-cap:RFSensitivity, sosa-cap:Selectivity, sosa-cap:Sensitivity, sosa-cap:TemperatureAccuracy, sosa-cap:TemperaturePrecision, sosa-cap:TemperatureResolution, sosa-cap:UpperDetectionLimit,

E.3.2 Sample vocabulary of properties about the system environment

SOSA/SSN includes a sample vocabulary consisting of a short list of properties about the system environment.

The namespace for this sample vocabulary is http://www.w3.org/ns/sosa/system-environment-properties#.

The suggested prefix for this sample vocabulary is sosa-env.

The RDF graph containing the definition of terms in this sample vocabulary is available at http://www.w3.org/ns/sosa/system-environment-properties.

Note

The definition of each concept is displayed as a tooltip when hovering over the concept.

sosa-env:AmbientTemperature, sosa-env:AmbientHumidity, sosa-env:AmbientPressure, sosa-env:AmbientLightLevel, sosa-env:Altitude, sosa-env:DeploymentLocation, sosa-env:DeploymentEnvironmentType, sosa-env:ExposureToVibration, sosa-env:MinAmbientRelativeHumidity, sosa-env:MinAmbientTemperature, sosa-env:MagneticInterferenceLevel, sosa-env:MaxAmbientRelativeHumidity, sosa-env:MaxAmbientTemperature, sosa-env:PollutionLevel, sosa-env:Salinity, sosa-env:UVExposure, sosa-env:WindSpeed, sosa-env:WindDirection

F. Acknowledgments

This section is non-normative.

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 by all members of the SSN subgroup of the original 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 ([iso-19156-2023], [OMS]). Ted Thibodeau Jr, Openlink Software, made many small grammatical improvements to the text.

G. Change History

This section is non-normative.

A full change-log is available on GitHub.

  1. Updated Abstract to reflect the revised graph and axiomatization design
  2. Updated and streamlined Introduction; moved Origins section to an Annex.
  3. Updated Chapter 2 'Modularization' to simplify and to reflect the revised graph arrangement
  4. Add conformance clause Chapter 3
  5. Updated Chapter 4 and Chapter 5.1 to explain modularization and RDF implementation
  6. 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.
  7. re-drafted all figures as SVG; added a clause on notation
  8. Mark ssn:Input, ssn:Output, sosa:Result deprecated
  9. Add ExecutionCollection, ActuationCollection, ObservationCollection, SamplingCollection, SampleCollection, hasMember, isMemberOf
  10. remove rdfs:range on resultTime
  11. Clarify meaning of hasResult, resultTime, phenomenonTime in the context of Actuations`
  12. Add startTime property
  13. Add forProperty links from Procedure, and inverse hasProcedure
  14. add inverses for all object-properties, add tabulation of all properties
  15. Add madeBySystem, madeExecution
  16. Remove Sample is subclass of FeatureOfInterest axiom
  17. Add Sample sub-classes - MaterialSample, SpatialSample, StatisticalSample
  18. Add madeSamplingHasResult and usedForExecutionHasResult properties
  19. Add hasOriginalSample, isSampleOfUltimateFOI from SSN-ext
  20. Deprecate ActuatableProperty, ObservableProperty in favour of generic Property
  21. Add ActuatingProcedure, ObservingProcedure, SamplingProcedure specializations of Procedure for each execution type
  22. Add `hasFeatureOfInterest support to Deployments
  23. Remove Functional and InverseFunctional axioms except on `hasResult
  24. Simplified the System Capabilities Module
  25. Move System Capabilities module to Appendix
  26. Add SAREF alignment
  27. Update OBOE alignment - using ObservationCollection, SampleCollection, hasMember
  28. Retire O&Mv2 alignment - superseded by OMS extension
  29. Retire SSNX alignment - incubator version is now two generations back
  30. Fully revise Common Modeling patterns, also with diagrams
  31. Make patterns for Location, UoM more prescriptive
  32. Move extended examples out of the document into an online repository
  33. Relaxed and simplified SOSA-DUL alignment

H. References

H.1 Normative references

[json-ld11]
JSON-LD 1.1. Gregg Kellogg; Pierre-Antoine Champin; Dave Longley. W3C. 16 July 2020. W3C Recommendation. URL: https://www.w3.org/TR/json-ld11/
[OandM]
Observations and Measurements (O&M) v2. Simon Cox. OGC. 2011. OGC Abstract Specification Topic 20. URL: https://portal.ogc.org/files/?artifact_id=41579
[OMS]
Observations, measurements and samples (OMS). Katharina Schleidt; Ilkka Rinne. OGC. 2023. OGC Abstract Specification Topic 20. URL: https://docs.ogc.org/as/20-082r4/20-082r4.html
[owl-time]
Time Ontology in OWL. Simon Cox; Chris Little. W3C. 15 November 2022. CRD. URL: https://www.w3.org/TR/owl-time/
[owl2-manchester-syntax]
OWL 2 Web Ontology Language Manchester Syntax (Second Edition). Matthew Horridge; Peter Patel-Schneider. W3C. 11 December 2012. W3C Working Group Note. URL: https://www.w3.org/TR/owl2-manchester-syntax/
[owl2-overview]
OWL 2 Web Ontology Language Document Overview (Second Edition). W3C OWL Working Group. W3C. 11 December 2012. W3C Recommendation. URL: https://www.w3.org/TR/owl2-overview/
[owl2-rdf-based-semantics]
OWL 2 Web Ontology Language RDF-Based Semantics (Second Edition). Michael Schneider. W3C. 11 December 2012. W3C Recommendation. URL: https://www.w3.org/TR/owl2-rdf-based-semantics/
[rdf-schema]
RDF Schema 1.1. Dan Brickley; Ramanathan Guha. W3C. 25 February 2014. W3C Recommendation. URL: https://www.w3.org/TR/rdf-schema/
[rdf12-turtle]
RDF 1.2 Turtle. Gregg Kellogg; Dominik Tomaszuk. W3C. 20 August 2025. W3C Working Draft. URL: https://www.w3.org/TR/rdf12-turtle/
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc2119
[RFC8174]
Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. May 2017. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc8174

H.2 Informative references

[CDT]
Custom Datatypes - Towards a web of Linked Datatypes. Maxime Lefrançois; Antoine Zimmermann. 19 July 2021. URL: https://w3id.org/lindt/v4/custom_datatypes
[CoverageJSON]
OGC CoverageJSON Community Standard. Chris Little; Jon Blower; Maik Reichert. Open Geospatial Consortium. August 2023. URL: https://docs.ogc.org/cs/21-069r2/21-069r2.html
[Description-Logics]
The Description Logic Handbook: Theory, Implementation, and Applications, 2nd Edition. Franz Baader; Diego Calvanese; Deborah L. McGuinness; Daniele Nardi; Peter F. Patel-Schneider. Cambridge University Press. 2007. URL: http://www.cambridge.org/9780521150118
[Description-Logics-Home-Page]
Description Logics Home Page. URL: https://dl.kr.org/
[DUL]
DOLCE+DnS Ultralite (DUL). Aldo Gangemi. URL: http://ontologydesignpatterns.org/wiki/Ontology:DOLCE+DnS_Ultralite
[GeoSPARQL]
OGC GeoSPARQL - A Geographic Query Language for RDF Data. Nicholas J. Car; Timo Homburg; Matthew Perry; Frans Knibbe; Simon J.D. Cox; Joseph Abhayaratna; Mathias Bonduel; Paul J. Cripps; Krzysztof Janowicz. OGC. 29 January 2024. OGC Standard. URL: https://docs.ogc.org/is/22-047r1/22-047r1.html
[iso-19156-2011]
Geographic information -- Observations and measurements. ISO/TC 211. ISO. 2011. International Standard. URL: https://www.iso.org/standard/32574.html
[iso-19156-2023]
Geographic information -- Observations, measurements and samples. ISO/TC 211. ISO. 2023. International Standard. URL: https://www.iso.org/standard/82463.html
[iso-19157-1]
Geographic information -- Data quality -- Part 1: General requirements. ISO/TC 211. ISO. 2023. International Standard. URL: https://www.iso.org/standard/78900.html
[Lefrancois-et-al-2017]
The SEAS Knowledge Model. Maxime Lefrançois; Jarmo Kalaoja; Takoua Ghariani; Antoine Zimmermann. ITEA2 12004 Smart Energy Aware Systems. 2017. Deliverable 2.2. URL: https://w3id.org/seas/SEAS-D2_2-SEAS-Knowledge-Model.pdf
[OBOE]
OBOE: the Extensible Observation Ontology, version 1.1. Mark Schildhauer; Matthew B. Jones; Shawn Bowers; Joshua Madin; Sergeui Krivov; Deana Pennington; Ferdinando Villa; Benjamin Leinfelder; Christopher Jones; Margaret O'Brien. 2016. URL: http://dx.doi.org/10.5063/F11C1TTM
[OM-Lite]
Ontology for observations and sampling features, with alignments to existing models. S.J.D. Cox. Semantic Web. 2017. URL: http://content.iospress.com/articles/semantic-web/sw214
[Project-PROV]
A Project Ontology. Simon J D Cox. 2017. URL: https://linked.data.gov.au/def/project/
[prov-dm]
PROV-DM: The PROV Data Model. Luc Moreau; Paolo Missier. W3C. 30 April 2013. W3C Recommendation. URL: https://www.w3.org/TR/prov-dm/
[prov-o]
PROV-O: The PROV Ontology. Timothy Lebo; Satya Sahoo; Deborah McGuinness. W3C. 30 April 2013. W3C Recommendation. URL: https://www.w3.org/TR/prov-o/
[prov-overview]
PROV-Overview. Paul Groth; Luc Moreau. W3C. 30 April 2013. W3C Working Group Note. URL: https://www.w3.org/TR/prov-overview/
[QUDT]
Quantities, Units, Dimensions and Types (QUDT). 2011. URL: https://doi.org/10.25504/FAIRsharing.d3pqw7
[SAREF]
ETSI TS 103 264 V4.1.1 (2025-03): SmartM2M; Smart Applications; Reference Ontology and oneM2M Mapping. ETSI. Technical Specification. URL: http://www.etsi.org/deliver/etsi_ts/103200_103299/103264/04.01.01_60/ts_103264v040101p.pdf
[SAREF_Patterns]
ETSI TS 103 548 V1.2.1 (2024-01): SmartM2M; SAREF reference ontology patterns. ETSI. Technical Specification. URL: http://www.etsi.org/deliver/etsi_ts/103500_103599/103548/01.02.01_60/ts_103548v010201p.pdf
[schema-org]
Schema.org. W3C Schema.org Community Group. W3C. 6.0. URL: https://schema.org/
[SDW-BP]
Spatial Data on the Web Best Practices. Payam Barnaghi; Jeremy Tandy; Linda van den Brink; Timo Homburg. W3C. 19 September 2023. DNOTE. URL: https://www.w3.org/TR/sdw-bp/
[SensorML]
SensorML: Model and XML Encoding Standard 2.0. Mike Botts; Alex Robin. OGC. 2014. OGC Encoding Standard. URL: http://portal.opengeospatial.org/files/55939
[SSN-PROV]
Sensor Data Provenance: SSNO and PROV-O Together at Last. Michael Compton; David Corsar; Kerry Taylor. CEUR: 7th International Conference on Semantic Sensor Networks. 2014. URL: http://ceur-ws.org/Vol-1401/paper-05.pdf
[SSNX]
Semantic Sensor Network Ontology. W3C Semantic Sensor Network Incubator Group. W3C. 2011. URL: https://www.w3.org/2005/Incubator/ssn/ssnx/ssn
[SSNX-Paper]
The SSN ontology of the W3C semantic sensor network incubator group. 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. Web Semantics: Science, Services and Agents on the World Wide Web, 17:25-32. December 2012. URL: http://www.sciencedirect.com/science/article/pii/S1570826812000571
[SSO-Pattern]
The Stimulus-Sensor-Observation Ontology Design Pattern and its Integration into the Semantic Sensor Network Ontology. Krzysztof Janowicz; Michael Compton. CEUR: Proceedings of the 3rd International Workshop on Semantic Sensor Networks (SSN10). 2010. URL: http://ceur-ws.org/Vol-668/paper12.pdf
[STA]
OGC SensorThings API (STA). Open Geospatial Consortium. URL: https://www.ogc.org/standard/sensorthings/
[SWE]
Sensor Web Enablement (SWE). Open Geospatial Consortium. URL: https://www.ogc.org/about-ogc/domains/swe/
[SWE-Common]
OGC® SWE Common Data Model Encoding Standard. Alex Robin. Open Geospatial Consortium. January 2011. URL: https://portal.ogc.org/files/?artifact_id=41157
[SWE-Common-JSON]
JSON Encoding Rules SWE Common / SensorML. Alex Robin. Open Geospatial Consortium. January 2018. URL: https://docs.ogc.org/bp/17-011r2/17-011r2.html
[UCUM]
The Unified Code for Units of Measure. Gunther Schadow; Clement J. McDonald. Regenstrief Institute, Inc. and the UCUM Organization. 17 June 2024. URL: https://ucum.org/ucum
[uml]
OMG Unified Modeling Language. Open Management Group. OMG. 1 March 2015. Normative. URL: http://www.omg.org/spec/UML/
[VIM]
International vocabulary of metrology – Basic and general concepts and associated terms (VIM). BIPM. 2012. 3rd Edition. URL: https://www.bipm.org/documents/20126/2071204/JCGM_200_2012.pdf
[VIM4]
International Vocabulary of Metrology Fourth edition – Second Committee Draft (VIM4 2CD) . BIPM. 31 July 2023. 4th Edition - 2nd Committee Draft. URL: https://www.bipm.org/documents/20126/115700832/VIM4_2CD_clean/c6d0dfb2-ddbf-059e-1f74-9b025c9c59d8
[vocab-dcat-3]
Data Catalog Vocabulary (DCAT) - Version 3. Simon Cox; Andrea Perego; Alejandra Gonzalez Beltran; Peter Winstanley; Riccardo Albertoni; David Browning. W3C. 22 August 2024. W3C Recommendation. URL: https://www.w3.org/TR/vocab-dcat-3/
[vocab-dqv]
Data on the Web Best Practices: Data Quality Vocabulary. Riccardo Albertoni; Antoine Isaac. W3C. 15 December 2016. W3C Working Group Note. URL: https://www.w3.org/TR/vocab-dqv/
[vocab-ssn-20171019]
Semantic Sensor Network Ontology. Armin Haller; Krzysztof Janowicz; Simon Cox; Danh Le Phuoc; Kerry Taylor; Maxime Lefrançois. W3C. 19 October 2017. W3C Recommendation. URL: https://www.w3.org/TR/2017/REC-vocab-ssn-20171019/
[vocab-ssn-ext]
Extensions to the Semantic Sensor Network Ontology. Simon Cox. W3C. 16 January 2020. W3C Working Draft. URL: https://www.w3.org/TR/vocab-ssn-ext/