- status: open --> closed
- Group: --> Next Release (example)
Hello
(Not sure whether this is Ontology or Data structure---probably both.)
As far as I can work out, the is_part_of relationship is incompatible with the OBO Relations Ontology, but fortunately there is a straightforward fix.
If we set RO to one side for the moment, the problem with the is_part_of relationship is that it is used to mean more than one thing:
(1) is *necessarily* part of (carbonyl group (CHEBI:23019) is necessarily part of carbonyl compounds (CHEBI:36586))
(2) is *sometimes* part of (lead(2+) (CHEBI:30179) is sometimes part of lead diacetate (CHEBI:31767), but most lead(2+) in reality isn't.)
(3) is *extremely rarely* part of (electron (CHEBI:10545) is extremely rarely part of muonium (CHEBI:10545)).
This poses problems for inference. The RO (doi:10.1186/gb-2005-6-5-r46) definition of the part_of relationship can be boiled down to the statement "Every X is part of some Y". So every carbonyl group is part of some carbonyl compound, but not every electron is part of some muonium atom.
Fortunately, RO offers a way out. There is a has_part relationship, which basically says "Every Y has_part some X". So every muonium atom has an electron in it, all lead diacetates have part lead(2+) and so forth.
So in the relation table, for every record that has TYPE is_part_of, if you change the TYPE to has_part, and swap over INIT_ID and FINAL_ID, then this should solve most of the problems.
The definition of has_part can be taken from the RO paper.
This would be really helpful for making ChEBI more usable.
Does this sound reasonable? Is there anything about the internals of ChEBI that I haven't taken into account, or indeed misunderstood, here? How much warning would you have to give users of ChEBI for a change of this sort?
Best wishes,
Colin.