The Semantic Sensor Network Ontology (SSN) is an ontology for describing sensors and their observations, the involved procedures, the studied features of interest, the samples used to do so, and the observed properties, as well as actuators. SSN follows a horizontal and vertical modularization architecture by including a lightweight but self-contained core ontology called SOSA (Sensor, Observation, Sample, and Actuator) for its elementary classes and properties. Given their different scope and degree of axiomatization, SSN and SOSA 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. Both ontologies are described below, and examples of their usage are given.

The namespace for SSN terms is http://www.w3.org/ns/ssn/.
The namespace for SOSA terms is http://www.w3.org/ns/sosa/.

The suggested prefix for the SSN namespace is ssn.
The suggested prefix for the SOSA namespace is sosa.

The SSN ontology is available at http://www.w3.org/ns/ssn/.
The SOSA ontology is available at http://www.w3.org/ns/sosa/.

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

Introduction

Sensor observations are a major source of data available on the Web today. Nonetheless, publishing, searching, reusing, and integrating these data requires more than just the observation results. Of equal importance for the proper interpretation of these values is information about the studied feature of interest, such as a river, the observed property, such as flow velocity, the utilized sampling strategy, such as the specific locations and times at which the velocity was measured, and a variety of other information. OGC's Sensor Web Enablement standards [[OandM]], [[SensorML]] provide a means to annotate sensors and their observations. However, these standards are not yet integrated and aligned with W3C Semantic Web technologies and Linked Data in particular, which are key drivers for creating and maintaining a global and densely interconnected graph of data. With the rise of the Web of Things and smart cities and homes more generally, actuators and the data they produce also become first-class citizens of the Web. Given their close relation to sensors, observations, procedures, and features of interest, it is desirable to provide a common ontology that also includes actuators and actuation. Finally, with the increasing diversity of data and data providers, definitions such as those for sensors need to be broadened, e.g., to include social sensing. The following specifications introduce the new Semantic Sensor Network (SSN) and Sensor, Observation, Sample, and Actuator (SOSA) ontologies that are set out to provide flexible but coherent perspectives for representing the entities, relations, and activities involved in sensing, sampling, and actuation. SOSA provides a lightweight core for SSN and aims at broadening the target audience and application areas that can make use of Semantic Web ontologies. At the same time, SOSA acts as minimal interoperability fall-back level, i.e., it defines those common classes and properties for which data can be safely exchanged across all uses of SSN, its modules, and SOSA.

Modularization

Practitioners using the original Semantic Sensor Network Ontology as defined in the W3C Semantic Sensor Network Incubator Group [[SSNO]] have identified a major issue in its complexity, partly due to the layering underneath the Dolce-UltraLite upper level ontology. In response to this, the new Semantic Sensor Network ontology offers several ontology subsets that are distinguished mainly through their ontological commitments. This section explains the rationale and method for modularizing SSN, i.e., offering several ontology files that are similar in their domain of discourse, but with different ontological commitments, suitable to several use cases and target audiences. For example, SOSA is intended to provide Schema.org-style semantic enrichment capabilities for data repositories managed by an audience broader than typical ontology engineers, while still ensuring interoperability with SSN-based repositories.

Ontology modularization is a common method used in ontology engineering to segment an ontology into smaller parts. In general, ontology modularization aims at providing users of ontologies with the knowledge they require, reducing the scope as much as possible to what is strictly necessary in a given use case. Two main categories of ontology modularization can be distinguished.

The first category comprises those approaches that focus on the composition of existing ontologies by means of integrating and mapping ontologies, most commonly through owl:import statements. OWL import has a direction from a dependant ontology to a dependency ontology. Although import is transitive, knowledge is propagated in only one direction. The importing ontology captures all the meaning of the imported terms used, by including all axioms relevant to the meaning of these terms. However, the imported ontology does not capture any of the semantics of the importing ontology.

The second category comprises of mapping approaches that aim to partition and extract parts of ontologies as modules. These mapping approaches are not necessarily directional, but most approaches of ontology extraction rely on the directionality of the imported modules. The main feature of an ontology module under the second category is that it is self-contained, i.e., the module captures the meaning of the imported terms used by including all axioms relevant to the meaning of these terms. This means, that the result of certain reasoning tasks such as subsumption or query answering within a single module should be possible and result in the same answers without the need to access other modules of the ontology.

Our modularization approach uses the first approach by composing the ontology into several modules that use owl:import statements, whereby we distinguish two methods depending on the directionality of the segmentation: a vertical segmentation and a horizontal segmentation.

Ontology Modules
The SOSA and SSN ontologies and their vertical and horizontal modules.

Vertical Segmentation

Vertical modules build upon each other, i.e., they directionally owl:import lower level modules. Lower level modules are independent of their higher level modules and logically consistent on their own.

For example, the Dolce-UltraLite Alignment Module imports the SSN Ontology which itself imports the SOSA Ontology. However, in reverse, neither SOSA nor SSN import the Dolce-UltraLite Alignment Module. In fact, SOSA as the core, does not import any other ontologies, which makes it truly independent of vertical modules that add more expressivity and further ontological commitments to the lightweight semantics of SOSA.

Note that 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, whereas our definition of higher level ontologies here refers to an ontology that extends one or several ontology modules to capture a larger part of a knowledge domain and/or combine knowledge domains.

Horizontal Segmentation

Modules that are horizontally layered may depend on each other, i.e., they may rely on the directional import of another horizontal module. Only one horizontal module that is dependent on the SSN ontology is presented in this specification, the Sample Relations Module. Other ontologies that add domain-specific terms to SSN, but require the import of SSN, can be considered horizontal modules.

Origins of SSN and SOSA

Here we briefly review the origins of SSN and SOSA, namely the initial SSN version published by the W3C Semantic Sensor Network Incubator Group [[SSNO]] and work on Sensor Web Enablement by the OGC. We also highlight the most substantial changes made since the initial release of the SSN ontology.

Starting in 2002, the OGC's Sensor Web Enablement initiative has developed a generic framework for delivering sensor data, dealing with remote-sensing, moving platforms, and in-situ monitoring and sensing. The Sensor Observation Service defines a standard query interface for sensor and observation data, following the pattern established by OGC for their Web Services. The data returned is in XML, using Sensor Model Language [[SensorML]] and OMXML [[OMXML]], the latter which implements Observations and Measurements [[OandM]].

The Sensor Model Language (SensorML) [[SensorML]] and Observations and Measurements (O&M) [[OandM]] are complementary viewpoints. SensorML is 'provider-centric' and encodes details of the sensor along with raw observation data. SensorML is self-contained and highly flexible. This makes life easy for data producers but is demanding on consumers. SensorML provides extensive support for serialization of numeric data arrays and is particularly optimized for data that includes multiple parallel streams that must be processed together. For example, the data collected by cameras on airborne vehicles must be geo-referenced based on the instantaneous position of the platform and orientation of the camera. In contrast, O&M was designed to be more 'user-centric' with the target of the observation and the observed property as first-class objects. O&M works at a higher semantic level than SensorML, but only provides abstract classes for sensors, features of interest and observable properties, expecting the details to be provided by specific applications and domains. 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.

The initial W3C Semantic Sensor Network Incubator Group ontology (SSN) was built around an ontology design pattern called the Stimulus Sensor Observation (SSO) pattern [[SSO-Pattern]]. The SSO was developed as a minimal and common ground for heavy-weight ontologies for the use on the Semantic Sensor Web as well as to explicitly address the need for light-weight semantics requested by the Linked Data community. The SSO was also aligned to the Dolce-Ultralite upper ontology (DUL).

The new SSN described in this document is based on a revised and expanded version of this pattern, namely the Sensor, Observation, Sample, and Actuator (SOSA) ontology. Similar to the original SSO, SOSA acts as a central building block for the SSN but puts more emphasis on light-weight use and the ability to be used standalone. The axiomatization also changed to provide an experience more related to Schema.org. Notable differences include the usage of the Schema.org domainIncludes and rangeIncludes annotation properties that provide an informal semantics compared to the inferential semantics of their OWL-2 counterparts. In line with the changes implemented for the new SSN, SOSA also drops the direct DUL alignment although an optional alignment can be achieved via the SSN-DUL alignment provided in Section 5. SOSA is also more explicit in its support for virtual sensors and human sensors than SSO. Finally, and most notably, SOSA extends SSO's original scope beyond sensors and their observations by including classes and properties for actuators and sampling. SOSA also distinguishes between phenomenonTime and resultTime.

Drawing on considerable implementation and application experience with SSN and sensor and observation ontologies more broadly, the new SSN and SOSA ontologies presented here are set out to address changes in scope and audience, shortcomings of the initial work, as well as new technical developments. The list below highlights the most important (but by far not exclusive) updates.

Axiomatization

This section introduces the specifications for SOSA and SSN.

Several conceptual modules have been defined to cover key sensor, actuation and sampling concepts. The different conceptual modules of SOSA/SSN can be seen in the following figure.

SOSA/SSN ontology modules - overview
Overview of the SOSA/SSN ontology modules

An overview of the main classes and properties inside the ontology modules can be seen in the following figure, focusing on the Stimulus-Sensor-Observation pattern. The overall behaviour is identical for the Actuation and Sampling patterns.
In the figures, and in the rest of the document, SOSA-related components and restrictions are shown in green, while SSN-only components are shown in blue.

SOSA/SSN ontology modules
Overview of the SOSA/SSN classes and properties

Namespaces

The namespace for SSN terms is http://www.w3.org/ns/ssn/.
The namespace for SOSA terms is http://www.w3.org/ns/sosa/.

The suggested prefix for the SSN namespace is ssn.
The suggested prefix for the SOSA namespace is sosa.

The SSN ontology is available at http://www.w3.org/ns/ssn/.
The SOSA ontology is available at http://www.w3.org/ns/sosa/.

Index of Classes and Properties

Datatype Properties: | sosa:hasSimpleResult | sosa:resultTime |

Specification

SOSA axioms are shown in green, while SSN-only axioms are shown in blue.

Observations

This section introduces the following classes and properties:

To ease readability, the following figures provide an overview over the core classes and properties that are specifically related to modeling Observations, first in SOSA and then in SOSA/SSN.

Observation (SOSA)
Classes and relationships involved in Observation (SOSA)
Observation (SOSA/SSN)
Classes and relationships involved in Observation (SOSA/SSN)

OWL Class: sosa:ObservableProperty

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

Observable Property - An observable quality (property, characteristic) of a FeatureOfInterest.
Example The height of a tree, the depth of a water body, or the temperature of a surface are examples of observable properties, while the value of a classic car is not (directly) observable but asserted.
Sub class of ssn:Property
Restrictions sosa:isObservedBy must be sosa:Sensor
inverse Of sosa:observedProperty must be sosa:Observation
inverse Of ssn:isProxyFor must be ssn:Stimulus
is Defined By http://www.w3.org/ns/sosa/

[back to index]

OWL Class: sosa:Observation

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

Observation - Act of carrying out an (Observation) Procedure to estimate or calculate a value of a property of a FeatureOfInterest. Links to a Sensor to describe what made the Observation and how; links to an ObservableProperty to describe what the result is an estimate of, and to a FeatureOfInterest to detail what that property was associated with.
Example The activity of estimating the intensity of an Earthquake using the Mercalli intensity scale is an Observation as is measuring the moment magnitude, i.e., the energy released by said earthquake.
Restrictions sosa:madeBySensor must be exactly 1
sosa:madeBySensor must be sosa:Sensor
sosa:usedProcedure must be sosa:Procedure
sosa:hasFeatureOfInterest must be exactly 1
sosa:hasFeatureOfInterest must be sosa:FeatureOfInterest
sosa:observedProperty must be exactly 1
sosa:observedProperty must be sosa:ObservableProperty
ssn:wasOriginatedBy must be exactly 1
ssn:wasOriginatedBy must be ssn:Stimulus
sosa:phenomenonTime must be exactly 1
sosa:hasResult must be at least 1
sosa:hasResult must be sosa:Result
sosa:resultTime must be exactly 1

[back to index]

OWL Object Property: sosa:observedProperty

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

observed property - Relation linking an Observation to the property that was observed. The ObservableProperty should be a property of the FeatureOfInterest (linked by hasFeatureOfInterest) of this Observation.
Domain Includes sosa:Observation
Range Includes sosa:ObservableProperty

[back to index]

OWL Object Property: sosa:phenomenonTime

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

phenomenon time - The time that the Result of an Observation, Actuation, or Sampling applies to the FeatureOfInterest. Not necessarily the same as the resultTime. May be an interval or an instant, or some other compound temporal entity.
Domain Includes sosa:Actuation, sosa:Observation, sosa:Sampling
Range Includes time:TemporalEntity

[back to index]

OWL Object Property: ssn:qualityOfObservation

IRI: http://www.w3.org/ns/ssn/qualityOfObservation

quality of observation - Relation linking an Observation to the adjudged quality of the Result. This is complimentary to the SystemCapability information recorded for the Sensor that made the Observation.
Sub property of ssn:hasProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: sosa:Sensor

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

Sensor - Device, agent (including humans), or software (simulation) involved in, or implementing, a Procedure. Sensors respond to a Stimulus, e.g., a change in the environment, or Input data composed from the Results of prior Observations, and generate a Result. Sensors can be mounted on Platforms.
Example Accelerometers, gyroscopes, barometers, magnetometers, and so forth 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 ssn:System
Restrictions ssn:implements must be at least 1
sosa:observes must be sosa:ObservableProperty
ssn:detects must be ssn:Stimulus
sosa:madeObservation must be sosa:Observation

[back to index]

OWL Object Property: sosa:observes

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

observes - Relation between a Sensor and an ObservableProperty that it is capable of sensing.
Domain Includes sosa:Sensor
Range Includes sosa:ObservableProperty
Inverse property of sosa:isObservedBy
Sub property of ssn:forProperty

[back to index]

OWL Object Property: sosa:isObservedBy

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

is observed by - Relation between an ObservableProperty and the Sensor able to observe it.
Domain Includes sosa:ObservableProperty
Range Includes sosa:Sensor
Inverse property of sosa:observes

[back to index]

OWL Object Property: sosa:madeObservation

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

made observation - Relation between a Sensor and an Observation it has made.
Domain Includes sosa:Sensor
Range Includes sosa:Observation
Inverse property of sosa:madeBySensor

[back to index]

OWL Object Property: sosa:madeBySensor

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

made by Sensor - Relation between an Observation and the Sensor which made the Observations.
Domain Includes sosa:Observation
Range Includes sosa:Sensor
Inverse property of sosa:madeObservation

[back to index]

OWL Class: ssn:Stimulus

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

Stimulus - An event in the real world that 'triggers' the Sensor. The properties associated to the Stimulus may be different to the eventual observed ObservableProperty. It is the event, not the object, that triggers the Sensor.
Restrictions ssn:isProxyFor must be sosa:ObservableProperty
inverse Of ssn:wasOriginatedBy must be sosa:Observation
inverse Of ssn:detects must be sosa:Sensor
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Object Property: ssn:isProxyFor

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

isProxyFor - A relation from a Stimulus to the Property that the Stimulus 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.
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Object Property: ssn:wasOriginatedBy

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

was originated by - Relation between an Observation and the Stimulus that originated it.
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Object Property: ssn:detects

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

detects - A relation from a Sensor to the Stimulus that the Sensor can detect. The Stimulus itself will be serving as a proxy (isProxyFor) for some ObservableProperty.
is Defined By http://www.w3.org/ns/ssn/

[back to top]

Actuations

This section introduces the following classes and properties:

Classes and Properties are introduced in the following order: sosa:ActuatableProperty, sosa:Actuation, sosa:actsOnProperty, sosa:isActedOnBy, sosa:Actuator, sosa:madeActuation, sosa:madeByActuator

To ease readability, the following figures provide an overview over the core classes and properties that are specifically related to modeling Actuations, first in SOSA and then in SOSA/SSN.

Actuation (SOSA)
Classes and relationships involved in Actuation (SOSA)
Actuation (SOSA/SSN)
Classes and relationships involved in Actuation (SOSA/SSN)

OWL Class: sosa:ActuatableProperty

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

Actuatable Property - An actuatable quality (property, characteristic) of a FeatureOfInterest.
Example A window actuator acts by changing the state between a frame and a window. The ability of the window to be opened and closed is its ActuatableProperty.
Sub class of ssn:Property
Restriction sosa:isActedOnBy must be sosa:Actuation
is Defined By http://www.w3.org/ns/sosa/

[back to index]

OWL Class: sosa:Actuation

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

Actuation - An Actuation carries out an (Actuation) Procedure to change the state of the world using an Actuator.
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 defines the Conditions that triggers the Actuation, here a drop in temperature.
Restrictions sosa:madeByActuator must be exactly 1
sosa:madeByActuator must be sosa:Actuator
sosa:usedProcedure must be sosa:Procedure
sosa:hasFeatureOfInterest must be exactly 1
sosa:hasFeatureOfInterest must be sosa:FeatureOfInterest
sosa:actsOnProperty must be exactly 1
sosa:actsOnProperty must be sosa:ActuatableProperty
sosa:hasResult must be at least 1
sosa:hasResult must be sosa:Result
sosa:resultTime must be exactly 1

[back to index]

OWL Object Property: sosa:actsOnProperty

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

acts on property - Relation between an Actuation and the property of a FeatureOfInterest it is acting upon.
Example In the activity (Actuation) of automatically closing a window if the temperature in a room drops below 20 degrees Celsius, the property on which the Actuator acts upon is the state of the window as it changes from being open to being closed.
Domain Includes sosa:Actuation
Range Includes sosa:ActuatableProperty
Inverse property of sosa:isActedOnBy

[back to index]

OWL Object Property: sosa:isActedOnBy

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

is acted on by - Relation between an ActuatableProperty of a FeatureOfInterest and an Actuation changing its state.
Example In the activity (Actuation) of automatically closing a window if the temperature in a room drops below 20 degrees Celsius, the property on which the Actuator acts upon is the state of the window as it changes from being open to being closed.
Domain Includes sosa:ActuatableProperty
Range Includes sosa:Actuation
Inverse property of sosa:actsOnProperty

[back to index]

OWL Class: sosa:Actuator

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

Actuator - A device that is used by, or implements, an (Actuation) Procedure that changes the state of the world.
Example A window actuator for automatic window control, i.e., opening or closing the window.
Sub class of ssn:System
Restrictions ssn:implements must be at least 1
ssn:forProperty must be sosa:ActuatableProperty
sosa:madeActuation must be sosa:Actuation

[back to index]

OWL Object Property: sosa:madeActuation

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

made actuation - Relation between an Actuator and the Actuation it has made.
Domain Includes sosa:Actuator
Range Includes sosa:Actuation
Inverse property of sosa:madeByActuator

[back to index]

OWL Object Property: sosa:madeByActuator

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

made by actuator - Relation linking an Actuation to the Actuator that made that Actuation.
Domain Includes sosa:Actuation
Range Includes sosa:Actuator
Inverse property of sosa:madeActuation

[back to index]

Sampling

This section introduces the following classes and properties:

sosa:Sample, sosa:hasSample, sosa:isSampleOf, sosa:Sampling, sosa:Sampler, sosa:madeSampling, sosa:madeBySampler

To ease readability, the following figures provide an overview over the core classes and properties that are specifically related to modeling Sampling, first in SOSA and then in SOSA/SSN.

Sampling and samples (SOSA)
Classes and relationships involved in Sampling (SOSA)
Sampling and samples (SOSA/SSN)
Classes and relationships involved in Sampling (SOSA/SSN)

OWL Class: sosa:Sample

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

Sample - Feature which is intended to be representative of a FeatureOfInterest on which Observations may be made.
Comment Samples are typically subsets or extracts from the feature of interest of an observation. They 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 usually have no significant function outside of their role in the observation process. The characteristics of the samples themselves are generally of little interest, except to the manager of a sampling campaign, or sample curator.
A Sample is intended to sample some FeatureOfInterest, 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 sampling features.

Physical samples are sometimes known as 'specimens'.
Example A 'station' is essentially 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.
Sub class of sosa:FeatureOfInterest, sosa:Result,
Restrictions sosa:isResultOf must be sosa:Sampling
sosa:isResultOf must be at least 1 sosa:Sampling
sosa:isSampleOf must be sosa:FeatureOfInterest
sosa:isSampleOf must be at least 1
is Defined By http://www.w3.org/ns/sosa/

[back to index]

OWL Object Property: sosa:hasSample

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

has sample - Relation between a FeatureOfInterest and the Sample used to represent it.
Domain Includes sosa:FeatureOfInterest
Range Includes sosa:Sample
Inverse property of sosa:isSampleOf
is Inverse-Functional

[back to index]

OWL Object Property: sosa:isSampleOf

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

is sample of - Relation from a Sample to the FeatureOfInterest that it is intended to be representative of.
Domain Includes sosa:Sample
Range Includes sosa:FeatureOfInterest
Inverse property of sosa:hasSample
is Functional

[back to index]

OWL Class: sosa:Sampling

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

Sampling - An act of Sampling carries out a (Sampling) Procedure to create or transform one or more Samples.
Example Crushing a rock sample in a ball mill.
Digging a pit through a soil sequence.
Dividing a field site into quadrants.
Drawing blood from a patient.
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.
Restrictions sosa:madeBySampler must be exactly 1
sosa:madeBySampler must be sosa:Sampler
sosa:usedProcedure must be sosa:Procedure
sosa:hasFeatureOfInterest must be exactly 1
sosa:hasFeatureOfInterest must be sosa:FeatureOfInterest
sosa:hasResult must be at least 1 sosa:Sample
sosa:hasResult must be sosa:Sample
sosa:resultTime must be exactly 1

[back to index]

OWL Class: sosa:Sampler

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

Sampler - A device that is used by, or implements, a (Sampling) Procedure to create or transform one or more samples.
Example A ball mill, diamond drill, hammer, hypodermic syringe and needle, image Sensor or a soil auger can all act as sampling devices (i.e., be Samplers). A population sampler need not be a physical device.
Sub class of ssn:System
Restrictions ssn:implements must be at least 1
sosa:madeSampling must be sosa:Sampling

[back to index]

OWL Object Property: sosa:madeSampling

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

made sampling - Relation between a Sampler (sampling device or entity) and the Sampling act it performed.
Domain Includes sosa:Sampler
Range Includes sosa:Sampling
Inverse property of sosa:madeBySampler

[back to index]

OWL Object Property: sosa:madeBySampler

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

made by sampler - Relation linking an act of Sampling to the Sampler (sampling device or entity) that made it.
Domain Includes sosa:Sampling
Range Includes sosa:Sampler
Inverse property of sosa:madeSampling

[back to index]

Features of Interest and Properties

This section introduces the following classes and properties:

To ease readability, the following figure provides an overview over the core classes and properties that are specifically related to modeling Features of interest and their Properties.

Features of interest and properties
Classes and relationships related to features of interest and properties

OWL Class: sosa:FeatureOfInterest

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

Feature Of Interest - The thing whose property is being estimated or calculated in the course of an Observation to arrive at a Result, or whose property is being manipulated by an Actuator, or which is being sampled or transformed in an act of Sampling.
Example When measuring the height of a tree, the height is the observed ObservableProperty, 20m may be the Result of the Observation, and the tree is the FeatureOfInterest. A window is a FeatureOfInterest for an automatic window control Actuator.
Restrictions ssn:hasProperty must be ssn:Property
ssn:hasProperty must be at least 1
sosa:hasSample must be sosa:Sample
is Defined By http://www.w3.org/ns/sosa/

[back to index]

OWL Object Property: sosa:hasFeatureOfInterest

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

has feature of interest - A relation between an Observation and the entity whose quality was observed, or between an Actuation and the entity whose property was modified, or between an act of Sampling and the entity that was sampled.
Example For example, in an Observation of the weight of a person, the FeatureOfInterest is the person and the property is its weight.
Domain Includes sosa:Observation, sosa:Actuation, sosa:Sampling
Range Includes sosa:FeatureOfInterest, sosa:Sample
Inverse property of sosa:isFeatureOfInterestOf

[back to index]

OWL Object Property: sosa:isFeatureOfInterestOf

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

is feature of interest of - A relation between a FeatureOfInterest and an Observation about it or an Actuation acting on it, or an act of Sampling that sampled it.
Domain Includes sosa:FeatureOfInterest, sosa:Sample
Range Includes sosa:Observation, sosa:Actuation, sosa:Sampling
Inverse property of sosa:hasFeatureOfInterest

[back to index]

OWL Class: ssn:Property

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

Property - A quality of an entity. An aspect of an entity that is intrinsic to and cannot exist without the entity.
Restrictions: ssn:isPropertyOf must be sosa:FeatureOfInterest
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Object Property: ssn:hasProperty

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

has property - Relation between an entity and a Property of that entity.
is Inverse-Functional
Inverse property of ssn:isPropertyOf
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Object Property: ssn:isPropertyOf

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

is property of - Relation between a Property and the entity it belongs to.
is Functional
Inverse property of ssn:hasProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Object Property: ssn:forProperty

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

for property - A relation between some aspect of an entity and a Property.
Example For example, from a Sensor to the properties it can observe; from an Actuator to the properties it can act on; from a Deployment to the properties it was installed to observe or act on; from a SystemCapability to the Property the capability is described for.
is Defined By http://www.w3.org/ns/ssn/

[back to top]

Results

This section introduces the following classes and properties:

sosa:Result, sosa:hasResult, sosa:isResultOf, sosa:hasSimpleResult, sosa:resultTime

To ease readability, the following figure provides an overview over the core classes and properties that are specifically related to modeling results.

Results
Classes and relationships related to results

OWL Class: sosa:Result

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

Result - The Result of an Observation, Actuation, or act of Sampling. To store an observation's simple result value one can use the hasSimpleResult property.
Example The value 20 as the height of a certain tree together with the unit, e.g., Meter.
Restriction sosa:isResultOf must be at least 1

[back to index]

OWL Object Property: sosa:hasResult

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

has result - Relation linking an Observation and a Sensor or Actuator and a Result, which contains a value representing the value associated with the observed Property.
Domain Includes sosa:Actuation, sosa:Observation, sosa:Sampling
Range Includes sosa:Result, sosa:Sample
Inverse property of sosa:isResultOf

[back to index]

OWL Object Property: sosa:isResultOf

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

is result of - Relation linking a Result to the Observation or Actuation that created or caused it.
Domain Includes sosa:Result, sosa:Sample
Range Includes sosa:Actuation, sosa:Observation, sosa:Sampling
Inverse property of sosa:hasResult

[back to index]

OWL Datatype Property: sosa:hasSimpleResult

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

has simple result - The simple value of an Observation or Actuation.
Example For instance, the values 23 or true.
Domain Includes sosa:Observation, sosa:Actuation

[back to index]

OWL Datatype Property: sosa:resultTime

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

result time - The result time is the instant of time when the Observation, Actuation or Sampling activity was completed.
Domain Includes sosa:Actuation, sosa:Observation, sosa:Sampling
Range xsd:dateTime

[back to index]

Procedures

This section introduces the following classes and properties:

To ease readability, the following figure provides an overview over the core classes and properties that are specifically related to modeling procedures.

Results
Classes and relationships related to procedures

OWL Class: sosa:Procedure

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

Procedure - A workflow, protocol, plan, algorithm, or computational method specifying how to make an Observation, create a Sample, or make a change to the state of the world (via an Actuator). A Procedure is re-usable, and might be involved in many Observations, Samplings, or Actuations. It explains the steps to be carried out to arrive at reproducible Results.
Example The measured wind speed differs depending on the height of the Sensor above the surface, e.g., due to friction. Consequently, 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, and so forth are defined by the Procedure.
Note Many Observations may be created via the same Procedure, the same way as many tables are assembled using the same instructions (as information objects, not their concrete realization).
Restrictions ssn:hasInput must be ssn:Input
ssn:hasOutput must be ssn:Output
ssn:implementedBy must be ssn:System

[back to index]

OWL Object Property: sosa:usedProcedure

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

used procedure - A relation to link to a re-usable Procedure used in making an Observation, an Actuation, or a Sample, typically through a Sensor, Actuator or Sampler.
Domain Includes sosa:Actuation, sosa:Observation, sosa:Sampling
Range Includes sosa:Procedure
Sub property of Chain sosa:madeBySensor o ssn:implements
sosa:madeByActuator o ssn:implements
sosa:madeBySampler o ssn:implements

[back to index]

OWL Object Property: ssn:implements

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

implements - Relation between an entity that implements a Procedure in some executable way and the Procedure (an algorithm, procedure or method).
Inverse property of ssn:implementedBy
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Object Property: ssn:implementedBy

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

implemented by - Relation between a Procedure (an algorithm, procedure or method) and an entity that implements that Procedure in some executable way.
Inverse property of ssn:implements
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Object Property: ssn:hasInput

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

has Input - Relation between a Procedure and an Input to it.
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:Input

IRI: http://www.w3.org/ns/ssn/Input

Input - Any information that is provided to a Procedure for its use. [MMI OntDev]
Restrictions inverse Of ssn:hasInput must be sosa:Procedure
inverse Of ssn:hasInput must be at least 1
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Object Property: ssn:hasOutput

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

has Output - Relation between a Procedure and an Output of it.
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:Output

IRI: http://www.w3.org/ns/ssn/Output

Output - Any information that is reported from a Procedure.
Restrictions inverse Of ssn:hasOutput must be sosa:Procedure
inverse Of ssn:hasOutput must be at least 1
is Defined By http://www.w3.org/ns/ssn/

[back to top]

Systems and Deployments

This section introduces the following classes and properties:

To ease readability, the following figure provides an overview over the core classes and properties that are specifically related to modeling systems and their deployment.

Systems and deployment
Classes and relationships related to systems and deployments

OWL Class: sosa:Platform

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

Platform - A Platform is an entity that hosts other entities, particularly Sensors, Actuators, Samplers, and other Platforms.
Example A post, buoy, vehicle, ship, aircraft, satellite, cell-phone, human or animal may act as Platforms for (technical or biological) Sensors or Actuators.
Restrictions sosa:hosts must be ssn:System
ssn:inDeployment must be ssn:Deployment

[back to index]

OWL Object Property: sosa:hosts

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

hosts - Relation between a Platform and a Sensor, Actuator, Sampler, or Platform, hosted or mounted on it.
Domain Includes sosa:Platform
Range Includes sosa:Actuator, sosa:Sensor, sosa:Sampler, sosa:Platform
Inverse property of sosa:isHostedBy
Sub property of Chain ssn:inDeployment o ssn:deployedSystem

[back to index]

OWL Object Property: sosa:isHostedBy

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

is hosted by - Relation between a Sensor, or Actuator, Sampler, or Platform, and the Platform that it is mounted on or hosted by.
Domain Includes sosa:Actuator, sosa:Sensor, sosa:Sampler, sosa:Platform
Range Includes sosa:Platform
Inverse property of sosa:hosts

[back to index]

OWL Class: ssn:System

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

System - System is a unit of abstraction for pieces of infrastructure that implement Procedures. A System may have components, its subsystems, which are other Systems.
Restrictions sosa:isHostedBy must be sosa:Platform
ssn:implements must be sosa:Procedure
ssn:hasSubSystem must be ssn:System
inverse Of ssn:hasSubSystem must be ssn:System
ssn:hasDeployment must be ssn:Deployment
ssn:hasSystemCapability must be ssn:SystemCapability
ssn:hasOperatingRange must be ssn:OperatingRange
ssn:hasSurvivalRange must be ssn:SurvivalRange
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Object Property: ssn:hasSubSystem

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

has subsystem - Relation between a System and its component parts.
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:Deployment

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

Deployment - Describes the Deployment of one or more Systems for a particular purpose. Deployment may be done on a Platform.
Example For example, a temperature Sensor deployed on a wall, or a whole network of Sensors deployed for an Observation campaign.
Restrictions ssn:deployedSystem must be ssn:System
ssn:deployedOnPlatform must be sosa:Platform
ssn:forProperty must be ssn:Property
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Object Property: ssn:deployedSystem

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

deployed system - Relation between a Deployment and a deployed System.
Inverse property of ssn:hasDeployment
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Object Property: ssn:hasDeployment

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

has deployment - Relation between a System and a Deployment, recording that the System is deployed in that Deployment.
Inverse property of ssn:deployedSystem
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Object Property: ssn:deployedOnPlatform

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

deployed on platform - Relation between a Deployment and the Platform on which the Systems are deployed.
Inverse property of ssn:inDeployment
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Object Property: ssn:inDeployment

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

in deployment - Relation between a Platform and a Deployment, meaning that the deployedSystems of the Deployment are hosted on the Platform.
Example For example, a relation between a buoy and a Deployment of several Sensors.
Inverse property of ssn:deployedOnPlatform
is Defined By http://www.w3.org/ns/ssn/

[back to top]

Conditions

This section introduces the following classes and properties:

ssn:inCondition, ssn:Condition

To ease readability, the following figure provides an overview over the core classes and properties that are specifically related to modeling conditions.

Conditions
Classes and relationships related to conditions

OWL Object Property: ssn:inCondition

IRI: http://www.w3.org/ns/ssn/inCondition

in condition - Describes the prevailing environmental Conditions for SystemCapabilites, OperatingRanges and SurvivalRanges.
Example Used for example to say that a Sensor has a particular accuracy in particular Conditions.
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:Condition

IRI: http://www.w3.org/ns/ssn/Condition

Condition - Used to specify ranges for qualities that act as Conditions on a Systems' operation.
Example For example, wind speed of 10-60m/s may be used as the Condition on a SystemProperty, for example, to state that a Sensor has a particular Accuracy under that Condition.
Sub class of ssn:Property
is Defined By http://www.w3.org/ns/ssn/

[back to top]

System Capabilities

This section introduces the following classes and properties:

To ease readability, the following figure provides an overview over the core classes and properties that are specifically related to modeling system capabilities, as well as operating ranges and survival ranges presented in the following sections.

System properties
Classes and relationships related to system capabilities, operating ranges and survival ranges

OWL Object Property: ssn:hasSystemCapability

IRI: http://www.w3.org/ns/ssn/hasSystemCapability

has system capability - Relation from a System to a SystemCapability describing the capabilities of the System under certain Conditions.
Sub property of ssn:hasProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:SystemCapability

IRI: http://www.w3.org/ns/ssn/SystemCapability

System Capability - Describes normal measurement, actuation, sampling properties such as accuracy, range, precision, etc. of a System under some specified Conditions such as a temperature range.
The capabilities specified here are those that affect the primary purpose of the System, while those in OperatingRange represent the system's normal operating environment, including Conditions that don't affect the Observations or the Actuations.
Sub class of ssn:Property
Restrictions ssn:forProperty must be ssn:Property
ssn:hasSystemProperty must be ssn:SystemProperty
ssn:inCondition must be ssn:Condition
ssn:inCondition must be at least 1
inverse Of ssn:hasSystemCapability must be ssn:System
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Object Property: ssn:hasSystemProperty

IRI: http://www.w3.org/ns/ssn/hasSystemProperty

has system property - Relation from an SystemCapability of a System to a SystemProperty describing the capabilities of the System.
Sub property of ssn:hasProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:SystemProperty

IRI: http://www.w3.org/ns/ssn/SystemProperty

System Property - An identifiable and observable characteristic that represents the System's ability to operate its primary purpose: a Sensor to make Observations, an Actuator to make Actuations, or a Sampler to make Sampling.
Sub class of ssn:Property
Restrictions inverse Of ssn:hasSystemProperty must be ssn:SystemCapability
inverse Of ssn:hasSystemProperty must be at least 1
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:MeasurementRange

IRI: http://www.w3.org/ns/ssn/MeasurementRange

Measurement Range - The set of values that the Sensor can return as the Result of an Observation under the defined Conditions with the defined system properties.
Sub class of ssn:SystemProperty
Restrictions inverse Of ssn:hasSystemProperty must be inverse Of ssn:hasSystemCapability must be sosa:Sensor
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:ActuationRange

IRI: http://www.w3.org/ns/ssn/ActuationRange

Actuation Range - The range of Property values that can be the Result of an Actuation under the defined Conditions.
Sub class of ssn:SystemProperty
Restriction inverse Of ssn:hasSystemProperty must be inverse Of ssn:hasSystemCapability must be sosa:Actuator
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:Accuracy

IRI: http://www.w3.org/ns/ssn/Accuracy

Accuracy - The closeness of agreement between the Result of an Observation (resp. the command of an Actuation) and the true value of the observed ObservableProperty (resp. of the acted on ActuatableProperty) under the defined Conditions.
Sub class of ssn:SystemProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:DetectionLimit

IRI: http://www.w3.org/ns/ssn/DetectionLimit

Detection Limit - An observed value for which the probability of falsely claiming the absence of a component in a material is beta, given a probability alpha of falsely claiming its presence.
Sub class of ssn:SystemProperty
Restriction inverse Of ssn:hasSystemProperty must be inverse Of ssn:hasSystemCapability must be sosa:Sensor
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:Drift

IRI: http://www.w3.org/ns/ssn/Drift

Drift - As a Sensor Property: a continuous or incremental change in the reported values of Observations over time for an unchanging Property under the defined Conditions.
As an Actuator Property: a continuous or incremental change in the true value of the acted on ActuatableProperty over time for an unchanging command under the defined Conditions.
Sub class of ssn:SystemProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:Frequency

IRI: http://www.w3.org/ns/ssn/Frequency

Frequency - The smallest possible time between one Observation, Actuation, or Sampling and the next, under the defined Conditions.
Sub class of ssn:SystemProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:Latency

IRI: http://www.w3.org/ns/ssn/Latency

Latency - The time between a command for an Observation (resp. Actuation) and the Sensor providing a Result (resp. the Actuator operating the Actuation), under the defined Conditions.
Sub class of ssn:SystemProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:Precision

IRI: http://www.w3.org/ns/ssn/Precision

Precision - The closeness of agreement between replicate Observations on an unchanged or similar quality value: i.e., a measure of a Sensor's ability to consistently reproduce an Observation, under the defined Conditions.
Sub class of ssn:SystemProperty
Restriction inverse Of ssn:hasSystemProperty must be inverse Of ssn:hasSystemCapability must be sosa:Sensor
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:Resolution

IRI: http://www.w3.org/ns/ssn/Resolution

Resolution - As a Sensor Property: the smallest difference in the value of a ObservableProperty being observed that would result in perceptably different values of Observation Results, under the defined Conditions.
As an Actuator Property: the smallest difference in the value of an Actuation command that would result in a value change of the ActuatableProperty being acted on, under the defined Conditions.
Sub class of ssn:SystemProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:Repeatability

IRI: http://www.w3.org/ns/ssn/Repeatability

Repeatability - The closeness of agreement between replicate Actuations for an unchanged or similar command: i.e., a measure of an Actuator's ability to consistently reproduce an Actuations, under the defined Conditions.
Sub class of ssn:SystemProperty
Restriction inverse Of ssn:hasSystemProperty must be inverse Of ssn:hasSystemCapability must be sosa:Actuator
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:ResponseTime

IRI: http://www.w3.org/ns/ssn/ResponseTime

Response time - As a Sensor Property: the time between a (step) change in the value of an observed ObservableProperty and a Sensor (possibly with specified error) 'settling' on an observed value, under the defined Conditions.
As an Actuator Property: the time between a (step) change in the command of an Actuator and the 'settling' of the value of the acted on ActuatableProperty, under the defined Conditions.
Sub class of ssn:SystemProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:Selectivity

IRI: http://www.w3.org/ns/ssn/Selectivity

Selectivity - As a Sensor Property: Selectivity is a Property of a Sensor whereby it provides observed values for one or more ObservableProperties such that the Result for each ObservableProperty are independent of other Properties in the FeatureOfInterest being investigated, under the defined Conditions.
As an Actuator Property: Selectivity is a Property of an Actuator whereby it acts on one or more ActuatableProperties such as the Results for each ActuatableProperty are independent of other Properties in the FeatureOfInterest being acted on, under the defined Conditions.
Sub class of ssn:SystemProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:Sensitivity

IRI: http://www.w3.org/ns/ssn/Sensitivity

Sensitivity - As a Sensor Property: Sensitivity is the quotient of the change in a Result of Observations and the corresponding change in a value of an ObservableProperty being observed, under the defined Conditions.
As an Actuator Property: Sensitivity is the quotient of the change in a command of Actuation and the corresponding change in a value of an ActuatableProperty being acted on, under the defined Conditions.
Sub class of ssn:SystemProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

Operating Ranges

This section introduces the following classes and properties:

OWL Object Property: ssn:hasOperatingRange

IRI: http://www.w3.org/ns/ssn/hasOperatingRange

has operating range - Relation from a System to an OperatingRange describing the normal operating environment of the System.
Sub property of ssn:hasProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:OperatingRange

IRI: http://www.w3.org/ns/ssn/OperatingRange

Operating Range - Describes normal OperatingProperties of a System under some specified Conditions. For example, to the power requirement or maintenance schedule of a System under a specified temperature range.
In the absence of OperatingProperties, it simply describes the Conditions in which a System is expected to operate.
The System continues to operate as defined using SystemCapability. If, however, the OperatingProperty is violated, the System is operating 'out of operating range' and SystemCapability specifications may no longer hold.
Sub class of ssn:Property
Restrictions: ssn:hasOperatingProperty must be ssn:OperatingProperty
ssn:inCondition must be ssn:Condition
ssn:inCondition must be at least 1
inverse Of ssn:hasOperatingRange must be ssn:System
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Object Property: ssn:hasOperatingProperty

IRI: http://www.w3.org/ns/ssn/hasOperatingProperty

has operating property - Relation from an OperatingRange of a System to an OperatingProperty describing the operating range of the System.
Sub property of ssn:hasProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:OperatingProperty

IRI: http://www.w3.org/ns/ssn/OperatingProperty

Operating Property - An identifiable characteristic that represents how the System operates under the specified Conditions. May describe power ranges, power sources, standard configurations, attachments and the like.
Sub class of ssn:Property
Restrictions inverse Of ssn:hasOperatingProperty must be ssn:OperatingRange
inverse Of ssn:hasOperatingProperty must be at least 1
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:MaintenanceSchedule

IRI: http://www.w3.org/ns/ssn/MaintenanceSchedule

Maintenance Schedule - Schedule of maintenance for a System in the specified Conditions.
Sub class of ssn:OperatingProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:OperatingPowerRange

IRI: http://www.w3.org/ns/ssn/OperatingPowerRange

Operating Power Range - Power range in which System is expected to operate in the specified Conditions.
Sub class of ssn:OperatingProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

Survival Ranges

This section introduces the following classes and properties:

OWL Object Property: ssn:hasSurvivalRange

IRI: http://www.w3.org/ns/ssn/hasSurvivalRange

has survival range - Relation from a System to a SurvivalRange.
Sub property of ssn:hasProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:SurvivalRange

IRI: http://www.w3.org/ns/ssn/SurvivalRange

Survival Range - Describes SurvivalProperties of a System under some specified Conditions. For example, to the lifetime of a System under a specified temperature range.
In the absence of SurvivalProperties, simply describes the Conditions a System can be exposed to without damage. For example, the temperature range a System can withstand before being considered damaged.
The System continues to operate as defined using SystemCapability. If, however, the SurvivalRange is violated, the System is 'damaged' and SystemCapability specifications may no longer hold.

Sub class of ssn:Property
Restrictions ssn:hasSurvivalProperty must be ssn:SurvivalProperty
ssn:inCondition must be ssn:Condition
ssn:inCondition must be at least 1
inverse Of ssn:hasSurvivalRange must be ssn:System
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Object Property: ssn:hasSurvivalProperty

IRI: http://www.w3.org/ns/ssn/hasSurvivalProperty

has survival property - Relation from a SurvivalRange of a System to a SurvivalProperty describing the survival range of the System.
Sub property of ssn:hasProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:SurvivalProperty

IRI: http://www.w3.org/ns/ssn/SurvivalProperty

Survival Property - An identifiable characteristic that represents the extent of the System's useful life under the specified Conditions. May describe for example total battery life or number of recharges, or, for Sensors that are used only a fixed number of times, the number of Observations that can be made before the sensing capability is depleted.
Sub class of ssn:Property
Restrictions inverse Of ssn:hasSurvivalProperty must be ssn:SurvivalRange
inverse Of ssn:hasSurvivalProperty must be at least 1
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:SystemLifetime

IRI: http://www.w3.org/ns/ssn/SystemLifetime

System Lifetime - Total useful life of a System (expressed as total life since manufacture, time in use, number of operations, etc.) in the specified Conditions.
Sub class of ssn:SurvivalProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

OWL Class: ssn:BatteryLifetime

IRI: http://www.w3.org/ns/ssn/BatteryLifetime

Battery Lifetime - Total useful life of a System's battery in the specified Conditions.
Sub class of ssn:SurvivalProperty
is Defined By http://www.w3.org/ns/ssn/

[back to top]

Vertical Segmentation

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

Dolce-Ultralite Alignment Module

This section introduces the alignment of SSN to DOLCE+DNS Ultralite upper ontology (DUL) which is the core dependency of the previous version of SSN. This serves to axiomatically clarify the intended meaning of SSN terms and will assist SSN users wishing to interoperate with other DUL-aligned ontologies. It also will be imported to the alignment module of the previous SSN to the current one. Note that it can be used independent to the previous version of SSN to align with more generic concepts/properties of DUL alone.

The Dolce-Ultralite alignment, known as "ssn-dul" is available at http://www.w3.org/ns/ssn/dul.

Namespaces

The following namespace prefixes are used in the alignment to SOSA and SSN

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

Class Alignments

Similar to the previous SSN ontology extending some more generic classes of DUL, the following classes in SOSA and SSN can be aligned via the subclass relation as follows.

sosa:Procedure subclass of dul:Method
ssn:Sensor subclass of dul:Object
sosa:Observation subclass of dul:Event
ssn:Property subclass of dul:Quality
ssn:Stimulus subclass of dul:Event
ssn:System subclass of dul:Object
sosa:Platform subclass of dul:PhysicalObject

For more complex alignments, the axiomatic alignments are defined as follows.

ssn:FeatureOfInterest subclass of owl:unionOf ( dul:Event dul:Object dul:Quality)
sosa:Result subclass of [ owl:unionOf ( dul:Region dul:Object ) ]
sosa:Deployment subclass of [ owl:unionOf ( dul:Situation dul:Process ) ]

Property Alignments

Additional alignments from DUL properties to SOSA/SSN are defined as follows.

ssn:hasProperty sub-property of dul:hasQuality
ssn:isPropertyOf sub-property of dul:isQualityOf
sosa:hosts sub-property of dul:isLocationOf
sosa:isHostedBy sub-property of dul:hasLocation
ssn:implementedBy sub-property of dul:describes
ssn:implements sub-property of dul:isDescribedBy
ssn:usedProcedure sub-property of dul:satisfies
sosa:madeObservation sub-property of dul:associatedWith
sosa:madeBySensor sub-property of dul:associatedWith
sosa:observedProperty sub-property of dul:associatedWith
sosa:hasResult sub-property of dul:associatedWith
sosa:phenomenonTime sub-property of dul:hasRegion
ssn:hasSubSystem sub-property of dul:hasPart
ssn:deployedOnPlatform sub-property of dul:associatedWith
ssn:deployedSystem sub-property of dul:associatedWith
ssn:hasDeployment sub-property of dul:associatedWith
ssn:inDeployment sub-property of dul:associatedWith

SSNX Alignment Module

This section formally relates the SSN ontology to the previous version of SSN that was published by the SSN-XG ("old SSN"). This may be useful for backward-compatibility and transition purposes. While the namespaces for SSN and DUL have changed since the SSN-XG first published the old SSN, the SSN alignment, known as "SSN-SSNX" is available at http://www.w3.org/2017/01/ssn-ssnx/. Note that, SSN-SSNX imports SSN-DUL.

Namespaces

The following namespace prefixes are used in the alignment to SOSA and SSN

Prefix Namespace
sosa: http://www.w3.org/ns/sosa/
ssn: http://www.w3.org/ns/ssn/
oldssn: http://purl.oclc.org/NET/ssnx/ssn#

Class Alignments

The primary classes from SSN-XG have direct equivalent classes in SOSA and SSN as shown below.

oldssn:FeatureOfInterest equivalent class sosa:FeatureOfInterest
oldssn:Property equivalent class ssn:Property
oldssn:System equivalent class ssn:System
oldssn:Platform equivalent class sosa:Platform
oldssn:Input equivalent class ssn:Input
oldssn:Output equivalent class ssn:Output
oldssn:Stimulus equivalent class ssn:Stimulus
oldssn:MeasurementRange equivalent class ssn:MeasurementRange
oldssn:Sensor equivalent class sosa:Sensor
oldssn:Condition equivalent class ssn:Condition
oldssn:Precision equivalent class ssn:Precision
oldssn:Sensitivity equivalent class ssn:Sensitivity
oldssn:OperatingProperty equivalent class ssn:OperatingProperty
oldssn:MaintenanceSchedule equivalent class ssn:MaintenanceSchedule
oldssn:OperatingPowerRange equivalent class ssn:OperatingPowerRange
oldssn:SurvivalProperty equivalent class ssn:SurvivalProperty
oldssn:BatteryLifetime equivalent class ssn:BatteryLifetime
oldssn:SystemLifetime equivalent class ssn:SystemLifetime

The following classes in SOSA and SSN are interpreted as superclasses of the corresponding ones in SSN-XG.

oldssn:Device subclass of sosa:Platform; ssn:System
oldssn:Sensing subclass of sosa:Procedure
oldssn:ObservationValue subclass of sosa:Result
oldssn:MeasurementProperty subclass of ssn:SystemProperty
oldssn:Accuracy subclass of ssn:Accuracy
oldssn:DetectionLimit subclass of ssn:DetectionLimit
oldssn:Drift subclass of ssn:Drift
oldssn:Frequency subclass of ssn:Frequency
oldssn:Latency subclass of ssn:Latency
oldssn:Resolution subclass of ssn:Resolution
oldssn:ResponseTime subclass of ssn:ResponseTime
oldssn:Selectivity subclass of ssn:Selectivity

The more complex aligments of SSN-XG classes are expressed as combinations of axiomatic statements as follows.

oldssn:Process equivalent class sosa:Procedure
subclass of [ a owl:Restriction ; owl:onProperty oldssn:hasOutput ; owl:someValuesFrom oldssn:Output ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:hasInput ; owl:allValuesFrom oldssn:Input ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:hasOutput ; owl:allValuesFrom oldssn:Output ]
oldssn:Observation subclass of [ a owl:Restriction ; owl:onProperty oldssn:featureOfInterest ; owl:allValuesFrom oldssn:FeatureOfInterest ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:observationResult ; owl:allValuesFrom oldssn:SensorOutput ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:observedBy ; owl:allValuesFrom oldssn:Sensor ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:observedProperty ; owl:allValuesFrom oldssn:Property ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:sensingMethodUsed ; owl:allValuesFrom oldssn:Sensing ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:observationResultTime ; owl:minCardinality "0"^^xsd:nonNegativeInteger ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:observationSamplingTime ; owl:minCardinality "0"^^xsd:nonNegativeInteger ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:qualityOfObservation ; owl:minCardinality "0"^^xsd:nonNegativeInteger ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:featureOfInterest ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; owl:onClass oldssn:FeatureOfInterest ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:observedBy ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; owl:onClass oldssn:Sensor ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:observedProperty ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; owl:onClass oldssn:Property ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:sensingMethodUsed ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; owl:onClass oldssn:Sensing ]
oldssn:SensorOutput subclass of sosa:Result
subclass of [ a owl:Restriction ; owl:onProperty oldssn:hasValue ; owl:someValuesFrom oldssn:ObservationValue ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:isProducedBy ; owl:someValuesFrom oldssn:Sensor ]
oldssn:ObservationValue subclass of sosa:Result
subclass of [ a owl:Restriction ; owl:onProperty dul:isRegionFor ; owl:someValuesFrom oldssn:SensorOutput ]
oldssn:Deployment equivalent class ssn:Deployment
subclass of [ a owl:Restriction ; owl:onProperty oldssn:deployedOnPlatform ; owl:allValuesFrom oldssn:Platform ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:deployedSystem ; owl:allValuesFrom oldssn:System ]
oldssn:MeasurementCapability subclass of ssn:SystemCapability
subclass of [ a owl:Restriction ; owl:onProperty oldssn:forProperty ; owl:allValuesFrom oldssn:Property ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:hasMeasurementProperty ; owl:allValuesFrom oldssn:MeasurementProperty ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:inCondition ; owl:allValuesFrom oldssn:Condition ]
oldssn:OperatingRange equivalent class ssn:OperatingRange
subclass of [ a owl:Restriction ; owl:onProperty oldssn:hasOperatingProperty ; owl:allValuesFrom oldssn:OperatingProperty ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:inCondition ; owl:allValuesFrom oldssn:Condition ]
oldssn:SurvivalRange equivalent class ssn:SurvivalRange
subclass of [ a owl:Restriction ; owl:onProperty oldssn:hasSurvivalProperty ; owl:allValuesFrom oldssn:SurvivalProperty ]
subclass of [ a owl:Restriction ; owl:onProperty oldssn:inCondition ; owl:allValuesFrom oldssn:Condition ]

Property Alignments

The following properties from SSN-XG have direct equivalent properties in SOSA and SSN.

oldssn:hasProperty equivalent property ssn:hasProperty
oldssn:isPropertyOf equivalent property ssn:isPropertyOf
oldssn:attachedSystem equivalent property sosa:hosts
oldssn:onPlatform equivalent property sosa:isHostedBy
oldssn:hasInput equivalent property ssn:hasInput
oldssn:hasOutput equivalent property ssn:hasOutput
oldssn:implements equivalent property ssn:implements
oldssn:implementedBy equivalent property ssn:implementedBy
oldssn:sensingMethodUsed equivalent property sosa:usedProcedure
oldssn:featureOfInterest equivalent property sosa:hasFeatureOfInterest
oldssn:madeObservation equivalent property sosa:madeObservation
oldssn:observedBy equivalent property sosa:madeBySensor
oldssn:observedProperty equivalent property sosa:observedProperty
oldssn:detects equivalent property ssn:detects
oldssn:isProxyFor equivalent property ssn:isProxyFor
oldssn:hasValue equivalent property sosa:hasResult
oldssn:isProducedBy equivalent property sosa:isResultOf
oldssn:observationResult equivalent property sosa:hasResult
oldssn:observationSamplingTime equivalent property sosa:phenomenonTime
oldssn:qualityOfObservation equivalent property ssn:qualityOfObservation
oldssn:hasSubSystem equivalent property ssn:hasSubSystem
oldssn:deployedOnPlatform equivalent property ssn:deployedOnPlatform
oldssn:deployedSystem equivalent property ssn:deployedSystem
oldssn:hasDeployment equivalent property ssn:hasDeployment
oldssn:inDeployment equivalent property ssn:inDeployment
oldssn:forProperty equivalent property ssn:forProperty
oldssn:inCondition equivalent property ssn:inCondition
oldssn:hasSurvivalRange equivalent property ssn:hasSurvivalRange
oldssn:hasSurvivalProperty equivalent property ssn:hasSurvivalProperty
oldssn:hasOperatingRange equivalent property ssn:hasOperatingRange
oldssn:hasOperatingProperty equivalent property ssn:hasOperatingProperty

Additional alignments from SSG-XG properties to SOSA and SSN are defined as follows.

oldssn:hasMeasurementCapability sub-property of ssn:hasSystemCapability
oldssn:hasMeasurementProperty sub-property of ssn:hasSystemProperty
oldssn:hasSurvivalRange sub-property of sosa:hasResult

The more complicated alignments are presented in combination with the property-chain axioms as follows.

oldssn:observes equivalent property sosa:observes
property chain axiom ( oldssn:hasMeasurementCapability oldssn:forProperty )
property chain axiom ( oldssn:madeObservation oldssn:observedProperty )

O&M Alignment Module

This section introduces the alignment of SOSA/SSN to OGC Observations and Measurements [[OandM]] (also known as ISO 19156:2011).

The XML implementation of O&M [[OMXML]] is used for the payload for Sensor Observation Services, of which there are many operational deployments. Integration of these with observation data formalized using SOSA and SSN is highly desirable, and would be expected to significantly enrich the set of resources represented using SOSA/SSN. The alignment presented here provides a basis for transforming OM-XML data into RDF or OWL individuals according to the SOSA/SSN ontologies.

Identifying the UML elements

O&M is specified as a UML model, following the patterns specified in ISO 19109 Geographic Information - Rules for Application Schema [[ISO-19109]]. This means that the classes represent concepts from the application domain, so can be approximately equated with classes in an ontology.

An OWL implementation of O&M may be generated by explicit translation of the UML following rules specified in [[ISO-19150-2]] - see [[OM-Heavy]]. This translation generates an RDF entity denoted by a URI for every class, class attribute, and association-role from the original O&M UML model. The form of the URIs is also specified in [[ISO-19150-2]], and appear explicitly in the official OWL implementation of ISO 19156 (O&M) maintained by the ISO/TC 211 Group on Ontology Management. These URIs are therefore convenient identifiers for elements of the O&M in a formal alignment.

The explicit translation from the UML comes at a cost of a large set of dependencies on similar OWL translations of other UML models from ISO 19100 series standards. Furthermore, the ontology structure reflects artefacts of the UML-style of modeling. This implementation may introduce entailments that are inconsistent with SOSA/SSN (though no inconsistencies have been identified yet) so it is important to understand that use of these URIs here are principally intended to denote the original UML classes and properties, rather than this OWL implementation.

NOTE: In response to the complexity of the explicit translation, a handcrafted version in more idiomatic OWL, without the dependencies, is also available [[OM-Lite]].

NOTE: At time of writing, the ISO-specified URIs do not de-reference, however, ISO/TC 211 are currently developing a publication system to enable this and thus the use of these URIs as Linked Data.

Namespaces

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

Prefix Namespace
sosa: http://www.w3.org/ns/sosa/
sosa-om: http://www.w3.org/ns/sosa/om#
iso19156-gfi: http://def.isotc211.org/iso19156/2011/GeneralFeatureInstance#
iso19156-om: http://def.isotc211.org/iso19156/2011/Observation#
iso19156-sf: http://def.isotc211.org/iso19156/2011/SamplingFeature#
iso19156-sfs: http://def.isotc211.org/iso19156/2011/SpatialSamplingFeature#
iso19156-sp: http://def.isotc211.org/iso19156/2011/Specimen#

Utility Classes

Three utility classes are defined locally to support the formalization of the alignment.

sosa-om:ActuationProcedure Actuation procedures or recipes
sosa-om:ObservationProcedure Observation procedures or recipes
sosa-om:SamplingProcedure Sampling, sample preparation or processing procedures or recipes

Class Alignments

The primary classes from [[OandM]] have direct equivalents in SOSA classes supplemented by the utility classes described above, as follows.

iso19156-om:OM_Observation equivalent class sosa:Observation
iso19156-om:OM_Process equivalent class Union of ( sosa:Sensor or sosa-om:ObservationProcedure )
iso19156-sf:SF_SamplingFeature equivalent class sosa:Sample
iso19156-sf:SF_Process equivalent class Union of ( sosa:Sampler or sosa-om:SamplingProcedure )

Additional alignments from SOSA/SSN classes to O&M classes are as follows.

iso19156_sp:PreparationStep subclass of sosa:Sampling

iso19156_sp:PreparationStep is a subclass since the act of Sampling applies to all sample types, not only physical specimens.

sosa:FeatureOfInterest subclass of iso19156_gfi:GFI_DomainFeature

where iso19156_gfi:GFI_DomainFeature has the definition:

 
The class GFI_DomainFeature represents 'real-world' features which are the ultimate subject of an observation campaign, i.e. the features from an application domain that are not artefacts of the observation process (sampling features).

sosa:FeatureOfInterest is a subclass of iso19156_gfi:GFI_DomainFeature since not all domain features are subjects of observation.

sosa:Actuator subclass of iso19156_gfi:GFI_Feature
sosa:Platform subclass of iso19156_gfi:GFI_Feature

where iso19156_gfi:GFI_Feature has the definition

 
The class GFI_Feature represents the set of all classes which are feature types. In an implementation this abstract class shall be substituted by a concrete class representing a feature type from an application schema associated with a domain of discourse (ISO 19109, ISO 19101).

Property Alignments

The following properties from [[OandM]] have direct equivalents in SOSA properties.

iso19156-om:OM_Observation.featureOfInterest equivalent property sosa:hasFeatureOfInterest
iso19156-om:OM_Observation.observedProperty equivalent property sosa:observedProperty
iso19156-om:OM_Observation.phenomenonTime equivalent property sosa:phenomenonTime
iso19156-sf:SF_SamplingFeature.sampledFeature equivalent property sosa:isSampleOf

Additional alignments from O&M properties to SOSA are as follows.

iso19156-om:OM_Observation.procedure sub-property of sosa:usedProcedure
iso19156-sp:SF_Specimen.samplingMethod sub-property of sosa:usedProcedure
iso19156-om:OM_Observation.result sub-property of sosa:hasResult
iso19156-om:OM_Observation.resultTime sub-property of sosa:resultTime
iso19156-sp:SF_Specimen.samplingTime sub-property of sosa:resultTime
iso19156-sp:PreparationStep.time sub-property of sosa:resultTime
iso19156-sp:SF_Specimen.processingDetails sub-property of sosa:isResultOf

These are modeled as sub-properties because sosa:usedProcedure, sosa:hasResult, sosa:isResultOf and sosa:resultTime applies to actuation, observation or sampling activities.

iso19156-sfs:SF_SpatialSamplingFeature.hostedProcedure sub-property of sosa:hosts

This is modeled as a sub-property because the domain of iso19156-sfs:SF_SpatialSamplingFeature.hostedProcedure is a spatial sampling feature, such as a station, rather than a more general platform.

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

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.

Namespaces

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

Prefix Namespace
sosa: http://www.w3.org/ns/sosa/
oboe: http://ecoinformatics.org/oboe/oboe.1.0/oboe-core.owl#

Class Alignments

An oboe:Observation is composed of a collection of oboe:Measurements with the same feature-of-interest. Each oboe:Measurement concerns a distinct observed-property ("characteristic") and uses a distinct procedure ("protocol"). We therefore choose to align sosa:Observation with oboe:Measurement.

OBOE core classes SOSA Observation
Core classes from OBOE alongside the SOSA observation model.

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

oboe:Measurement subclass of sosa:Observation
oboe:Characteristic equivalent class sosa:ObservableProperty
oboe:Protocol equivalent class sosa:Procedure

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.

sosa:FeatureOfInterest subclass of oboe:Entity
sosa:Result subclass of oboe:Entity

Property Alignments

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

oboe:ofCharacteristic equivalent property sosa:observedProperty
oboe:hasValue equivalent property sosa:hasResult
oboe:usesProtocol equivalent property sosa:usedProcedure
oboe:usesMethod equivalent property sosa:usedProcedure

oboe:hasValue, oboe:usesProtocol and oboe:usesMethod are sub-properties of the corresponding SOSA properties which apply to actuation and sampling as well as observation.

The feature-of-interest is linked to the oboe:Observation that contains a oboe:Measurement, rather than to the oboe:Measurement directly, so a property-chain axiom is required to express the alignment.

sosa:hasFeatureOfInterest property-chain axiom [oboe:measurementFor, oboe:ofEntity]

The properties oboe:hasMeasurement and its inverse oboe:measurementFor link an oboe:Observation to its member oboe:Measurements. These could be modeled as sub-properties related to rdfs:member and its inverse as follows.

oboe:hasMeasurement sub-property of rdfs:member
oboe:measurementFor sub-property of [ owl:inverseOf rdfs:member ]

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

PROV Alignment Module

This section introduces the alignment of SOSA to W3C PROV.

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; it may include consuming, processing, transforming, modifying, relocating, using, or generating entities, and Agent - 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.

PROV-O Observation PROV-O Actuation PROV-O Sampling PROV-O
Core PROV classes and some of the properties that relate them, shown alongside the core SOSA structure for observation, actuation and sampling. Classes generally aligned with prov:Entity in yellow ellipses; with prov:Activity in purple boxes; with prov:Agent in orange boxes.

The SOSA/SSN ontologies conceive observations, actuations, and acts of sampling as activities or events, that result in information being produced, or a change in the world, or the production or transformation of a sample. Thus, an alignment of SOSA to PROV is natural. Compton et al. [[SSN-PROV]] and Cox [[OM-Lite]] have previously described alignments of the SSN-X and O&M models with PROV. The alignment here is based on that work, also extended to consider actuation.

Namespaces

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

Prefix Namespace
sosa: http://www.w3.org/ns/sosa/
prov: http://www.w3.org/ns/prov#
sp: http://www.w3.org/ns/sosa/prov/

Class Alignments

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

1. Acts of Observation, Actuation and Sampling are each kinds of Activity, thus:

sosa:Observation subclass of prov:Activity
sosa:Actuation
sosa:Sampling

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

sosa:Sensor subclass of prov:Agent , prov:Entity
sosa:Actuator
sosa:Sampler

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

sosa:Procedure subclass of prov:Plan

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

sosa:FeatureOfInterest subclass of prov:Entity
sosa:ObservableProperty subclass of prov:Entity
sosa:Platform subclass of prov:Entity
sosa:Result subclass of prov:Entity
sosa:Sample subclass of prov:Entity

Property Alignments

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

sosa:madeByActuator subproperty of prov:wasAssociatedWith
sosa:hasFeatureOfInterest subproperty of prov:used
sosa:hasResult subproperty of prov:generated
sosa:invokedBy subproperty of prov:wasAssociatedWith
sosa:isResultOf subproperty of prov:prov:wasGeneratedBy
sosa:isSampleOf subproperty of prov:prov:wasDerivedFrom
sosa:madeBySampler subproperty of prov:wasAssociatedWith
sosa:madeBySensor subproperty of prov:wasAssociatedWith
sosa:resultTime subproperty of prov:prov:endedAtTime

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

sp:eventAssociation subproperty of prov:qualifiedAssociation
domain Union of ( sosa:Observation or sosa:Actuation or sosa:Sampling )
sp:hadProcedure subproperty of prov:hadPlan
range sosa:Procedure

Then sosa:usedProcedure is given by a property chain axiom :

sosa:usedProcedure property chain axiom [ sp:eventAssociation , sp:hadProcedure ]

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

Horizontal Segmentation

This section provides details on the currently available horizontal segmentation modules and the handling of forecasts and locations.

Sample Relations Module

Samples are often related to other samples, by sub-sampling, topological relationships (stations along a traverse, pixels within an image, probe spots on a polished section, specimens retrieved withina borehole) or as parts of sample processing chains (crushing, splitting, dissecting, disolving). There are 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 namespace for Sample relationships terms is http://www.w3.org/ns/sosa/sampling/

The suggested prefix for the sample relationships namespace is sampling

An ontology graph for this is available.

Sample relationships
Model of sample relationships

Sample Relationships Specification

An a-z index of sampling terms, by class (categories or types) and by property.

Classes and Properties

Class: sampling:RelationshipNature

Nature of relationship (between samples) - Members of this class indicate the nature of a relationship between two samples.
Status: unknown
OWL Class

[#] [back to top]


Class: sampling:SampleRelationship

Sample relationship - Members of this class represent a relationship between a sample and another.
Status: unknown
OWL Class

[#] [back to top]


Property: sampling:hasSampleRelationship

has sample relationship - Links a sample to a sample relationship (which links to a related sample).
Status: unknown
Object Property

[#] [back to top]


Property: sampling:natureOfRelationship

nature of (sample) relationship - Links a SampleRelationship to an indication of the nature of the relationship.
Status: unknown
Object Property

[#] [back to top]


Property: sampling:relatedSample

related sample - Links a sample relationship to the related sample.
Status: unknown
Object Property

[#] [back to top]


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. To do so, these entities can be declared as instances of geo:Feature and geometries can be assigned to them via the geo:hasGeometry property. In case of classes, e.g., specific features of interests such as rivers, these can be defined as subclasses of geo:Feature.

Forecasts

One may also represent forecasts as observations if the value of sosa:phenomenonTime is later in time than the sosa:resultTime. Given the definition of these terms, it means that: The time when the Observation act was completed is before the time that the Result of the observation applies to the FeatureOfInterest.

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

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

Acknowledgments

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

Change History

A full change-log is available on GitHub.

Changes since Original (https://www.w3.org/2005/Incubator/ssn/XGR-ssn-20110628/)

  1. The Dolce-UltraLite ontology, that was imported in SSN, is no longer imported and all axioms using terms from DUL have been removed from SSN and collected in the DUL-SSN alignment module.
  2. The namespace was changed to match the planned namespace for this publication.
  3. The modularization as presented here, including the core, is entirely new.

Changes since 1st Public Working Draft (http://www.w3.org/TR/2016/WD-vocab-ssn-20160531/)

  1. Correction to include some SSN terms that were unintentionally dropped from the FPWD. Correction to remove an asserted subclass of owl:Thing that was introduced into FPWD (these were both by-products of the Dolce removal).
  2. Correction to some https namespace usage that crept into the FPWD.
  3. Transition to the new namespace used by the DUL module.
  4. Inclusion of the DUL alignment and the old SSN (of the SSN-XG) alignment.
  5. ssn:Sensor has been changed to be a subclass of dul:Object instead of dul:Physical Object.
  6. Various typography and spelling errors and consistency of expression in annotation properties have been improved. These do not induce any changes in the intended meaning of the terms.
  7. Specgen 6 has been used to generate the ontology documentation. The popular sketch of SSN structure has been removed.
  8. Object properties ssn:isValueOf, ssn:produces and ssn:featureInObservation, along with a propertychain subproperty of produces and another propertychain subproperty of hasProperty, were introduced unintentionally in the FPWD.

Changes since 2nd Public Working Draft (https://www.w3.org/TR/2017/WD-vocab-ssn-20170105/)

  1. Changed meta prefix declaration to schema
  2. Added voaf:Vocabulary class to ontology instances
  3. Added dcterms:license statements
  4. Added vann:preferredNamespacePrefix and vann:preferredNamespaceUri statements
  5. Added SOSA and SSN alignment
  6. Added SSN/SOSA alignments with O&M
  7. Consistently added Capitalization of all ontology terms in all rdfs:comments
  8. Addressed naming inconsistency with changes in name to isObservedBy/observes, madeBySensor/madeObservation
  9. Use skos:examples to describe examples of classes/properties
  10. Removed history skos:historyNote
  11. SOSA-specific changes:
    • Various typography and spelling errors and consistency of expression in annotation properties have been improved
    • Added "sosa:hasResult meta:domainIncludes sosa:Actuation" and "sosa:isResultOf meta:rangeIncludes sosa:Actuation"
    • Changed the defintion of FeatureofInterest to account for actuators
    • Introduced sosa:actsOnProperty and its inverse property sosa:isActedOnBy
    • Added madeBySensor property
    • Renamed invokes and invokedBy to madeActuation and madeByActuator
    • Changed hostedBy to isHostedBy
    • Added Sampler (device) and Sampling (act) to SOSA
    • Added madeSampling and madeBySampler properties
    • Added Sample to range of hasResult, and to domain or isResultOf
    • Added hasSimpleResult and hasResult instead of hasValue
    • Added ObservableProperty and ActuatableProperty
    • Changed rdfs:comment and skos:definition of sosa:Platform
    • Refined sosa:Result
    • Changed sosa:madeByActuator to sosa:actuationMadeBy
    • Added schema:domainIncludes sosa:Sampling to sosa:observedProperty
    • Added schema:rangeIncludes time:TemporalEntity and schema:domainIncludes sosa:Sampling to sosa:phenomenonTime
    • Changed sosa:actuationMadeBy to sosa:madeByActuator
  12. SSN-specific changes:
    • Changed syntax and layout in the alignment to SSN of the SSN-XG
    • Refine ssn:Property: ObservableProperty in sosa, Property in ssn, old SSN Property equivalent with ssn:Property
    • Import sosa: "ssn: a owl:Ontology ; owl:imports sosa:."
    • Update prefix for featureOfInterest in ssn:Observation and ssn:Property definition
    • Added skos:examples to several rdfs:comments
    • Changed sub class relation of Accuracy from ssn:MeasurementProperty to ssn:SystemProperty
    • Changed sub class of ssn:Deployment from DeploymentRelatedProcess to DeploymentRelatedProcedure
    • Changed DeploymentRelatedProcess Class to DeploymentRelatedProcedure
    • Changed sub class of ssn:DetectionLimit from ssn:MeasurementProperty to ssn:SystemProperty
    • Deprecated the ssn:Device class
    • Changed sub class of ssn:Drift from ssn:MeasurementProperty to ssn:SystemProperty
    • Changed the rdfs:comment of ssn:Drift to include Actuators
    • Changed sub class of ssn:Frequency from ssn:MeasurementProperty to ssn:SystemProperty
    • Changed sub class of ssn:Latency from ssn:MeasurementProperty to ssn:SystemProperty
    • Changed the rdfs:comment of ssn:Latency to include Actuators
    • Changed the rdfs:comment of ssn:MaintenanceSchedule to reference the System class only
    • Changed MeasurementCapability to SystemCapability and changed its axiom from hasMeasurementProperty to hasSystemProperty
    • Changed MeasurementProperty to SystemProperty
    • Changed sub class of ssn:MeasurementRange from ssn:MeasurementProperty to ssn:SystemProperty and changed its rdfs:comment
    • Changed the Observation’s classes qualified property restriction from ssn:featureOfInterest to sosa:hasFeatureOfInterest and ssn:FeatureOfInterest to sosa:FeatureOfInterest
    • Changed the Observation’s class universal property restrictions from ssn:observationResult to sosa:hasResult and ssn:SensorOutput to sosa:Result
    • Changed the Observation’s class universal property restriction from ssn:observedProperty to sosa:observedProperty and ssn:ObservedProperty to sosa:ObservableProperty
    • Changed the Observation’s class qualified property restriction from ssn:observedProperty to sosa:observedProperty and ssn:ObservedProperty to sosa:ObservableProperty
    • Changed the Observation’s class qualified property restrictions from ssn:observedBy to sosa:madeBySensor and ssn:Sensor to sosa:Sensor
    • Changed the Observation’s class universal property restrictions from ssn:sensingMethodUsed to sosa:usedProcedure and sosa:usedProcedure
    • Changed the Observation’s class qualified property restrictions from ssn:sensingMethodUsed to sosa:usedProcedure and sosa:usedProcedure
    • Changed the minimum cardinality restriction on the Observation class from ssn:observationSamplingTime to sosa:resultTime
    • Removed ssn:ObservationValue Class
    • Changed rdfs:comment of ssn:OperatingPowerRange
    • Changed rdfs:comment of ssn:OperatingProperty
    • Changed rdfs:comment of ssn:OperatingRange
    • Changed rdfs:comment of ssn:Output
    • Changed the Platform’s class universal property restrictions from ssn:attachedSystem
    • Changed sub class of ssn:Precision from ssn:MeasurementProperty to ssn:SystemProperty
    • Changed ssn:Process to sosa:Procedure
    • Changed rdfs:comment for ssn:Property
    • Changed the Property’s class existential property restrictions class range from ssn:FeatureOfInterest to sosa:FeatureOfInterest
    • Changed rdfs:comment for ssn:Resolution
    • Changed sub class of ssn:Resolution from ssn:MeasurementProperty to ssn:SystemProperty
    • Changed rdfs:comment for ssn:ResponseTime
    • Changed sub class of ssn:ResponseTime from ssn:MeasurementProperty to ssn:SystemProperty
    • Changed rdfs:comment for ssn:Selectivity
    • Changed sub class of ssn:Selectivitye from ssn:MeasurementProperty to ssn:SystemProperty
    • Removed ssn:Sensing Class
    • Removed ssn:SensingDevice Class
    • Changed the Sensor classes existential property restrictions from ssn:hasMeasurementCapability to ssn:SystemCapability and ssn:MeasurementCapability to ssn:SystemCapability
    • Changed the Sensor classes universal property restriction on ssn:observes to sosa:observes
    • Changed the Sensor classes existential property restrictions range class from ssn:Sensing to sosa:Procedure
    • Removed ssn:SensorDataSheet Class
    • Removed ssn:SensorInput Class
    • Removed ssn:SensorOutput Class
    • Changed rdfs:comment for ssn:Stimulus
    • Changed rdfs:comment for ssn:SurvivalProperty
    • Changed rdfs:comment for ssn:SurvivalRange
    • Changed rdfs:comment for ssn:System
    • Changed the System’s class universal property restriction from ssn:onPlatform to sosa:isHostedBy and ssn:Platform to sosa:Platform
    • Added a universal property restriction to the System’s class on the hasSystemCapability property with a class range of SystemCapability
    • Changed rdfs:comment for ssn:SystemLifetime
    • Added Property Restrictions to SOSA:ActuatableProperty for sosa:isActedOnBy
    • Added Property Restrictions to SOSA:Actuation for sosa:hasFeatureOfInterest, sosa:hasResult, sosa:resultTime, sosa:usedProcedure, sosa:hasFeatureOfInterest and sosa:actuationMadeBy
    • Added ssn:ActuationRange Class
    • Added Property Restrictions to sosa:Actuator for ssn:implements, ssn:forProperty and sosa:MadeActuation and sosa:hasResult
    • Removed ssn:DeploymentRelatedProcess
    • Added Property Restrictions to ssn:Input for ssn:hasInput
    • Added Property Restriction to ssn:MeasurementRange
    • Added Property Restrictions to sosa:ObservableProperty for isObservedBy, inverseOf sosa:observedProperty and inverseOf ssn:isProxyFor
    • Added Property Restrictions to ssn:OperatingProperty
    • Added Property Restrictions to ssn:Precision
    • Added Property Restrictions to sosa:Result
    • Added Property Restrictions to sosa:Sample
    • Added Property Restrictions to sosa:Sampler
    • Added Property Restrictions to sosa:Sampling
    • Added Property Restrictions to ssn:SystemProperty
    • Added sub class of System relation to sosa:Sensor
    • Added Property Restrictions to ssn:Stimulus
    • Added Property Restrictions to ssn:SurvivalProperty
    • Added Property Restrictions to ssn:SurvivalRange
    • Added Property Restrictions to ssn:System
    • Removed attachedSystem property
    • Changed rdfs:comment for ssn:deployedOnPlatform
    • Removed ssn:deploymentProcessPart
    • Changed rdfs:comment for ssn:detects
    • Removed ssn:featureOfInterest property
    • Changed rdfs:comment for ssn:forProperty and added a skos:example property
    • Changed rdfs:comment for ssn:hasDeployment
    • Renamed ssn:hasMeasurementCapability to ssn:hasSystemCapability and changed its rdf:comment
    • Renamed ssn:hasMeasurementProperty to ssn:hasSystemProperty and changed its rdf:comment
    • Changed rdfs:comment for ssn:hasOperatingProperty
    • Changed rdfs:comment for ssn:hasSurvivalProperty
    • Changed rdfs:comment for ssn:hasSurvivalRange
    • Changed rdfs:comment for ssn:implementedBy
    • Changed rdfs:comment for ssn:implements
    • Changed rdfs:comment for ssn:inCondition and added skos:example property
    • Changed rdfs:comment for ssn:inDeployment and added skos:example property
    • Removed ssn:isProducedBy property
    • Changed rdfs:comment for ssn:isPropertyOf
    • Changed rdfs:comment for ssn:isProxyFor and added skos:example property
    • Removed ssn:madeObservation property
    • Removed ssn:observationResult property
    • Removed ssn:observationResultTime property
    • Removed ssn:observationSamplingTime property
    • Removed ssn:observedProperty property
    • Changed ssn:observes to sosa:observes, removed sub-property chain for sosa:observes and defined it as sub-property of ssn:forProperty
    • Removed ssn:ofFeature property
    • Removed ssn:onPlatform property
    • Changed rdfs:comment for ssn:qualityOfObservation
    • Removed ssn:sensingMethodUsed property
    • Added rdfs:comment for ssn:hasInput