OBOFoundry/COB

NTR: organism part derivative

Opened this issue · 8 comments

Context: obophenotype/uberon#2427

We want a place for classes for:

  • a butchered cow heart
  • a heart in the middle of transplantation

These should not be subclasses of uberon heart as this will be unsatisfiable (uberon:heart SubClassOf part-of some organism, contained-in some thoracic cavity, etc)

one option is to branch within the AO:

  • COB:material anatomical entity = Uberon:material anatomical entity
    • extra-organismal derivative
      • extracted heart (sub: derived-from some Uberon:heart)
    • Uberon:organ [unique label: "in-organism canonical organ"]
      • Uberon:heart [unique label: "in-organism canonical heart"]

(CL essentially does this with cell/native cell split)

another is to branch outside the AO

  • COB:material anatomical entity = Uberon:material anatomical entity [unique label: "in-organism canonical material entity"]
    • Uberon:organ [unique label: "in-organism canonical organ"]
      • Uberon:heart [unique label: "in-organism canonical heart"]
  • COB:extra-organismal derived anatomical entity
    • extracted heart (sub: derived-from some Uberon:heart)

@bpeters42 You mean you would paradigm-fit those under 'processed specimen'? I'm not seeing existing equivalents there for whole organs (or plant parts, FoodOn's need). Also maybe 'specimen' would be technically a better OBI parent to consider? Nothing is necessarily done to organ after it becomes a "specimen" via extraction, so not nec. processed. "Specimen" seems a bit semantically loaded towards technical analysis use though. An "extracted material" parent class would avoid such assumptions up-front?

I just realized there is likely a formal problem in defining a new entity "extracted heart", severed from its bodily context, and then trying to refer to one of its parts.

_:HT1
typeOf 'extracted heart'
_:LV1
typeOf 'left ventricle instance'
'part of' _:HT1

If we refer to LV1 directly, UBERON implies in-situ connection to rest of a canonical body.
Say instead of _:LV1 we tried instead to refer to an "extracted heart left ventricle" _:EHLV2. That doesn't work because it is not extracted from the heart it is in?

My point was that all the parthood that one would like to rely upon somehow with UBERON, i.e. just knowing that the heart specimen I have before me has a 'left ventricle instance' and therefore I should see it connected to such and such, can't be taken advantage of. One has to re-create a whole mirrored parthood. Every part of the heart before me has to be declared a processed specimen itself, and all the parthood connections between them declaired at the instance level? Maybe that's something I didn't realize about instance-level entities that are not in-situ instances of anatomical classes.

Ok, there's hope via property chain then. I'll experiment a bit. I'll see if transitivity involved in inverse relations need to be blocked somehow.