Naming of isObservedBy vs madeObservation in SOSA

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

Proposed Solution

The code listings below show the small change that has to be made in SSN new to resolve ISSUE-108 by following our property naming scheme, including the naming of inverse relations. Please note that the listings below also assume the change to ObservableProperty. A decision has not been reached on that yet, and the naming of Property/ObservableProperty in the listing below may change.

ObservesPattern.png

ssnx.ttl

oldssn:madeObservation rdf:type owl:ObjectProperty ;
 rdfs:label "made observation" ;
 rdfs:isDefinedBy "http://purl.oclc.org/NET/ssnx/ssn" ;
 rdfs:seeAlso "http://www.w3.org/2005/Incubator/ssn/wiki/SSN_Observation#Observation" ;
 rdfs:comment "Relation between a Sensor and Observations it has made." ;
 owl:inverseOf oldssn:observedBy ;
 rdfs:subPropertyOf DUL:isObjectIncludedIn ;
 owl:deprecated true ; 
 owl:equivalentProperty sosa:madeObservation .

oldssn:observedBy rdf:type owl:ObjectProperty ;
 rdfs:seeAlso "http://www.w3.org/2005/Incubator/ssn/wiki/SSN_Skeleton#Skeleton" ;
 rdfs:isDefinedBy "http://purl.oclc.org/NET/ssnx/ssn" ;
 rdfs:subPropertyOf DUL:includesObject ;
 owl:deprecated true ; 
 owl:equivalentProperty sosa:madeBySensor .

ssn:observes rdf:type owl:ObjectProperty ;
 rdfs:label "observes" ;
 rdfs:seeAlso "http://www.w3.org/2005/Incubator/ssn/wiki/SSN_Sensor#Measuring" ;
 rdfs:isDefinedBy "http://purl.oclc.org/NET/ssnx/ssn" ;
 rdfs:comment """Relation between a Sensor and a Property that the sensor can observe.""" ;
 owl:propertyChainAxiom ( ssn:hasMeasurementCapability
   ssn:forProperty
  ) ,
  ( ssn:madeObservation
   ssn:observedProperty
  ) ;
 owl:deprecated true ; 
 owl:equivalentProperty sosa:observes .

sosa.ttl

sosa:madeObservation rdf:type owl:ObjectProperty ;
 schema:domainIncludes sosa:Sensor ;
 schema:rangeIncludes sosa:Observation ;
 rdfs:comment "Relation between a Sensor and an Observation it has made."@en ;
 rdfs:label "made observation"@en ;
 owl:inverseOf sosa:madeBySensor ;
 skos:definition "Relation between a Sensor and an Observation it has made."@en .

sosa:madeBySensor rdf:type owl:ObjectProperty ;
 schema:domainIncludes sosa:Observation ;
 schema:rangeIncludes sosa:Sensor ;
 rdfs:comment "Relation between an Observation and the Sensor which made the Observation."@en ;
 rdfs:label "made by sensor"@en ;
 owl:inverseOf sosa:madeObservation ;
 skos:definition "Relation between an Observation and the Sensor which made the Observation."@en .

sosa:isObservedBy rdf:type owl:ObjectProperty ;
  schema:domainIncludes sosa:ObservableProperty ;
  schema:rangeIncludes sosa:Sensor ;
  rdfs:comment "Relation between an ObservableProperty and the Sensor able to observe it."@en ;
  rdfs:label "is observed by"@en ;
  owl:inverseOf sosa:observes ;
  skos:definition "Relation between an ObservableProperty and the Sensor able to observe it."@en .

sosa:observes rdf:type owl:ObjectProperty ;
 schema:domainIncludes sosa:Sensor ;
 schema:rangeIncludes sosa:ObservableProperty ;
 rdfs:comment "Relation between a Sensor and an ObservableProperty that it is capable of sensing."@en ;
 rdfs:label "observes"@en ;
 owl:inverseOf sosa:isObservedBy ;
 skos:definition "Relation between a Sensor and an ObservableProperty that it is capable of sensing."@en .

ssn.ttl

#unchanged from SOSA, not necessary to be redefined, but included here for illustration purposes
sosa:madeObservation rdf:type owl:ObjectProperty ;
 owl:inverseOf sosa:madeBySensor ;
 rdfs:comment "Relation between a Sensor and an Observation it has made." ;
 rdfs:label "made observation" .

#unchanged from SOSA, not necessary to be redefined, but included here for illustration purposes
sosa:madeBySensor rdf:type owl:ObjectProperty ;
 rdfs:comment "Relation between an Observation and the Sensor which made the Observation."@en ;
 rdfs:label "made by sensor"@en ;
 owl:inverseOf sosa:madeObservation ;
 skos:definition "Relation between an Observation and the Sensor which made the Observation."@en .

sosa:observes rdf:type owl:ObjectProperty ;
 owl:propertyChainAxiom ( ssn:hasMeasurementCapability
  ssn:forProperty
 ) ,
 ( sosa:madeObservation
  ssn:observedProperty
 ) ;
 rdfs:comment """Relation between a Sensor and an ObservableProperty that it is capable of sensing.""";
 skos:example """Note that a sensor defined with 'observes only Windspeed' technically links the sensor to particular instances of Windspeed, not to the concept itself - OWL can not express concept-concept relations, only individual-individual. The property composition ensures that if an observation is made of a particular quality then one can infer that the sensor observes that quality.""" ;
 rdfs:isDefinedBy "http://www.w3.org/ns/ssn" ;
 rdfs:label "observes" .

#unchanged from SOSA, not necessary to be redefined, but included here for illustration purposes 
sosa:isObservedBy rdf:type owl:ObjectProperty ;
 rdfs:comment "Relation between an ObservableProperty and the Sensor able to observe it."@en ;
 rdfs:label "is observed by"@en ;
 owl:inverseOf sosa:observes ;
 skos:definition "Relation between an ObservableProperty and the Sensor able to observe it."@en .

#only changes to Observation class shown here
sosa:Observation rdf:type owl:Class ;
 [ rdf:type owl:Restriction ;
   owl:onProperty sosa:isObservedBy ;
   owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
   owl:onClass sosa:Sensor
 ] ,
 [ rdf:type owl:Restriction ;
   owl:onProperty sosa:isObservedBy ;
   owl:allValuesFrom sosa:Sensor
] .