将 Pellet Reasoner 导入耶拿

Import Pellet Reasoner into Jena

我正在尝试将 Pellet reasoner 导入 Jena,Pellet 的最新版本是 2.3.1 where I can't find any .jar file to be imported. Also, I followed the Wiki/FAQ 到 运行 Mac 下发布文件夹中的 bash 文件OS。错误信息显示为:

Error: Unable to access jarfile lib/pellet-cli.jar

看来我必须自己导出一个 jar 文件并将 jar 文件导入我的 Jena 工作区并且我做到了,但是当我使用 OntModel model = ModelFactory.createOntologyModel( PelletReasonerFactory.THE_SPEC );

时出现 Java 异常

异常信息为:

java.lang.NoClassDefFoundError:
org/mindswap/pellet/utils/progress/ProgressMonitor
at org.mindswap.pellet.jena.PelletReasoner.bind(PelletReasoner.java:95)
at org.mindswap.pellet.jena.PelletReasoner.bind(PelletReasoner.java:1)
at com.hp.hpl.jena.ontology.impl.OntModelImpl.generateGraph(OntModelImpl.java:2852)
at com.hp.hpl.jena.ontology.impl.OntModelImpl.<init>(OntModelImpl.java:142)
at com.hp.hpl.jena.ontology.impl.OntModelImpl.<init>(OntModelImpl.java:131)
at com.hp.hpl.jena.rdf.model.ModelFactory.createOntologyModel(ModelFactory.java:300)
at smarthome.ReasoningController.main(ReasoningController.java:113)
at smarthome.SmartHomeGUI.main(SmartHomeGUI.java:34)
... 11 more
Caused by: java.lang.ClassNotFoundException: org.mindswap.pellet.utils.progress.ProgressMonitor
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 19 more` 

我该如何解决这个问题?提前致谢。

google 组上的用户 ignazio1977 创建了一个 git 存储库,您可以从中下载 pellet 所需的各种 jar 的 .zip 存档。您似乎缺少 class 软件包,这可能会解决您的问题。

https://github.com/ignazio1977/pellet/blob/releases/pellet-distribution-2.3.2-SNAPSHOT-dist.zip

首先@Pranay 的回答是正确的。然而,从那时起,Jena 和 Pellet 都进行了更新。 Jena 现在是版本 2.13.x 而 pellet 是 2.4.0 因此如果你想更新到最新版本你将不得不创建一个新的 pellet .jar 文件。请参考这个文件https://github.com/Complexible/pellet/blob/master/pom.xml
以便找出所有依赖项及其各自的版本。