正在使用 Jena 加载 owl 文件
Loading owl file with Jena
我用 Jena 作为 OntModel
加载了几个 OWL 文件(RDF/XML 序列化)。
对于某些文件,我在使用 ontoModel.read()
读取它们时遇到错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/HttpMessage
.
我在类路径中有 org.apache.httpcore-sources.jar
。
当前出现问题的文件是:ontologydesignpatterns.org/cp/owl/timeindexedpersonrole.owl
我用 Protege 将其保存为 RDF/XML,同时尝试使用扩展名 .owl
和 .rdf
。
代码:
public static OntModel getOntologyModel(String ontoFile)
{
OntModel ontoModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM, null);
try
{
InputStream in = FileManager.get().open(ontoFile);
try
{
ontoModel.read(in, null);
}
catch (Exception e)
{
e.printStackTrace();
}
LOGGER.info("Ontology " + ontoFile + " loaded.");
}
catch (JenaException je)
{
System.err.println("ERROR" + je.getMessage());
je.printStackTrace();
System.exit(0);
}
return ontoModel;
}
非常感谢您的帮助。
如果您使用二进制下载,请将所有 jar 放在类路径的 lib/ 目录中。 org.apache.httpcore-sources.jar 不是正确的 jar.. 你似乎至少缺少 httpclient-4.2.6.jar 和 httpcore-4.2.5.jar.
如果你使用maven,使用神器:
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>apache-jena-libs</artifactId>
<type>pom</type>
<version>X.Y.Z</version>
</dependency>
获得相同的集合,但由 maven 或您使用的任何构建器管理。
我用 Jena 作为 OntModel
加载了几个 OWL 文件(RDF/XML 序列化)。
对于某些文件,我在使用 ontoModel.read()
读取它们时遇到错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/HttpMessage
.
我在类路径中有 org.apache.httpcore-sources.jar
。
当前出现问题的文件是:ontologydesignpatterns.org/cp/owl/timeindexedpersonrole.owl
我用 Protege 将其保存为 RDF/XML,同时尝试使用扩展名 .owl
和 .rdf
。
代码:
public static OntModel getOntologyModel(String ontoFile)
{
OntModel ontoModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM, null);
try
{
InputStream in = FileManager.get().open(ontoFile);
try
{
ontoModel.read(in, null);
}
catch (Exception e)
{
e.printStackTrace();
}
LOGGER.info("Ontology " + ontoFile + " loaded.");
}
catch (JenaException je)
{
System.err.println("ERROR" + je.getMessage());
je.printStackTrace();
System.exit(0);
}
return ontoModel;
}
非常感谢您的帮助。
如果您使用二进制下载,请将所有 jar 放在类路径的 lib/ 目录中。 org.apache.httpcore-sources.jar 不是正确的 jar.. 你似乎至少缺少 httpclient-4.2.6.jar 和 httpcore-4.2.5.jar.
如果你使用maven,使用神器:
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>apache-jena-libs</artifactId>
<type>pom</type>
<version>X.Y.Z</version>
</dependency>
获得相同的集合,但由 maven 或您使用的任何构建器管理。