Closed gouttegd closed 1 month ago
Extend ROBOT relax to split SubClassOf intersections into separate SubClassOf axioms
ROBOT’s relax
command already has an option to do that (--include-subclass-of
). :) It’s just not enabled by default.
Arguably the standard ODK pipelines could enable that option.
We have a handful of classes that are at least partially defined with SubClassOf axioms where the superclass is an object intersection, as in the following example:
This is logically equivalent to individual SubClassOf axioms for each member of the intersection:
but the first form may not always be handled correctly and is therefore best avoided. In particular, the OboGraphs JSON converter does not know how to handle those axioms, and simply drops them, resulting in those classifications being absent from the JSON artifacts.
So here, we replace known cases of SubClassOf axioms where the superclass is an object intersection (7 found) by equivalent individual SubClassOf axioms.
closes #2692