Open gouttegd opened 2 years ago
We should have plenty of protection against this by using
robot reason -i x.owl --allow-equivalent-classes asserted-only
which you recently made mandatory.
Do you want to add this check because of the necessity to catch the problem without using the reasoner?
The much more heavy problem is the thing @dosumis and @anitacaron are (I think?) working on that procludes cycles over object properties like part-of..
Have that implemented here (I think): https://github.com/obophenotype/uberon/pull/2125
Maybe somebody could take it over?
Already happening somewhere somehow in relation to single cell atlas with @dosumis
David can you assign whoever was doing work on stitching part of chaings together to the PR that Jim linked above?
Seems like multiple issues here:
@anitacaron can potentially help out, but we need to be clear about which task is which here. Do we need three tickets?
Looking at #1829 a bit more, I can noticed Chris covers case 2 in the discussion (but maybe we need 2 versions for the 2 use cases?). Check 1 could be folded into 2 if working in a completely graph-y way with Soufflé. I'll add @anitacaron to the assignees.
In FBbt we recently added a custom check to detect cyclic logical definitions, because one such loop found its way into a release (FlyBase/drosophila-anatomy-developmental-ontology#1366) without being caught beforehand.
Any objection to adding the check directly into the ODK?