Copyright © 2017 OGC & W3C ® (MIT, ERCIM, Keio, Beihang), W3C liability, trademark and document use rules apply.
The Semantic Sensor Network Ontology (commonly known as "SSN" or sometimes "SSNO") is an OWL-2 DL ontology for describing sensors and the observations they make. SSN is published in a modular architecture that supports the judicious use of "just enough" semantics for diverse applications, including satellite imagery, large scale scientific monitoring, industrial and household infrastructure, citizen observers, and the Web of Things. SSN is described and examples of its use are given.
The namespace for SSN terms is http://www.w3.org/ns/ssn/
The suggested prefix for the SSN namespace is ssn
The SSN ontology itself is available at http://www.w3.org/ns/ssn/
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/.
This is the second published draft of the SSN since its original publication by the SSN-XG, the Semantic Sensor Network Incubator Group of the W3C. This is an incomplete draft to indicate the scope and style of changes proposed to be made to the original SSN. This document is both incomplete and inconsistent, but is being published at this stage to solicit comment from the community of SSN users and would-be users.
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 September 2015 W3C Process Document.
This section is non-normative.
Sensor observations are a major source of data published on the Web. Nonetheless, publishing, searching, reusing, and integrating these data requires more than just the observation values. Of equal importance is information about the studied feature of interest, such as a river, the observed property, such as flow velocity, and the sampling strategy, such as the specific locations at which the velocity was measured. The sampling location, instrumentation, and information about the deployment of the sensors on a platform may also be required for proper interpretation. 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, that are a key driver for creating and maintaining a global and densely interconnected graph of data. The W3C Semantic Sensor Network Incubator Group (SSN) addressed these issues by developing an ontology that spans multiple OGC standards and other specifications.
The SSN is designed to offer four identifiable and coherent perspectives or use cases for sensing, each of which may be used either independently or in concert with the others. These perspectives are
It would be worth clarifying that SWE evolving from way back in 2002 provides distinct provider- and consumer-focused standards; SensorML (dealing with sensors) and O&M (dealing with observations and data), as well as an explicit treatment of sampling and the relation with feature-of-interest.
Based on this initial work, the following document specifies a revised, modularized, and extended version of the SSN ontology [SSNO].
This section is non-normative.
Justify why we are changing SSN at all
What is the new core ontology module to be called?
The SSN previously imported the DOLCE ultralite ontology (DUL) and many SSN terms inherited from DUL terms. This has been redesigned into two separate ontology modules so that SSN can be used quite independently of DUL if desired. Some of the alignments have been reconsidered. Those parts of SSN that use DUL terms have been separated into the SSN Alignment with DUL ontology.
A thorough check and rewrite where necessary on annotation properties is yet to be made.
A new annotation property is to be used to separate out embedded examples from other rdfs:comment elements
This section is non-normative.
One of the major issue practitioners using the Semantic Sensor Network Ontology as defined in the XG is 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.
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 source ontology to a target ontology, and although it is transitive, it only supports knowledge propagation in one direction, i.e. the importing ontology captures all the meaning of the imported terms used, i.e., it includes all axioms relevant to the meaning of these terms, however, the imported ontology may 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.
In fact in [Cuenca-Grau-et-al-2009] it has been proven that in OWL DL, which is a syntactical variant of the Description Logic SHOIN, checking whether an ontology is in fact a module of an ontology given a vocabulary is an undecidable problem.
In order to ensure this property, a solution has to be found for concepts in the ontology module that inherit object properties from concepts that are not in the module. One solution proposed by Cuenca Grau et al is to include the bottom concept for all such missing concepts. Another solution is to change the domain and range of an object property. Our modularization approach uses two different methods depending on the directionality of the segmentation.
Vertical modules build upon each other, i.e. they directionally owl:import
lower level modules. If a higher level module is used without importing its lower levels it may lead to inconsistencies or at least it will lead to different answers when reasoning over the module compared with reasoning over its complete stack of vertical ontology modules. However, lower level modules are independent of their higher level modules and logically consistent.
For example, the Dolce UltraLite Alignment ontology imports the SOSA ontology and the Semantic Sensor Network ontology. However, in reverse, neither SOSA nor SSN import the Dolce-UltraLite Alignment ontology. This makes SOSA, with its lightweight semantics, truly independent of vertical modules that add more expressivity and further ontological commitments.
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.
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+DNS 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 7. 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.
A graphic of a simple example of an use case of the SOSA
This specification serves as the SOSA "namespace document".
The namespace for SOSA terms is http://www.w3.org/ns/sosa/
The suggested prefix for the SOSA namespace is sosa
The SOSA ontology itself is available at: http://www.w3.org/ns/sosa/.
Specgen has lost comments if more than one was given. Thus the textual definitions below are incomplete. This needs to be checked closely.
sosa:madeObservation relates a Sensor with an Observation, while sosa:isObservedBy relates an ObservableProperty with a Sensor.
The naming needs to be consistent as this naming pattern is used with other properties for inverse properties.
Currently SOSA defines a xsd:dateTime datatype for resultTime, but no datatype for phenomenonTime. Should both be the same, or is there a difference, i.e. phenomenonTime could be an interval. Is there a need to align that with the Time ontology?
The SOSA introduces the following classes and properties.
Classes: | Actuation | Actuator | FeatureOfInterest | ObservableProperty | Observation | Platform | Procedure | Result | Sample | Sensor |
Properties: | hasFeatureOfInterest | hasResult | hasSample | hasValue | hostedBy | hosts | invokedBy | invokes | isFeatureOfInterestOf | isObservedBy | isResultOf | isSampleOf | madeObservation | observedProperty | observes | phenomenonTime | resultTime | usedProcedure |
Status: | unknown |
---|---|
OWL Class |
[#] [back to top]
Status: | unknown |
---|---|
OWL Class |
[#] [back to top]
Status: | unknown |
---|---|
OWL Class |
[#] [back to top]
Status: | unknown |
---|---|
OWL Class |
[#] [back to top]
Status: | unknown |
---|---|
OWL Class |
[#] [back to top]
Status: | unknown |
---|---|
OWL Class |
[#] [back to top]
Status: | unknown |
---|---|
OWL Class |
[#] [back to top]
Status: | unknown |
---|---|
OWL Class |
[#] [back to top]
Status: | unknown |
---|---|
OWL Class |
[#] [back to top]
Status: | unknown |
---|---|
OWL Class |
[#] [back to top]
Status: | unknown |
---|---|
Has inverse property | is feature of interest of |
Object Property |
[#] [back to top]
Status: | unknown |
---|---|
Has inverse property | is result of |
Object Property |
[#] [back to top]
Status: | unknown |
---|---|
Inverse property of | is sample of |
Object Property |
[#] [back to top]
Status: | unknown |
---|---|
Datatype Property |
[#] [back to top]
Status: | unknown |
---|---|
Inverse property of | hosts |
Object Property |
[#] [back to top]
Status: | unknown |
---|---|
Has inverse property | hosted by |
Object Property |
[#] [back to top]
Status: | unknown |
---|---|
Inverse property of | invokes |
Object Property |
[#] [back to top]
Status: | unknown |
---|---|
Has inverse property | invoked by |
Object Property |
[#] [back to top]
Status: | unknown |
---|---|
Inverse property of | has feature of interest |
Object Property |
[#] [back to top]
Status: | unknown |
---|---|
Has inverse property | observes |
Object Property |
[#] [back to top]
Status: | unknown |
---|---|
Inverse property of | has result |
Object Property |
[#] [back to top]
Status: | unknown |
---|---|
Has inverse property | has sample |
Object Property |
[#] [back to top]
Status: | unknown |
---|---|
Object Property |
[#] [back to top]
Status: | unknown |
---|---|
Object Property |
[#] [back to top]
Status: | unknown |
---|---|
Inverse property of | is observed by |
Object Property |
[#] [back to top]
Status: | unknown |
---|---|
Object Property |
[#] [back to top]
Status: | unknown |
---|---|
Range: | xsd:dateTime |
Datatype Property |
[#] [back to top]
Status: | unknown |
---|---|
Object Property |
[#] [back to top]
Documentation in this section has been adapted from something generated by a modified version of Specgen 6 from the SSN ontology. There are known shortcomings of this presentation that will be improved for final form. In particular, annotation properties other than rdfs:comment and rdfs:isDefinedBy are missing throughout. dc:source annotations that identify the provenance of the terms are missing. rdfs:seeAlso annotations are also missing. If you notice any (non-annotation) axiom of SSN that is missing please inform the editors.
Here, ssn:Observation is described as a "situation" equivalent to the SSN-XG version of ssn. That is, a convenient concept that groups together all sorts of information that we identify as an observation. The working group made a decision to redfine ssn:Observation to behave as an act, action, or activity to be closer to the OGC O&M notion of observation. This is not as straightforward as was anticipated and remains an issue to be resolved here.
An a-z index of SSN terms, by class (categories or types) and by property.
Classes: | Accuracy | BatteryLifetime | Condition | Deployment | DeploymentRelatedProcess | DetectionLimit | Device | Drift | FeatureOfInterest | Frequency | Input | Latency | MaintenanceSchedule | MeasurementCapability | MeasurementProperty | MeasurementRange | Observation | ObservationValue | OperatingPowerRange | OperatingProperty | OperatingRange | Output | Platform | Precision | Process | Property | Resolution | ResponseTime | Selectivity | Sensing | SensingDevice | Sensitivity | Sensor | SensorDataSheet | SensorInput | SensorOutput | Stimulus | SurvivalProperty | SurvivalRange | System | SystemLifetime |
Properties: | attachedSystem | deployedOnPlatform | deployedSystem | deploymentProcessPart | detects | featureOfInterest | forProperty | hasDeployment | hasMeasurementCapability | hasMeasurementProperty | hasOperatingProperty | hasOperatingRange | hasProperty | hasSubSystem | hasSurvivalProperty | hasSurvivalRange | implementedBy | implements | inCondition | inDeployment | isProducedBy | isPropertyOf | isProxyFor | madeObservation | observationResult | observationResultTime | observationSamplingTime | observedProperty | observes | ofFeature | onPlatform | qualityOfObservation | sensingMethodUsed |
Sub class of | Measurement Property |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Survival Property |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Property |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Deployment-related Process |
---|---|
Restriction(s): |
The property
ssn:deployedOnPlatform
must be http://www.w3.org/ns/ssn/Platform
The property ssn:deployedSystem must be http://www.w3.org/ns/ssn/System |
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Restriction(s): | The property ssn:deploymentProcessPart must be http://www.w3.org/ns/ssn/DeploymentRelatedProcess |
---|---|
Has sub class | Deployment ssn:Deployment |
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Measurement Property |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | System |
---|---|
Has sub class | Sensing Device ssn:SensingDevice |
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Measurement Property |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Restriction(s): |
The property
ssn:hasProperty
can be http://www.w3.org/ns/ssn/Property
The property ssn:hasProperty must be http://www.w3.org/ns/ssn/Property |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Measurement Property |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
is Defined By | http://www.w3.org/ns/ssn/ |
---|---|
Disjoint With: | Output |
OWL Class |
[#] [back to top]
Sub class of | Measurement Property |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Operating Property |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Property |
---|---|
Restriction(s): |
The property
ssn:forProperty
must be http://www.w3.org/ns/ssn/Property
The property ssn:hasMeasurementProperty must be http://www.w3.org/ns/ssn/MeasurementProperty The property ssn:inCondition must be http://www.w3.org/ns/ssn/Condition |
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
[#] [back to top]
Sub class of | Measurement Property |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Restriction(s): |
The property
ssn:featureOfInterest
must be http://www.w3.org/ns/ssn/FeatureOfInterest
The property ssn:featureOfInterest at least one http://www.w3.org/ns/ssn/FeatureOfInterest The property ssn:observationResult must be http://www.w3.org/ns/ssn/SensorOutput The property ssn:observedProperty must be http://www.w3.org/ns/ssn/Property The property ssn:observedBy at least one http://www.w3.org/ns/ssn/Sensor The property ssn:observedBy must be http://www.w3.org/ns/ssn/Sensor The property ssn:sensingMethodUsed at least one http://www.w3.org/ns/ssn/Sensing The property ssn:observationSamplingTime occurring at least 0 times The property ssn:sensingMethodUsed must be http://www.w3.org/ns/ssn/Sensing The property ssn:qualityOfObservation occurring at least 0 times The property ssn:observationResultTime occurring at least 0 times The property ssn:observedProperty must be 1 http://www.w3.org/ns/ssn/Property 1 time(s) |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
is Defined By | http://www.w3.org/ns/ssn/ |
---|---|
OWL Class |
[#] [back to top]
Sub class of | Operating Property |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Property |
---|---|
Has sub class | Maintenance Schedule Operating Power Range ssn:MaintenanceSchedule ssn:OperatingPowerRange |
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Property |
---|---|
Restriction(s): |
The property
ssn:hasOperatingProperty
must be http://www.w3.org/ns/ssn/OperatingProperty
The property ssn:inCondition must be http://www.w3.org/ns/ssn/Condition |
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
is Defined By | http://www.w3.org/ns/ssn/ |
---|---|
OWL Class |
[#] [back to top]
Restriction(s): |
The property
ssn:attachedSystem
must be http://www.w3.org/ns/ssn/System
The property ssn:inDeployment must be http://www.w3.org/ns/ssn/Deployment |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Measurement Property |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Restriction(s): |
The property
ssn:hasInput
must be http://www.w3.org/ns/ssn/Input
The property ssn:hasOutput must be http://www.w3.org/ns/ssn/Output The property ssn:hasOutput can be http://www.w3.org/ns/ssn/Output |
---|---|
Has sub class | Sensing ssn:Sensing |
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Restriction(s): | The property ssn:isPropertyOf can be http://www.w3.org/ns/ssn/FeatureOfInterest |
---|---|
Has sub class | Survival Range Operating Range Measurement Property Survival Property Operating Property Condition Measurement Capability ssn:SurvivalRange ssn:OperatingRange ssn:MeasurementProperty ssn:SurvivalProperty ssn:OperatingProperty ssn:Condition ssn:MeasurementCapability |
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Measurement Property |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Measurement Property |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Measurement Property |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Process |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Device Sensor |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Measurement Property |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Restriction(s): |
The property
ssn:hasMeasurementCapability
must be http://www.w3.org/ns/ssn/MeasurementCapability
The property ssn:observes must be http://www.w3.org/ns/ssn/Property The property ssn:detects must be http://www.w3.org/ns/ssn/Stimulus The property ssn:implements can be http://www.w3.org/ns/ssn/Sensing |
---|---|
Has sub class | Sensing Device ssn:SensingDevice |
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
is Defined By | http://www.w3.org/ns/ssn/ |
---|---|
OWL Class |
[#] [back to top]
Restriction(s): | The property ssn:isProxyFor must be http://www.w3.org/ns/ssn/Property |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Restriction(s): |
The property
ssn:hasValue
can be http://www.w3.org/ns/ssn/ObservationValue
The property ssn:isProducedBy can be http://www.w3.org/ns/ssn/Sensor |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
is Defined By | http://www.w3.org/ns/ssn/ |
---|---|
OWL Class |
[#] [back to top]
Sub class of | Property |
---|---|
Has sub class | System Lifetime Battery Lifetime ssn:SystemLifetime ssn:BatteryLifetime |
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Property |
---|---|
Restriction(s): |
The property
ssn:inCondition
must be http://www.w3.org/ns/ssn/Condition
The property ssn:hasSurvivalProperty must be http://www.w3.org/ns/ssn/SurvivalProperty |
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Restriction(s): |
The property
ssn:hasDeployment
must be http://www.w3.org/ns/ssn/Deployment
The property ssn:hasSurvivalRange must be http://www.w3.org/ns/ssn/SurvivalRange The property ssn:onPlatform must be http://www.w3.org/ns/ssn/Platform The property ssn:hasSubSystem must be http://www.w3.org/ns/ssn/System The property ssn:hasSubSystem can be http://www.w3.org/ns/ssn/System The property ssn:hasOperatingRange must be http://www.w3.org/ns/ssn/OperatingRange |
---|---|
Has sub class | Device ssn:Device |
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Sub class of | Survival Property |
---|---|
is Defined By | http://www.w3.org/ns/ssn/ |
OWL Class |
[#] [back to top]
Inverse property of | on platform |
---|---|
is Defined By |
|
Object Property |
[#] [back to top]
Inverse property of | in deployment |
---|---|
is Defined By |
|
Object Property |
[#] [back to top]
Inverse property of | has deployment |
---|---|
is Defined By |
|
Object Property |
[#] [back to top]
is Defined By |
|
---|---|
Object Property |
[#] [back to top]
is Defined By |
|
---|---|
Object Property |
[#] [back to top]
is Defined By |
|
---|---|
Object Property |
[#] [back to top]
is Defined By |
|
---|---|
Object Property |
[#] [back to top]
Has inverse property | deployed system |
---|---|
is Defined By |
|
Object Property |
[#] [back to top]
Sub property of | has property |
---|---|
is Defined By |
|
Object Property |
[#] [back to top]
Sub property of | has property |
---|---|
is Defined By |
|
Object Property |
[#] [back to top]
Sub property of | has property |
---|---|
is Defined By |
|
Object Property |
[#] [back to top]
Sub property of | has property |
---|---|
is Defined By |
|
Object Property |
[#] [back to top]
Has sub property | has measurement capability has operating property quality of observation has survival range has survival property has measurement property has operating range |
---|---|
Inverse property of | is property of |
is Defined By |
|
Object Property |
[#] [back to top]
is Defined By |
|
---|---|
Object Property |
[#] [back to top]
Sub property of | has property |
---|---|
is Defined By |
|
Object Property |
[#] [back to top]
Sub property of | has property |
---|---|
is Defined By |
|
Object Property |
[#] [back to top]
Inverse property of | implements |
---|---|
is Defined By |
|
Object Property |
[#] [back to top]
Has inverse property | implemented by |
---|---|
is Defined By |
|
Object Property |
[#] [back to top]
is Defined By |
|
---|---|
Object Property |
[#] [back to top]
Has inverse property | deployed on platform |
---|---|
is Defined By |
|
Object Property |
[#] [back to top]
is Defined By |
|
---|---|
Object Property |
[#] [back to top]
Has inverse property | has property |
---|---|
is Defined By |
|
Object Property |
[#] [back to top]
is Defined By |
|
---|---|
Object Property |
[#] [back to top]
is Defined By |
|
---|---|
Object Property |
[#] [back to top]
is Defined By |
|
---|---|
Object Property |
[#] [back to top]
is Defined By |
|
---|---|
Object Property |
[#] [back to top]
is Defined By |
|
---|---|
Object Property |
[#] [back to top]
is Defined By |
|
---|---|
Object Property |
[#] [back to top]
is Defined By |
|
---|---|
has sub-property chains | madeObservation
o observedProperty hasMeasurementCapability o forProperty |
Object Property |
[#] [back to top]
is Defined By |
|
---|---|
Object Property |
[#] [back to top]
Has inverse property | attached system |
---|---|
is Defined By |
|
Object Property |
[#] [back to top]
Sub property of | has property |
---|---|
is Defined By |
|
Object Property |
[#] [back to top]
is Defined By |
|
---|---|
Object Property |
[#] [back to top]
How should the alignment be formally defined here? This presentation is experimental and rough at present.
The namespace for SSN terms is http://www.w3.org/ns/ssn/
There are no terms defined in the alignment, so no prefix is recommended.
The SSN alignment, known as "ssn-ssnx" is available at http://www.w3.org/2017/01/ssn-ssnx/.
The class ssn:Sensor has been redefined from the old SSN, so the assertion below holds in (approximately) RDF/XML syntax.
&old = "http://purl.oclc.org/NET/ssnx/ssn#"
&ssn = "http://www.w3.org/ns/ssn/"
<owl:Class rdf:about="&old;Sensor">
<rdfs:subClassOf rdf:resource="&ssn;Sensor"/>
</owl:Class>
All other SSN class and properties are declared to be equivalent. Therefore, the following pattern applies in (approximately) RDF/XML syntax.
&old = "http://purl.oclc.org/NET/ssnx/ssn#"
&ssn = "http://www.w3.org/ns/ssn/"
For every owl:ObjectProperty O in SSN but not in {Sensor},
assert the fragment:
<owl:ObjectProperty rdf:about="&old;O">
<owl:equivalentProperty rdf:resource="&ssn;O">
</owl:ObjectProperty>
Endfor
For every owl:Class C in SSN but not in {Sensor},
assert the fragment:
<owl:Class rdf:about="&old;C">
<owl:equivalentClass rdf:resource="&ssn;C">
</owl:Class>
Endfor
This section introduces the alignment of SSN to DUL. This serves to axiomatically clarify the intended meaning of SSN terms and will assist SSN users wishing to interoperate with other DUL-aligned ontologies.
How should the alignment be formally defined here?
The namespace for SSN terms is http://www.w3.org/ns/ssn/
There are no terms defined in the alignment, so no prefix is recommended.
The Dolce alignment, known as "ssn-dul" is available at http://www.w3.org/ns/ssn/dul/.
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#DesignedArtifact
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#DesignedArtifact> rdf:type owl:Class .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Event
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Event> rdf:type owl:Class .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#InformationObject
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#InformationObject> rdf:type owl:Class .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Method
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Method> rdf:type owl:Class .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Object
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Object> rdf:type owl:Class .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#PhysicalObject
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#PhysicalObject> rdf:type owl:Class .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Process
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Process> rdf:type owl:Class .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Quality
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Quality> rdf:type owl:Class .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Region
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Region> rdf:type owl:Class .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Situation
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Situation> rdf:type owl:Class .
### http://www.w3.org/ns/ssn/DeploymentRelatedProcess
<http://www.w3.org/ns/ssn/DeploymentRelatedProcess> rdf:type owl:Class ;
rdfs:subClassOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Process> .
### http://www.w3.org/ns/ssn/Device
<http://www.w3.org/ns/ssn/Device> rdf:type owl:Class ;
rdfs:subClassOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#DesignedArtifact> .
### http://www.w3.org/ns/ssn/FeatureOfInterest
<http://www.w3.org/ns/ssn/FeatureOfInterest> rdf:type owl:Class ;
rdfs:subClassOf
[ rdf:type owl:Class ;
owl:unionOf ( <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Event>
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Object>
)
] .
### http://www.w3.org/ns/ssn/Observation
<http://www.w3.org/ns/ssn/Observation> rdf:type owl:Class ;
rdfs:subClassOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Situation> ,
[ rdf:type owl:Restriction ;
owl:onProperty <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#includesEvent> ;
owl:someValuesFrom <http://www.w3.org/ns/ssn/Stimulus>
] .
### http://www.w3.org/ns/ssn/ObservationValue
<http://www.w3.org/ns/ssn/ObservationValue> rdf:type owl:Class ;
rdfs:subClassOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Region> ,
[ rdf:type owl:Restriction ;
owl:onProperty <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isRegionFor> ;
owl:someValuesFrom <http://www.w3.org/ns/ssn/SensorOutput>
] .
### http://www.w3.org/ns/ssn/Platform
<http://www.w3.org/ns/ssn/Platform> rdf:type owl:Class ;
rdfs:subClassOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#PhysicalObject> .
### http://www.w3.org/ns/ssn/Process
<http://www.w3.org/ns/ssn/Process> rdf:type owl:Class ;
rdfs:subClassOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Method> .
### http://www.w3.org/ns/ssn/Property
<http://www.w3.org/ns/ssn/Property> rdf:type owl:Class ;
rdfs:subClassOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Quality> .
### http://www.w3.org/ns/ssn/Sensor
<http://www.w3.org/ns/ssn/Sensor> rdf:type owl:Class ;
rdfs:subClassOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Object> .
### http://www.w3.org/ns/ssn/SensorDataSheet
<http://www.w3.org/ns/ssn/SensorDataSheet> rdf:type owl:Class ;
rdfs:subClassOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#InformationObject> .
### http://www.w3.org/ns/ssn/SensorInput
<http://www.w3.org/ns/ssn/SensorInput> rdf:type owl:Class ;
rdfs:subClassOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Event> .
### http://www.w3.org/ns/ssn/SensorOutput
<http://www.w3.org/ns/ssn/SensorOutput> rdf:type owl:Class ;
rdfs:subClassOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Object> .
### http://www.w3.org/ns/ssn/Stimulus
<http://www.w3.org/ns/ssn/Stimulus> rdf:type owl:Class ;
rdfs:subClassOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Event> .
### http://www.w3.org/ns/ssn/System
<http://www.w3.org/ns/ssn/System> rdf:type owl:Class ;
rdfs:subClassOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#PhysicalObject> .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#describes
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#describes> rdf:type owl:ObjectProperty .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasLocation
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasLocation> rdf:type owl:ObjectProperty .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasPart
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasPart> rdf:type owl:ObjectProperty .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasParticipant
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasParticipant> rdf:type owl:ObjectProperty .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasQuality
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasQuality> rdf:type owl:ObjectProperty .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasRegion
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasRegion> rdf:type owl:ObjectProperty .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#includesEvent
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#includesEvent> rdf:type owl:ObjectProperty .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#includesObject
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#includesObject> rdf:type owl:ObjectProperty .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isDescribedBy
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isDescribedBy> rdf:type owl:ObjectProperty .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isLocationOf
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isLocationOf> rdf:type owl:ObjectProperty .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isObjectIncludedIn
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isObjectIncludedIn> rdf:type owl:ObjectProperty .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isParticipantIn
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isParticipantIn> rdf:type owl:ObjectProperty .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isQualityOf
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isQualityOf> rdf:type owl:ObjectProperty .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isRegionFor
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isRegionFor> rdf:type owl:ObjectProperty .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isSettingFor
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isSettingFor> rdf:type owl:ObjectProperty .
### http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#satisfies
<http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#satisfies> rdf:type owl:ObjectProperty .
### http://www.w3.org/ns/ssn/attachedSystem
<http://www.w3.org/ns/ssn/attachedSystem> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isLocationOf> .
### http://www.w3.org/ns/ssn/deployedOnPlatform
<http://www.w3.org/ns/ssn/deployedOnPlatform> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasParticipant> .
### http://www.w3.org/ns/ssn/deployedSystem
<http://www.w3.org/ns/ssn/deployedSystem> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasParticipant> .
### http://www.w3.org/ns/ssn/deploymentProcessPart
<http://www.w3.org/ns/ssn/deploymentProcessPart> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasPart> .
### http://www.w3.org/ns/ssn/endTime
<http://www.w3.org/ns/ssn/endTime> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasRegion> .
### http://www.w3.org/ns/ssn/featureOfInterest
<http://www.w3.org/ns/ssn/featureOfInterest> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isSettingFor> .
### http://www.w3.org/ns/ssn/hasDeployment
<http://www.w3.org/ns/ssn/hasDeployment> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isParticipantIn> .
### http://www.w3.org/ns/ssn/hasProperty
<http://www.w3.org/ns/ssn/hasProperty> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasQuality> .
### http://www.w3.org/ns/ssn/hasSubSystem
<http://www.w3.org/ns/ssn/hasSubSystem> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasPart> .
### http://www.w3.org/ns/ssn/hasValue
<http://www.w3.org/ns/ssn/hasValue> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasRegion> .
### http://www.w3.org/ns/ssn/implementedBy
<http://www.w3.org/ns/ssn/implementedBy> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#describes> .
### http://www.w3.org/ns/ssn/implements
<http://www.w3.org/ns/ssn/implements> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isDescribedBy> .
### http://www.w3.org/ns/ssn/inDeployment
<http://www.w3.org/ns/ssn/inDeployment> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isParticipantIn> .
### http://www.w3.org/ns/ssn/isPropertyOf
<http://www.w3.org/ns/ssn/isPropertyOf> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isQualityOf> .
### http://www.w3.org/ns/ssn/madeObservation
<http://www.w3.org/ns/ssn/madeObservation> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isObjectIncludedIn> .
### http://www.w3.org/ns/ssn/observationResult
<http://www.w3.org/ns/ssn/observationResult> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isSettingFor> .
### http://www.w3.org/ns/ssn/observationResultTime
<http://www.w3.org/ns/ssn/observationResultTime> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasRegion> .
### http://www.w3.org/ns/ssn/observationSamplingTime
<http://www.w3.org/ns/ssn/observationSamplingTime> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasRegion> .
### http://www.w3.org/ns/ssn/observedBy
<http://www.w3.org/ns/ssn/observedBy> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#includesObject> .
### http://www.w3.org/ns/ssn/observedProperty
<http://www.w3.org/ns/ssn/observedProperty> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#isSettingFor> .
### http://www.w3.org/ns/ssn/onPlatform
<http://www.w3.org/ns/ssn/onPlatform> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasLocation> .
### http://www.w3.org/ns/ssn/sensingMethodUsed
<http://www.w3.org/ns/ssn/sensingMethodUsed> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#satisfies> .
### http://www.w3.org/ns/ssn/startTime
<http://www.w3.org/ns/ssn/startTime> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#hasRegion> .
This section introduces the alignment of SOSA/SSN to OGC Observations and Measurements [OandM].
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.
Two OWL implementations of O&M have been described: an explicit translation of the UML [OandM] following the rules specified in [ISO-19150-2]; and a handcrafted version in more idiomatic OWL [OM-Lite]. The advantage of the former is that it provides an RDF resource denoted by a URI and therefore a convenient identifier for every UML class, class attribute, and association-role from the original O&M model, but at a cost of including a large set of dependencies on similar OWL translations of several other UML models from the ISO 19100 series.
Complete SOSA/SSN to O&M mapping table should be included in the SSN document and an alignment ontology provided.
This section is non-normative.
This section identifies work that is planned to be done in the next iteration of the document. Comment on these topics and their priority is invited.
Check and reconsider or redesign modularization of SSN. See proposal in charter: noting the work to split the ontology into smaller sections to offer simplified access
Modularization of SSN might work like some of the following suggestions under discussion
How do we align Observation to O&M, does it become a prov:Activity?
Should sao:point and sao:segment be inside the core for time series analysis?
What is the scope of the sosa:Platform class and how does it relate to the ssn:Platform?
Is the sosa:Process class needed in the core and how is it different to ssn:Process?
What are the implication of the new sosa:Result class, should that be changed in SSN too, i.e. collapse ssn:SensorOutput and ssn:ObservationValue into one class?
Design for Actuation in sosa needs to be revisited and justified with best practices.
Do we need Sampling in SOSA?
What is the alignment between Sensor in SOSA and SSN?
How do we replace those components of dul that seem to be core to ssn if dul is not being used?
What goes in SSN and what should be just a recommended profile/extract/extension? These could include e.g. WoT? Iot-lite? satellite sensors? samples? human sensors? Or do we just advise how to do this in general?
Are there additional properties needed for ssn:observation to represent forecasts as observations.
Given the distinction between records and events, ssn:Observation is not the same concept as om:Observation. This arises also in alignment with PROV-O
Align SSN with PROV-O
Two such alignments have already been published in the literature [SSN-PROV] and [OM-Lite]. One proposal functions mostly rather like the alignment to DUL as described above in form, but some rather useful SWRL is also used.
Is it ok to use SWRL, too, for this? Or would it be better to make some bigger changes to SSN to align with PROV-O?
Is the provenance requirement in scope?
Align SSN with RDF datacube
SSN for IoT devices
In this context actuation is a clear need and should be considered.
The user should be able to understand the network resource cost of proposed instructions (for example, power required per measurement, current battery life, latency before instructions can be executed). These qualities could be interpreted by the scientist user directly, or by an automated agent aiming to optimize network efficiency through resource scheduling and optimisation algorithms.
Align SSN with the ontology developed for the coverage deliverable
Extend SSN to cover requirements identified in our UCR
Align SSN to implement Best Practices as defined in our BP deliverable.
Extend SSN to to cover requirements identified in our wish List. These requirements have not been discussed in the group and are subject to prioritisation and resources.
Review annotation properties, including multilingual. Fix typos and spelling.
Extend SSN to cover these things https://www.w3.org/2015/spatial/wiki/Working_Use_Cases#Various_Sensor_Use_Cases_.28SSN.29 (Action-25)
This section is non-normative.
This is a note of some proposed documentation, resources permitting.
Changes since the FPWD include...
Object properties ssn:isValueOf, ssn:produces and ssn:featureinObservation, along with a propertychain subproperty of produces and another propertychain subproperty of hasProperty, were introduced unintentionally in the FPWD. These have been removed here but could be reinstated if there is demand.