diff --git a/CHANGELOG.md b/CHANGELOG.md
index fc76d039b..ec6c958a4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+- Updated ELK from 0.4.3 to 0.5.0. [#999]. This is an important change as ELK 0.5.0 is more complete than 0.4.3, which means that it will potentially uncover inferences, in particular unsatisfiable classes, which were not recognised by ELK 0.4.3.
+
## [1.9.4] - 2023-05-23
### Changed
diff --git a/pom.xml b/pom.xml
index 150a92f0e..5272cf580 100644
--- a/pom.xml
+++ b/pom.xml
@@ -211,9 +211,9 @@
1.7.32
- org.semanticweb.elk
- elk-owlapi
- 0.4.3
+ au.csiro
+ elk-owlapi4
+ 0.5.0
log4j
diff --git a/robot-core/src/main/java/org/obolibrary/robot/ReasonerHelper.java b/robot-core/src/main/java/org/obolibrary/robot/ReasonerHelper.java
index aba706401..9acdbcebd 100644
--- a/robot-core/src/main/java/org/obolibrary/robot/ReasonerHelper.java
+++ b/robot-core/src/main/java/org/obolibrary/robot/ReasonerHelper.java
@@ -46,9 +46,8 @@ public class ReasonerHelper {
public static Set getUnsatisfiableObjectProperties(OWLReasoner reasoner) {
Set unsatObjectProps = new HashSet<>();
- if (reasoner
- .getPrecomputableInferenceTypes()
- .contains(InferenceType.OBJECT_PROPERTY_HIERARCHY)) {
+ if (reasoner.getPrecomputableInferenceTypes().contains(InferenceType.OBJECT_PROPERTY_HIERARCHY)
+ && !reasoner.getClass().getName().equals("org.semanticweb.elk.owlapi.ElkReasoner")) {
// Fast object-unsat check
logger.info(
"Object-property precomputation is supported; using that to find unsatisfiable object properties...");