implement disjoint union bundle closure option
StevenJenkinsJPL opened this issue · comments
User Story
As a vocabulary developer, I would like to strongly close a taxonomy such that each non-leaf class (after transformation to a tree by the bundle closure algorithm) is the disjoint union of its subclasses.
Detailed Description
This change does not affect the closure algorithm per se, it merely changes how the resulting tree is transformed into a set of disjointness axioms.
The new behavior will be selectable as a command-line option: --disjoint-union
.
For the case in which :B, :C, and :D are subclasses of :A, the current algorithm generates DisjointClasses(:B :C :D)
. The new algorithm will generate DisjointUnion(:A :B :C :D)
.
Committed in 383ebca335eed8179b33ea134e54bc46f75710a7
.