2

我在使用 Jena 从 Java 读取 OWL/XML 文件时遇到问题。

我在读取 RDF/XML 文件时没有问题,但是每当我从 Protege 创建一个 OWL/XML 文件并尝试读取它时,Java 都会在下面给出这个错误:WARN [main] (RDFDefaultErrorHandler.java:36) 线程“main”中的异常com.hp.hpl.jena.rdf.arp.impl.XMLHandler.endElement(XMLHandler.java:143) 处的 java.lang.NullPointerException

我用来检索 RDF/XML 的代码如下:

OntModel ontModel = ModelFactory.createOntologyModel();
InputStream in = FileManager.get().open(inputFileName);
    if (in == null) {
        throw new IllegalArgumentException( "File: " + inputFileName + " not found");
    }
    ontModel.read(in, "");

此代码与 RDF/XML 完美配合。但是,我无法阅读 OWL/XML。我看了看互联网,我找不到任何东西。如果有人告诉我一个方法,我将不胜感激。非常感谢

4

3 回答 3

3

对于 OWL/XML,使用OWL-API

于 2010-06-14T03:59:38.377 回答
2

Jena 不支持 OWL/XML。它附带 RDF/XML、Turtle(又名 N3)和 N-Triples 的阅读器。有关支持的格式列表,请参见此处的示例。

于 2010-06-12T17:18:54.110 回答
0

你可以在这里找到一个很好的答案。

我测试了第四个答案中提供的代码,它 100% 对我有用。我在这里为你复制了答案。

String inputFileName = "D:\Ontologia\OntoSME_V7.owl";

OntModel onto = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM, null);

try {
    InputStream in = FileManager.get().open(inputFileName);
    onto.read(in, "RDF/XML");
} catch (JenaException je) {
    System.out.println("ERROR" + je.getMessage());
    je.printStackTrace();
    System.exit(0);
}

您可以使用 protege 将文件保存为 RDF/XML 格式并使用上述技术读取文件。

于 2015-05-26T23:05:58.860 回答