Open cmungall opened 8 months ago
Just want to note that "negative" (subclass side) occurrences of unions are officially supported: https://github.com/liveontologies/elk-reasoner/wiki/OwlFeatures
But I think this explanation is using a positive occurrence on line 3.
Another option is switching to Whelk; it should infer this.
Just to make sure we have touched all bases:
I would not recommend generally swapping Elk for Whelk to maintain technological homogeneity across all ontologies, but we can do solution (3) as a dynamic component ala FBcv and have it run every two weeks as a workflow.
Noticed by @turbomam
With Elk 0.4.3,
atmospheric boundary layer
is inferred to be both aatmospheric layer
and aboundary layer
Here is the explanation:
The explanation is IMO quite complicated, and we can see it makes use of some disjunctions (
OR
)When we switch to Elk 0.5.0 this entailment disappears
Note that our entire stack has moved to 0.5.0, including ROBOT, so getting this back will be difficult
This bug was noticed in a different context by @balhoff
Reported here: https://github.com/liveontologies/elk-reasoner/issues/61#issuecomment-1985957830
the TL;DR is even though disjunctions were always formally outside the EL++ profile, Elk gave us limited disjunction reasoning "for free", in limited cases for example, structural matching of identical disjunctive expressions. IMO it was always a mistake to depend on this
Path forward
We have two options
It should be no surprise that I am massively in favor of 2