Copyright © 2017 OGC & W3C ® (MIT, ERCIM, Keio, Beihang), W3C liability, trademark and document use rules apply.
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/.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/.
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.
This document was published by the Spatial Data on the Web Working Group as a Working Draft. This document is intended to become a W3C Recommendation. If you wish to make comments regarding this document, please send them to public-sdw-comments@w3.org (subscribe, archives). All comments are welcome.
Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.
This document is governed by the 1 March 2017 W3C Process Document.
This section is non-normative.
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.
This section is non-normative.
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.
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.
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.
This section is non-normative.
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.
domainIncludes
and rangeIncludes
annotation properties defined in Schema.org. These had not been available before.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.
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.
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/.
Classes: | ssn:Accuracy | sosa:ActuatableProperty | sosa:Actuation | ssn:ActuationRange | sosa:Actuator | ssn:BatteryLifetime | ssn:Condition | ssn:Deployment | ssn:DetectionLimit | ssn:Drift | sosa:FeatureOfInterest | ssn:Frequency | ssn:Input | ssn:Latency | ssn:MaintenanceSchedule | ssn:MeasurementRange | sosa:ObservableProperty | sosa:Observation | ssn:OperatingPowerRange | ssn:OperatingProperty | ssn:OperatingRange | ssn:Output | sosa:Platform | ssn:Precision | ssn:Property | sosa:Procedure | ssn:Repeatability | ssn:Resolution | ssn:ResponseTime | sosa:Result | sosa:Sample | sosa:Sampler | sosa:Sampling | ssn:SystemCapability | ssn:SystemProperty | ssn:Selectivity | ssn:Sensitivity | sosa:Sensor | ssn:Stimulus | ssn:SurvivalProperty | ssn:SurvivalRange | ssn:System | ssn:SystemLifetime |
Object Properties: | sosa:actsOnProperty | sosa:madeByActuator | ssn:deployedOnPlatform | ssn:deployedSystem | ssn:detects | ssn:forProperty | ssn:hasDeployment | sosa:hasFeatureOfInterest | ssn:hasInput | ssn:hasOutput | ssn:hasOperatingProperty | ssn:hasOperatingRange | ssn:hasProperty | sosa:hasResult | sosa:hasSample | ssn:hasSubSystem | ssn:hasSurvivalProperty | ssn:hasSurvivalRange | ssn:hasSystemCapability | ssn:hasSystemProperty | sosa:hosts | ssn:implementedBy | ssn:implements | ssn:inCondition | ssn:inDeployment | sosa:isActedOnBy | sosa:isFeatureOfInterestOf | sosa:isHostedBy | sosa:isObservedBy | ssn:isPropertyOf | ssn:isProxyFor | sosa:isResultOf | sosa:isSampleOf | sosa:madeActuation | sosa:madeBySampler | sosa:madeBySensor | sosa:madeObservation | sosa:madeSampling | sosa:observedProperty | sosa:observes | sosa:phenomenonTime | ssn:qualityOfObservation | sosa:usedProcedure | ssn:wasOriginatedBy |
Datatype Properties: | sosa:hasSimpleResult | sosa:resultTime |
SOSA axioms are shown in green, while SSN-only axioms are shown in blue.
This section introduces the following classes and properties:
sosa:ObservableProperty, sosa:Observation, sosa:observedProperty, sosa:phenomenonTime, ssn:qualityOfObservation, sosa:Sensor, sosa:observes, sosa:isObservedBy, sosa:madeObservation, sosa:madeBySensor, ssn:Stimulus, ssn:isProxyFor, ssn:wasOriginatedBy, ssn:detects
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.
IRI: http://www.w3.org/ns/sosa/ObservableProperty
Observable Property - An observable quality (property, characteristic) of aFeatureOfInterest
.
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/ |
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 |
IRI: http://www.w3.org/ns/sosa/observedProperty
observed property - Relation linking anObservation
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 |
IRI: http://www.w3.org/ns/sosa/phenomenonTime
phenomenon time - The time that theResult
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 [owl-time]. Domain Includes | sosa:Actuation, sosa:Observation, sosa:Sampling |
---|---|
Range Includes | time:TemporalEntity |
IRI: http://www.w3.org/ns/ssn/qualityOfObservation
quality of observation - Relation linking anObservation
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/ |
IRI: http://www.w3.org/ns/sosa/Sensor
Sensor - Device, agent (including humans), or software (simulation) involved in, or implementing, aProcedure
. 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 |
IRI: http://www.w3.org/ns/sosa/observes
observes - Relation between aSensor
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 |
IRI: http://www.w3.org/ns/sosa/isObservedBy
is observed by - Relation between anObservableProperty
and the Sensor
able to observe it.
Domain Includes | sosa:ObservableProperty |
---|---|
Range Includes | sosa:Sensor |
Inverse property of | sosa:observes |
IRI: http://www.w3.org/ns/sosa/madeObservation
made observation - Relation between aSensor
and an Observation
it has made. Domain Includes | sosa:Sensor |
---|---|
Range Includes | sosa:Observation |
Inverse property of | sosa:madeBySensor |
IRI: http://www.w3.org/ns/sosa/madeBySensor
made bySensor
-
Relation between an Observation
and the Sensor
which made the Observations
. Domain Includes | sosa:Observation |
---|---|
Range Includes | sosa:Sensor |
Inverse property of | sosa:madeObservation |
IRI: http://www.w3.org/ns/ssn/Stimulus
Stimulus - An event in the real world that 'triggers' theSensor
. 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/ |
IRI: http://www.w3.org/ns/ssn/isProxyFor
isProxyFor - A relation from aStimulus
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/ |
IRI: http://www.w3.org/ns/ssn/wasOriginatedBy
was originated by - Relation between anObservation
and the Stimulus
that originated it.
is Defined By | http://www.w3.org/ns/ssn/ |
---|
IRI: http://www.w3.org/ns/ssn/detects
detects - A relation from aSensor
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/ |
---|
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.
IRI: http://www.w3.org/ns/sosa/ActuatableProperty
Actuatable Property - An actuatable quality (property, characteristic) of aFeatureOfInterest
. 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/ |
IRI: http://www.w3.org/ns/sosa/Actuation
Actuation - AnActuation
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 |
IRI: http://www.w3.org/ns/sosa/actsOnProperty
acts on property - Relation between anActuation
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 |
IRI: http://www.w3.org/ns/sosa/isActedOnBy
is acted on by - Relation between anActuatableProperty
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 |
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 |
IRI: http://www.w3.org/ns/sosa/madeActuation
made actuation - Relation between anActuator
and the Actuation
it has made. Domain Includes | sosa:Actuator |
---|---|
Range Includes | sosa:Actuation |
Inverse property of | sosa:madeByActuator |
IRI: http://www.w3.org/ns/sosa/madeByActuator
made by actuator - Relation linking anActuation
to the Actuator
that made that Actuation
.
Domain Includes | sosa:Actuation |
---|---|
Range Includes | sosa:Actuator |
Inverse property of | sosa:madeActuation |
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.
IRI: http://www.w3.org/ns/sosa/Sample
Sample - Feature which is intended to be representative of aFeatureOfInterest
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/ |
IRI: http://www.w3.org/ns/sosa/hasSample
has sample - Relation between aFeatureOfInterest
and the Sample
used to represent it.
Domain Includes | sosa:FeatureOfInterest |
---|---|
Range Includes | sosa:Sample |
Inverse property of | sosa:isSampleOf |
is Inverse-Functional |
IRI: http://www.w3.org/ns/sosa/isSampleOf
is sample of - Relation from aSample
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 |
IRI: http://www.w3.org/ns/sosa/Sampling
Sampling - An act ofSampling
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 |
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 |
IRI: http://www.w3.org/ns/sosa/madeSampling
made sampling - Relation between aSampler
(sampling device or entity) and the Sampling
act it performed.
Domain Includes | sosa:Sampler |
---|---|
Range Includes | sosa:Sampling |
Inverse property of | sosa:madeBySampler |
IRI: http://www.w3.org/ns/sosa/madeBySampler
made by sampler - Relation linking an act ofSampling
to the Sampler
(sampling device or entity) that made it. Domain Includes | sosa:Sampling |
---|---|
Range Includes | sosa:Sampler |
Inverse property of | sosa:madeSampling |
This section introduces the following classes and properties:
sosa:FeatureOfInterest, sosa:hasFeatureOfInterest, sosa:isFeatureOfInterestOf, ssn:Property, ssn:hasProperty, ssn:isPropertyOf, ssn:forProperty
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.
IRI: http://www.w3.org/ns/sosa/FeatureOfInterest
Feature Of Interest - The thing whose property is being estimated or calculated in the course of anObservation
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/ |
IRI: http://www.w3.org/ns/sosa/hasFeatureOfInterest
has feature of interest - A relation between anObservation
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 |
IRI: http://www.w3.org/ns/sosa/isFeatureOfInterestOf
is feature of interest of - A relation between aFeatureOfInterest
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 |
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/ |
IRI: http://www.w3.org/ns/ssn/hasProperty
has property - Relation between an entity and aProperty
of that entity.
is Inverse-Functional | |
---|---|
Inverse property of | ssn:isPropertyOf |
is Defined By | http://www.w3.org/ns/ssn/ |
IRI: http://www.w3.org/ns/ssn/isPropertyOf
is property of - Relation between aProperty
and the entity it belongs to.
is Functional | |
---|---|
Inverse property of | ssn:hasProperty |
is Defined By | http://www.w3.org/ns/ssn/ |
IRI: http://www.w3.org/ns/ssn/forProperty
for property - A relation between some aspect of an entity and aProperty
. 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/ |
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 results.
IRI: http://www.w3.org/ns/sosa/Result
Result - TheResult
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 |
IRI: http://www.w3.org/ns/sosa/hasResult
has result - Relation linking anObservation
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 |
IRI: http://www.w3.org/ns/sosa/isResultOf
is result of - Relation linking aResult
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 |
IRI: http://www.w3.org/ns/sosa/hasSimpleResult
has simple result - The simple value of anObservation
or Actuation
. Example | For instance, the values 23 or true. |
---|---|
Domain Includes | sosa:Observation, sosa:Actuation |
IRI: http://www.w3.org/ns/sosa/resultTime
result time - The result time is the instant of time when theObservation
, Actuation
or Sampling
activity was completed. Domain Includes | sosa:Actuation, sosa:Observation, sosa:Sampling |
---|---|
Range | xsd:dateTime |
This section introduces the following classes and properties:
sosa:Procedure, sosa:usedProcedure, ssn:implements, ssn:implementedBy, ssn:hasInput, ssn:Input, ssn:hasOutput, ssn:Output
To ease readability, the following figure provides an overview over the core classes and properties that are specifically related to modeling procedures.
IRI: http://www.w3.org/ns/sosa/Procedure
Procedure - A workflow, protocol, plan, algorithm, or computational method specifying how to make anObservation
, 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 |
IRI: http://www.w3.org/ns/sosa/usedProcedure
used procedure - A relation to link to a re-usableProcedure
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 |
IRI: http://www.w3.org/ns/ssn/implements
implements - Relation between an entity that implements aProcedure
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/ |
IRI: http://www.w3.org/ns/ssn/implementedBy
implemented by - Relation between aProcedure
(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/ |
IRI: http://www.w3.org/ns/ssn/hasInput
has Input - Relation between aProcedure
and an Input
to it.
is Defined By | http://www.w3.org/ns/ssn/ |
---|
IRI: http://www.w3.org/ns/ssn/Input
Input - Any information that is provided to aProcedure
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/ |
IRI: http://www.w3.org/ns/ssn/hasOutput
has Output - Relation between aProcedure
and an Output
of it.
is Defined By | http://www.w3.org/ns/ssn/ |
---|
IRI: http://www.w3.org/ns/ssn/Output
Output - Any information that is reported from aProcedure
.
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/ |
This section introduces the following classes and properties:
sosa:Platform, sosa:hosts, sosa:isHostedBy, ssn:System, ssn:hasSubSystem, ssn:Deployment, ssn:deployedSystem, ssn:hasDeployment, ssn:deployedOnPlatform, ssn:inDeployment
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.
IRI: http://www.w3.org/ns/sosa/Platform
Platform - APlatform
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 |
IRI: http://www.w3.org/ns/sosa/hosts
hosts - Relation between aPlatform
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 |
IRI: http://www.w3.org/ns/sosa/isHostedBy
is hosted by - Relation between aSensor
, 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 |
IRI: http://www.w3.org/ns/ssn/System
System - System is a unit of abstraction for pieces of infrastructure that implementProcedures
. 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/ |
IRI: http://www.w3.org/ns/ssn/hasSubSystem
has subsystem - Relation between aSystem
and its component parts.
is Defined By | http://www.w3.org/ns/ssn/ |
---|
IRI: http://www.w3.org/ns/ssn/Deployment
Deployment - Describes theDeployment
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/ |
IRI: http://www.w3.org/ns/ssn/deployedSystem
deployed system - Relation between aDeployment
and a deployed System
.
Inverse property of | ssn:hasDeployment |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
IRI: http://www.w3.org/ns/ssn/hasDeployment
has deployment - Relation between aSystem
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/ |
IRI: http://www.w3.org/ns/ssn/deployedOnPlatform
deployed on platform - Relation between aDeployment
and the Platform
on which the Systems are deployed. Inverse property of | ssn:inDeployment |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
IRI: http://www.w3.org/ns/ssn/inDeployment
in deployment - Relation between aPlatform
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/ |
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 conditions.
IRI: http://www.w3.org/ns/ssn/inCondition
in condition - Describes the prevailing environmentalConditions
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/ |
IRI: http://www.w3.org/ns/ssn/Condition
Condition - Used to specify ranges for qualities that act asConditions
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/ |
This section introduces the following classes and properties:
ssn:hasSystemCapability, ssn:SystemCapability, ssn:hasSystemProperty, ssn:SystemProperty, ssn:MeasurementRange, ssn:ActuationRange, ssn:Accuracy, ssn:DetectionLimit, ssn:Drift, ssn:Frequency, ssn:Latency, ssn:Precision, ssn:Resolution, ssn:Repeatability, ssn:ResponseTime, ssn:Selectivity, ssn:Sensitivity
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.
IRI: http://www.w3.org/ns/ssn/hasSystemCapability
has system capability - Relation from aSystem
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/ |
IRI: http://www.w3.org/ns/ssn/SystemCapability
System Capability - Describes normal measurement, actuation, sampling properties such as accuracy, range, precision, etc. of aSystem
under some specified Conditions
such as a temperature range.
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/ |
IRI: http://www.w3.org/ns/ssn/hasSystemProperty
has system property - Relation from anSystemCapability
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/ |
IRI: http://www.w3.org/ns/ssn/SystemProperty
System Property - An identifiable and observable characteristic that represents theSystem
'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/ |
IRI: http://www.w3.org/ns/ssn/MeasurementRange
Measurement Range - The set of values that theSensor
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/ |
IRI: http://www.w3.org/ns/ssn/ActuationRange
Actuation Range - The range ofProperty
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/ |
IRI: http://www.w3.org/ns/ssn/Accuracy
Accuracy - The closeness of agreement between theResult
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/ |
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/ |
IRI: http://www.w3.org/ns/ssn/Drift
Drift - As aSensor
Property
: a continuous or incremental change in the reported values of Observations
over time for an unchanging Property
under the defined Conditions
.
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/ |
IRI: http://www.w3.org/ns/ssn/Frequency
Frequency - The smallest possible time between oneObservation
, Actuation
, or Sampling
and the next, under the defined Conditions
.
Sub class of | ssn:SystemProperty |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
IRI: http://www.w3.org/ns/ssn/Latency
Latency - The time between a command for anObservation
(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/ |
IRI: http://www.w3.org/ns/ssn/Precision
Precision - The closeness of agreement between replicateObservations
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/ |
IRI: http://www.w3.org/ns/ssn/Resolution
Resolution - As aSensor
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
.
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/ |
IRI: http://www.w3.org/ns/ssn/Repeatability
Repeatability - The closeness of agreement between replicateActuations
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/ |
IRI: http://www.w3.org/ns/ssn/ResponseTime
Response time - As aSensor
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
.
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/ |
IRI: http://www.w3.org/ns/ssn/Selectivity
Selectivity - As aSensor
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
.
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/ |
IRI: http://www.w3.org/ns/ssn/Sensitivity
Sensitivity - As aSensor
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
.
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/ |
This section introduces the following classes and properties:
ssn:hasOperatingRange, ssn:OperatingRange, ssn:hasOperatingProperty, ssn:OperatingProperty, ssn:MaintenanceSchedule, ssn:OperatingPowerRange
IRI: http://www.w3.org/ns/ssn/hasOperatingRange
has operating range - Relation from aSystem
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/ |
IRI: http://www.w3.org/ns/ssn/OperatingRange
Operating Range - Describes normalOperatingProperties
of a System
under some specified Conditions
. For example, to the power requirement or maintenance schedule of a System
under a specified temperature range.
OperatingProperties
, it simply describes the Conditions
in which a System
is expected to operate.
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/ |
IRI: http://www.w3.org/ns/ssn/hasOperatingProperty
has operating property - Relation from anOperatingRange
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/ |
IRI: http://www.w3.org/ns/ssn/OperatingProperty
Operating Property - An identifiable characteristic that represents how theSystem
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/ |
IRI: http://www.w3.org/ns/ssn/MaintenanceSchedule
Maintenance Schedule - Schedule of maintenance for aSystem
in the specified Conditions
.
Sub class of | ssn:OperatingProperty |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
IRI: http://www.w3.org/ns/ssn/OperatingPowerRange
Operating Power Range - Power range in whichSystem
is expected to operate in the specified Conditions
.
Sub class of | ssn:OperatingProperty |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
This section introduces the following classes and properties:
ssn:hasSurvivalRange, ssn:SurvivalRange, ssn:hasSurvivalProperty, ssn:SurvivalProperty, ssn:SystemLifetime, ssn:BatteryLifetime
IRI: http://www.w3.org/ns/ssn/hasSurvivalRange
has survival range - Relation from aSystem
to a SurvivalRange
.
Sub property of | ssn:hasProperty |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
IRI: http://www.w3.org/ns/ssn/SurvivalRange
Survival Range - DescribesSurvivalProperties
of a System
under some specified Conditions
. For example, to the lifetime of a System under a specified temperature range.
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.
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/ |
IRI: http://www.w3.org/ns/ssn/hasSurvivalProperty
has survival property - Relation from aSurvivalRange
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/ |
IRI: http://www.w3.org/ns/ssn/SurvivalProperty
Survival Property - An identifiable characteristic that represents the extent of theSystem
'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/ |
IRI: http://www.w3.org/ns/ssn/SystemLifetime
System Lifetime - Total useful life of aSystem
(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/ |
IRI: http://www.w3.org/ns/ssn/BatteryLifetime
Battery Lifetime - Total useful life of aSystem
's battery in the specified Conditions
.
Sub class of | ssn:SurvivalProperty |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
This section is non-normative.
This section introduces the specifications for the vertical segmentation modules that align SOSA and SSN to a variety of related ontologies and specifications.
This section is non-normative.
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.This section is non-normative.
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# |
This section is non-normative.
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 ) ] |
This section is non-normative.
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 |
This section is non-normative.
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.
This section is non-normative.
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# |
This section is non-normative.
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 ] |
This section is non-normative.
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 ) |
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.
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.
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# |
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 |
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:
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 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.
This section is non-normative.
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.
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# |
This section is non-normative.
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.
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 |
This section is non-normative.
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.
This section is non-normative.
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.
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.
This section is non-normative.
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/ |
This section is non-normative.
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 |
This section is non-normative.
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.
This section is non-normative.
This section provides details on the currently available horizontal segmentation modules and the handling of forecasts and locations.This section is non-normative.
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.
An a-z index of sampling terms, by class (categories or types) and by property.
Classes: | RelationshipNature | SampleRelationship |
Properties: | hasSampleRelationship | natureOfRelationship | relatedSample |
Status: | unknown |
---|---|
OWL Class |
[#] [back to top]
Status: | unknown |
---|---|
OWL Class |
[#] [back to top]
Status: | unknown |
---|---|
Object Property |
[#] [back to top]
Status: | unknown |
---|---|
Object Property |
[#] [back to top]
This section is non-normative.
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.
This section is non-normative.
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.
A full change-log is available on GitHub.