ga4gh / pedigree_family_history_terminology

Apache License 2.0
4 stars 3 forks source link

Terms with 'is' prefix should have an 'of' suffix #13

Closed julesjacobsen closed 2 years ago

julesjacobsen commented 2 years ago

Given the relationship KIN_003 (isBiologicalParent):

# Object Property: <http://purl.org/ga4gh/kin.owl#KIN_003> (isBiologicalParent)

AnnotationAssertion(rdfs:label <http://purl.org/ga4gh/kin.owl#KIN_003> "isBiologicalParent")
EquivalentObjectProperties(<http://purl.org/ga4gh/kin.owl#KIN_003> <http://purl.org/ga4gh/kin.owl#KIN_033>)
SubObjectPropertyOf(<http://purl.org/ga4gh/kin.owl#KIN_003> <http://purl.org/ga4gh/kin.owl#KIN_002>)
InverseObjectProperties(<http://purl.org/ga4gh/kin.owl#KIN_003> <http://purl.org/ga4gh/kin.owl#KIN_032>)
InverseObjectProperties(<http://purl.org/ga4gh/kin.owl#KIN_003> <http://purl.org/ga4gh/kin.owl#KIN_034>)
ObjectPropertyDomain(<http://purl.org/ga4gh/kin.owl#KIN_003> <http://purl.org/ga4gh/kin.owl#KIN_998>)
ObjectPropertyRange(<http://purl.org/ga4gh/kin.owl#KIN_003> <http://purl.org/ga4gh/kin.owl#KIN_998>)
DisjointObjectProperties(<http://purl.org/ga4gh/kin.owl#KIN_003> <http://purl.org/ga4gh/kin.owl#KIN_032>)

# Object Property: <http://purl.org/ga4gh/kin.owl#KIN_002> (isBiologicalRelative)

# Object Property: <http://purl.org/ga4gh/kin.owl#KIN_032> (isBiologicalChild)

AnnotationAssertion(rdfs:label <http://purl.org/ga4gh/kin.owl#KIN_032> "isBiologicalChild")
SubObjectPropertyOf(<http://purl.org/ga4gh/kin.owl#KIN_032> <http://purl.org/ga4gh/kin.owl#KIN_002>)
InverseObjectProperties(<http://purl.org/ga4gh/kin.owl#KIN_032> <http://purl.org/ga4gh/kin.owl#KIN_033>)

# Object Property: <http://purl.org/ga4gh/kin.owl#KIN_033> (hasBiologicalChild)

AnnotationAssertion(rdfs:label <http://purl.org/ga4gh/kin.owl#KIN_033> "hasBiologicalChild"@en)
SubObjectPropertyOf(<http://purl.org/ga4gh/kin.owl#KIN_033> <http://purl.org/ga4gh/kin.owl#KIN_002>)

# Object Property: <http://purl.org/ga4gh/kin.owl#KIN_034> (hasBiologicalParent)

AnnotationAssertion(rdfs:label <http://purl.org/ga4gh/kin.owl#KIN_034> "hasBiologicalParent"@en)
SubObjectPropertyOf(<http://purl.org/ga4gh/kin.owl#KIN_034> <http://purl.org/ga4gh/kin.owl#KIN_002>)

Asserting that Homer - isBiologicalParent -> Bart reads strangely. The term isBiologicalParent sounds more like a property rather than a relationship. Wouldn't it read more naturally as Homer - isBiologicalParent*Of* -> Bart, with the inverse being Bart - isBiologicalChild*Of* -> Homer.

Putting this in the context of the pedigree model:

   {
    "individual": "mother",
    "relative": "proband",
    "relation": {
      "id": "KIN:003",
      "label": "isBiologicalParent"
    }

It isn't clear to me what this is trying to say! @buske This is in part due to the field names and ordering, but the relation label doesn't help to clarify things. Renaming the fields individual -> subject and relation -> relationship would make it clearer. For example:

    {
    "subject": "mother",
    "relative": "proband",
    "relationship": {
      "id": "KIN:003",
      "label": "isBiologicalParentOf"
    }
cmungall commented 2 years ago

I agree. This is common practice in all OBO ontologies that use ObjectProperties

omitting the "of" and having just "Father" or "isFather" can be ambiguous w.r.t direction

It looks like this was all agreed upon in #1, which is now closed