emmo-repo / EMMO

Elementary Multiperspective Material Ontology (EMMO)
Other
65 stars 17 forks source link

hasSymbolData is functional and has domain Symbol #96

Closed urbanmatthias closed 4 years ago

urbanmatthias commented 4 years ago

Hi, I have a question concerning issue #85 .

in 1.0.0-alpha2, hasSymbolData has domain Symbol and is functional. That still means that every Symbol, including math.Integer or math.Real must have that relationship, right?

    <owl:DatatypeProperty rdf:about="http://emmo.info/emmo/middle/perceptual#EMMO_23b579e1_8088_45b5_9975_064014026c42">
        <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>  # it is functional
        <rdfs:domain rdf:resource="http://emmo.info/emmo/middle/perceptual#EMMO_a1083d0a_c1fb_471f_8e20_a98f881ad527"/>  # domain is symbol
        <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
        <skos:prefLabel xml:lang="en">hasSymbolData</skos:prefLabel>
    </owl:DatatypeProperty>

Image Pasted at 2020-9-23 16-39

jesper-friis commented 4 years ago

Hi, no, we removed the restriction Symbol hasSymbolData some xsd:string. That hasSymbolData has domain Symbol means that all entities with a hasSymbolData restriction must be a Symbol.

I think it should be ok.

urbanmatthias commented 4 years ago

Oh sorry my mistake, I thought for a functional property there must be exactly one value, but apparently no value is also fine:

https://www.w3.org/TR/owl-ref/#FunctionalProperty-def

A functional property is a property that can have only one (unique) value y for each instance x, i.e. there cannot be two distinct values y1 and y2 such that the pairs (x,y1) and (x,y2) are both instances of this property. Both object properties and datatype properties can be declared as "functional". For this purpose, OWL defines the built-in class owl:FunctionalProperty as a special subclass of the RDF class rdf:Property.

The following axiom states that the husband property is functional, i.e., a woman can have at most one husband (a good example of culture dependence of ontologies):

<owl:ObjectProperty rdf:ID="husband">
  <rdf:type    rdf:resource="&owl;FunctionalProperty" />
  <rdfs:domain rdf:resource="#Woman" />
  <rdfs:range  rdf:resource="#Man" />
</owl:ObjectProperty>