obophenotype / upheno

The Unified Phenotype Ontology (uPheno) integrates multiple phenotype ontologies into a unified cross-species phenotype ontology.
https://obophenotype.github.io/upheno/
Creative Commons Zero v1.0 Universal
76 stars 17 forks source link

replace absence pattern using lack_all_parts_of_type; and matching has_fewer_parts_of_type pattern #719

Open dosumis opened 4 years ago

dosumis commented 4 years ago

STATUS: Draft proposal

For background see https://docs.google.com/presentation/d/1-FMyAdfQhEyDClfKdDHfeC2LZ5Q-dsP5uY_25rEQ-rI/edit#slide=id.g96675c1a66_0_50

https://arxiv.org/pdf/1410.3862.pdf

Challenge: This approach requires punning, which in turn requires declaration of classes as individuals. Do we need to specify these declarations? Can we rely on DOSDP-tools to deal with this automatically? @balhoff ?

lacks/absence

vars: 
 location: "'anatomical_entity'"
 part:  "'anatomical_entity'"

EquivalentTo: 
    text: has_part some 'lacks all parts of type' and inheres_in some %s and towards value %s
     vars:
          - location
          - part

labels are a challenge:

  1. Do we need plurals - absent teeth (?)
  2. In order to get sufficiently specific classification in the morphology branch, location should be as specific as possible. But we only want the label to mention location if instances of the absent structure (normally) exist outside the specified location.

location: dentition part: tooth

=> absent teeth

but

location: head part: hair

=> absent hair on head.

Poss solutions:

reduced number

We need two EC axioms - one with existential restriction in order to => classification by part; one with value restriction to => classification over lacks.

vars: 
 location: "'anatomical_entity'"
 part:  "'anatomical_entity'"

logical_axioms: 
   -  
      axiom_type: EquivalentTo
      text: has_part some 'has fewer parts of type' and inheres_in some %s and towards value %s
      vars:
          - location
          - part
  -  
      axiom_type: EquivalentTo
      text: has_part some 'has fewer parts of type' and inheres_in some %s and towards some %s
      vars:
          - location
          - part
dosumis commented 4 years ago

CC @cmungall @balhoff @sbello

dosumis commented 4 years ago

Having thought about this some more, I can see potential logical problems with this proposal.

'absent X' will inherit the axiom has_part some ('has fewer parts of type' and (inheres_in some %s) and (towards some X))

That existential quantifier asserts the existence of X. This would not be compatible with the full schema in https://arxiv.org/pdf/1410.3862.pd in which towards is used to infer 'implies presence of'. It may also cause other problems - more investigation and discussion needed. The alternative - using only value restrictions, will lead to a much reduced classification for reduced number classes.

dosumis commented 4 years ago

Action item: