PHI-base / phipo

Pathogen-Host Interaction Phenotype Ontology
Other
5 stars 5 forks source link

Looping of BFO:0000023 and CHEBI:50906 #385

Open SydCo99 opened 1 year ago

SydCo99 commented 1 year ago

There seems to be some kind of loop happening with the role terms BFO:0000023 and CHEBI:50906.

BFO:0000023 is a subclass of BFO:0000023, and CHEBI:50906 is a subclass of BFO:0000023 (while they are also equivalent to each other). CHEBI:50906 is a subclass of CHEBI:50906 (so is BFO:0000023, twice, and again twice in the nested CHEBI:50906 subclass of itself). I have attached a screenshot of how this looks in Protege.

Also, the equivalency between the two role terms is a bit confusing as they have different definitions.
For reference:

  1. BFO definition - "A realizable entity the manifestation of which brings about some result or end that is not essential to a continuant in virtue of the kind of thing that it is but that can be served or participated in by that kind of continuant in some kinds of natural, social or institutional contexts."
  2. CHEBI definitions - "A role is particular behaviour which a material entity may exhibit."

Lastly, I'm assuming the BFO role term was intended to be oriented in the BFO hierarchy already in PHIPO, specifically as a subclass of Realizable Entity (http://purl.obolibrary.org/obo/BFO_0000017). Currently, both role terms are direct subclasses of owl:Thing.

PHIPO_role

jseager7 commented 1 year ago

Hi @SydCo99, sorry again about the late reply. I think this issue is out of scope for PHIPO because we didn't define these classes or their relations: they're imported into the ontology as part of the import process of the Ontology Development Kit that we use to build PHIPO.

I can only assume that this logical weirdness is being caused by multiple ontologies being imported (PATO, ChEBI, BFO) that have overlapping or inconsistent axioms. I'm not an expert on this, as you can probably tell.

@matentzn Is this something that should be raised on another issue tracker?

matentzn commented 1 year ago

No, this behaviour is correct - the question is more if you want to avoid adding axioms like that to your release or not. There are a few options for this, but a quick fix in your case would be to only import http://purl.obolibrary.org/obo/pato/pato-simple.owl (i.e. change the ODK config to mirror_from there).