-
Notifications
You must be signed in to change notification settings - Fork 29
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
Allow to optionally keep disjointness axioms when building composite products. #3177
Conversation
All composite-* products are built by, among other operations, stripping any disjointness axiom in the merged ontology. This is necessary as most composite-* products would be impossible to build otherwise (the merge-species step requires the ontology to be consistent, and most of the collected-* merges are not because of incompatibilities between Uberon and one or several of the taxon-specific ontologies). This will not change anytime soon, but we should still at least *aim* to achieve inter-ontology consistency in the (far) future. This has already been achieved at least for the composite-drosophila product (Uberon + CL + FBbt), so it _is_ possible. This commit makes the removal of the disjointness axioms optional, so one can easily try to build a composite-* product with the disjointness axioms still in place. Simply run the pipeline with COMPOSITE_STRIP_DISJOINTS=false, e.g. sh run.sh make composite-mouse.owl COMPOSITE_STRIP_DISJOINTS=false For most products this is likely to fail, but this gives us an easy way to _test_ building with disjointness axioms in place, so that we can start addressing the inconsistency issues.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR does not seem to affect the default behaviour (basically changing nothing in practice).
Just so I understand -
- Why even try to build with disjoint (even if it is possible)
- And if its possible, why not always do it for, say, a specific composite (like drospohila)
- How do you see this used in practice? People checking out uberon and running a composite build with
COMPOSITE_STRIP_DISJOINTS=false
?
Yes.
So that we have a chance to detect the unsats that are caused (or rather, revealed) by the disjointness axioms, so that we can have a go at trying to fix them instead of continuing to pretend that everything is fine. Forever building without those disjointness axioms is the ontological equivalent of sweeping the dust under the rug and pretending the room is clean. “Your ontology is inconsistent!
The only composite product we routinely build and publish as part of a release is
Exactly. Though in effect, I don’t expect that anyone would have to check out Uberon – the only people who would use that are likely to be Uberon editors and would already have a copy of the repo. This option is merely a facility offered to Uberon editors (at least those of them actually interested in getting rid of unsats) to temporarily disable the unsats, see what happens, and either recoil in horror at the number of unsats they found, or decide that they can try to fix at least some of them. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks for the explanations @gouttegd !
All
composite-*
products are built by, among other operations, stripping any disjointness axiom in the merged ontology. This is necessary as mostcomposite-*
products would be impossible to build otherwise (themerge-species
step requires the ontology to be consistent, and most of thecollected-*
merges are not because of incompatibilities between Uberon and one or several of the taxon-specific ontologies).This will not change anytime soon, but we should still at least aim to achieve inter-ontology consistency in the (far) future. This has already been achieved at least for the
composite-drosophila
product (Uberon + CL + FBbt), so it is possible.This PR makes the removal of the disjointness axioms optional, so one can easily try to build a
composite-*
product with the disjointness axioms still in place. Simply run the pipeline withCOMPOSITE_STRIP_DISJOINTS=false
, e.g.For most products this is likely to fail, but this gives us an easy way to test building with disjointness axioms in place, so that we can start addressing the inconsistency issues.