Link between FeatureOfInterest and xxxProperty

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

Back to Semantic Sensor Network Ontology.

Although it has not been resolved, hasProperty and isPropertyOf are de facto not in SOSA.

This page questions the existence of the link between FeatureOfInterest and xxxProperty in SOSA.

In old SSN, this link was materialized by properties oldssn:hasProperty and oldssn:isPropertyOf

In the current sosa, this link does not exist:

20170308-foi-property-object-event.png

Discussion

Maxime: it's strange that there is no link between FeatureOfInterest and xxxProperty in SOSA.

Armin, https://github.com/w3c/sdw/pull/572 : I think it was deliberately left out from SOSA.

Simon, https://github.com/w3c/sdw/pull/572 : Indeed, there was no connection between FeatureOfInterest and ObservableProperty in SOSA because that would have involved establishing something akin to the ISO 19109 General Feature Model, which is way beyond the scope of SOSA. It would also have likely involved either rdfs semantics (domain and range) or OWL semantics (owl:Restriction) which we agreed would not be used in SOSA.

Jano, https://github.com/w3c/sdw/pull/572 : Yes and let us not flood SOSA with more and more features otherwise we give up one the major design goal of being minimal and easy to use in the first place.

Related thread in the list:

  • Link between FeatureOfInterest and xxxProperty

Option 1: add sosa:hasProperty and sosa:isPropertyOf in SOSA

ssnx.ttl:

   oldssn:hasProperty a owl:ObjectProperty ;
     rdfs:label "has property"@en ;
     skos:definition """Relation between a FeatureOfInterest and a Property of that feature."""@en ;
     rdfs:seeAlso "http://www.w3.org/2005/Incubator/ssn/wiki/SSN_Skeleton#Skeleton" ;
     owl:deprecated true ;
     owl:equivalentProperty sosa:hasProperty ;
     rdfs:isDefinedBy <http://purl.oclc.org/NET/ssnx/ssn> .
 
   oldssn:isPropertyOf a owl:ObjectProperty ;
     rdfs:label "is property of"@en ;
     skos:definition """Relation between a Property (a Quality observable by a sensor) and the FeatureOfInterest it belongs to."""@en ;
     rdfs:seeAlso "http://www.w3.org/2005/Incubator/ssn/wiki/SSN_Skeleton#Skeleton" ;
     owl:deprecated true ;
     owl:equivalentProperty sosa:isPropertyOf ;
     rdfs:isDefinedBy <http://purl.oclc.org/NET/ssnx/ssn> .

sosa.ttl

   sosa:hasProperty a owl:ObjectProperty ;
     rdfs:label "has property"@en ;
     skos:definition """Relation between a FeatureOfInterest and a Property of that feature."""@en ;
     schema:domainIncludes sosa:FeatureOfInterest ;
     schema:rangeIncludes sosa:ObservableProperty ;
     schema:rangeIncludes sosa:ActuatableProperty ;
     owl:inverseOf sosa:isPropertyOf ;
     rdfs:isDefinedBy sosa: .
 
   sosa:isPropertyOf a owl:ObjectProperty ;
     rdfs:label "is property of"@en ;
     skos:definition """Relation between a Property and the FeatureOfInterest it belongs to."""@en ;
     schema:domainIncludes sosa:ObservableProperty ;
     schema:domainIncludes sosa:ActuatableProperty ;
     schema:rangeIncludes sosa:FeatureOfInterest ;
     owl:inverseOf sosa:hasProperty ;
     rdfs:isDefinedBy sosa: .

ssn.ttl

# nothing required

Option 2: add nothing in SOSA, add ssn:hasProperty and ssn:isPropertyOf in SSN

ssnx.ttl:

   oldssn:hasProperty a owl:ObjectProperty ;
     rdfs:label "has property"@en ;
     skos:definition """Relation between a FeatureOfInterest and a Property of that feature."""@en ;
     rdfs:seeAlso "http://www.w3.org/2005/Incubator/ssn/wiki/SSN_Skeleton#Skeleton" ;
     owl:deprecated true ;
     owl:equivalentProperty ssn:hasProperty ;
     rdfs:isDefinedBy <http://purl.oclc.org/NET/ssnx/ssn> .
 
   oldssn:isPropertyOf a owl:ObjectProperty ;
     rdfs:label "is property of"@en ;
     skos:definition """Relation between a Property (a Quality observable by a sensor) and the FeatureOfInterest it belongs to."""@en ;
     rdfs:seeAlso "http://www.w3.org/2005/Incubator/ssn/wiki/SSN_Skeleton#Skeleton" ;
     owl:deprecated true ;
     owl:equivalentProperty ssn:isPropertyOf ;
     rdfs:isDefinedBy <http://purl.oclc.org/NET/ssnx/ssn> .

sosa.ttl

# nothing required

ssn.ttl

   ssn:hasProperty a owl:ObjectProperty ;
     rdfs:label "has property"@en ;
     skos:definition """Relation between a FeatureOfInterest and a Property of that feature."""@en ;
     owl:inverseOf ssn:isPropertyOf ;
     rdfs:isDefinedBy ssn: .
 
   ssn:isPropertyOf a owl:ObjectProperty ;
     rdfs:label "is property of"@en ;
     skos:definition """Relation between a Property and the FeatureOfInterest it belongs to."""@en ;
     owl:inverseOf sosa:hasProperty ;
     rdfs:isDefinedBy ssn: .

Pull request https://github.com/w3c/sdw/pull/572 implements this.


What is an instances of ssn:Property ?

Moved to What is an instance of ssn:Property