-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The envo.owl release file contains a cyclic assertion that ChEBI role is a subClassOf BFO role and vice versa #1513
Comments
In addition to the equivalence axiom PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT
*
WHERE {
?s1 owl:equivalentClass ?s2 .
filter(isiri(?s1))
filter(isiri(?s2))
}
|
Is this a good design? I can only speak to the fact that it breaks some code NMDC uses to load ontologies into a relational database. Is this a consequence of the switch from Elk 0.4.3 to Elk 0.5.0? It looks pretty silly in Protege, even with reasoning off |
Maybe it's coming from PATO? grep -r -C 3 CHEBI_50906 imports/*owl | grep -C 3 BFO_0000023
|
Of course, ENVO doesn't assert this, you can mouse over the source equivalence axiom in Protege and see this comes from PATO. And of course, ENVO merges all imports and inferences in one envo.owl bundle (as per OBO standards) which launders the inferred subClassOf axiom, making it look like ENVO is the cause, but ENVO is just following OBO standards. |
jinx your method is better I updated the issue title |
Note a lot of discussions on BFO vs CHEBI role: oborel/obo-relations#467 Also COB does not seem to think they are the same:
For this specific issue, it would be good if ENVO was moved to "base imports". ENVO isnt proper ODK so this is a bit of a mission. Recently did this for Mondo as well: https://github.com/monarch-initiative/mondo/pull/6639/files#diff-1376bbad1ef43bed6c9aed84b7d52471e63c87277b2b3f72ed0a5bdef481b638 However, the easiest way out for now is to get your users to use the envo base file - but when you do, make sure it is reasoned and reduced in the Makefile. |
I would like to be more proficient with base files, here in EnvO and in NMDCO. I tried to build NMDCO with base files but there were a lot of dangling owl:Things. I hadn't reasoned or reduced. For NMDCO, for the time being, I'm doing robot remove --input $@.tmp.owl \
--term CHEBI:50906 --term BFO:0000023 \
--select self --axioms equivalent --axioms subclass --trim false \
--output $@ |
These long discussions don't get us anywhere. If PATO is asserting something that gunks up downstream processes, it should clean it up. And there's no good reason - from the OBO perspective - that CHEBI should have a role class other than BFO:role. The definition is basically the same, but CHEBI uses less precise language. OBO works like a federation, until it doesn't. Can we use ODK or robot to remove CHEBI role from all imports ? |
this isn't an ENVO issue - I'm closing it @turbomam please post on the CHEBI tracker |
The text was updated successfully, but these errors were encountered: