我正在使用OWL-API版本4.0.1以及Pellet推理器版本2.3.6,这可以从下面的pom文件maven依赖部分中提取出来
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>owlapi-api</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>owlapi-apibinding</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>com.github.ansell.pellet</groupId>
<artifactId>pellet-owlapiv3</artifactId>
<version>2.3.6-ansell</version>
</dependency>
当我完成项目时,我发现了如下错误:
线程“main”中的异常java.lang.AbstractMethodError at org.semanticweb.owlapi.OWLAPIServiceLoaderModule.loadFactories(OWLAPIServiceLoaderModule.java:99) 在 org.semanticweb.owlapi.OWLAPIServiceLoaderModule.configure(OWLAPIServiceLoaderModule.java:52) 在com.google.inject.AbstractModule.configure(AbstractModule.java:62) 在 com.google.inject.spi.Elements $ RecordingBinder.install(Elements.java:230) 在com.google.inject.spi.Elements.getElements(Elements.java:103)at com.google.inject.internal.InjectorShell $ Builder.build(InjectorShell.java:136) 在 com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104) 在com.google.inject.Guice.createInjector(Guice.java:96)at com.google.inject.Guice.createInjector(Guice.java:73)at com.google.inject.Guice.createInjector(Guice.java:62)at org.semanticweb.owlapi.apibinding.OWLManager。(OWLManager.java:43) 在 sematicdm.parser.CreateIndividualsClass.main(CreateIndividualsClass.java:73)
在createIndividualsClass类中,引发错误的行如下:
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
是兼容性问题吗?如果是这样,我应该在pom文件中包含什么版本的颗粒共振器?
答案 0 :(得分:2)
还没有与OWLAPI 4兼容的Pellet版本 - 我计划在本周末发布一个版本。请密切关注https://github.com/ignazio1977/pellet以获取更新。
目前,最新版本的FaCT ++(1.6.3)和JFact(4.0.0)与OWLAPI 4.0.1兼容。我不知道其他reasoners的当前状态--HermiT正在计划更新但尚未完成。
答案 1 :(得分:0)
Pallet现在支持OWLAPI 4.0.2和Protege 5.0(As Plugin)beta 21及更新版本。
https://github.com/ignazio1977/pellet/commit/5ee814edd52df9aa9366db1fae76f7e9ea9057aa