Alignment to O&M

From Spatial Data on the Web Working Group
Jump to: navigation, search

Proposal for text relating to O&M alignment, per ACTION-255.

8. Alignment to Observations and Measurements

This section is normative.

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 [OM-XML] is used for the payload for SOS 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.


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

Prefix Namespace

Utility classes

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

1. Three disjoint subclasses of sosa:Procedure:

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

2. Two classes related to sampling, which complement SOSA classes related to actuation and observation:

sosa-om:SamplingDevice Sampling, sample preparation or processing devices, comparable to sosa:Actuator and sosa:Sensor
sosa-om:SamplingEvent Sampling, sample preparation or processing event or act, comparable to sosa:Actuation and sosa:Observation

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-om:SamplingDevice or sosa-om:SamplingProcedure )

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

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

These are modeled as sub-properties because sosa:usedProcedure, sosa:hasResult 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.