当我尝试让 Pellet 与 OWL API 一起工作时,如何修复此 AbstractMethodError?

How do I fix this AbstractMethodError when I try to get Pellet working with OWL API?

我收到此错误:

Exception in thread "main" java.lang.AbstractMethodError
at org.semanticweb.owlapi.OWLAPIServiceLoaderModule.lambda$loadFactories(OWLAPIServiceLoaderModule.java:97)
at java.util.ArrayList.forEach(Unknown Source)
at org.semanticweb.owlapi.OWLAPIServiceLoaderModule.loadFactories(OWLAPIServiceLoaderModule.java:95)
at org.semanticweb.owlapi.OWLAPIServiceLoaderModule.configure(OWLAPIServiceLoaderModule.java:52)
at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
at com.google.inject.spi.Elements.getElements(Elements.java:110)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
at com.google.inject.Guice.createInjector(Guice.java:99)
at com.google.inject.Guice.createInjector(Guice.java:73)
at com.google.inject.Guice.createInjector(Guice.java:62)
at org.semanticweb.owlapi.apibinding.OWLManager.createInjector(OWLManager.java:104)
at org.semanticweb.owlapi.apibinding.OWLManager.getOWLDataFactory(OWLManager.java:63)
at OntController.<init>(OntController.java:86)
at Driver.main(Driver.java:9)

每当我尝试使用 OWLManager 时,即 df = OWLManager.getOWLDataFactory();manager = OWLManager.createOWLOntologyManager();

我注意到自从我通过 maven 导入 Pellet 后就开始出现这个错误。这是我的 pom.xml:

中的依赖标签
<dependency>
    <groupId>com.github.ansell.pellet</groupId>
    <artifactId>pellet-owlapiv3</artifactId>
    <version>2.3.3</version>
</dependency>

有没有办法让 Pellet 和最新版本的 OWL API 正常工作?我不确定如何解决此错误。

您是 运行 带有 OWLAPI 5 的 Pellet。Pellet 没有与 owlapi 5 兼容的版本,您需要使用最新的 Openllet 版本。