質問

Jena を使用して Java から OWL/XML ファイルを読み取るときに問題が発生します。

RDF/XML ファイルの読み取りには問題ありませんが、Protege から OWL/XML ファイルを作成して読み取ろうとすると、Java で次のエラーが発生します。WARN [MAIN](RDFDEFAULTERRORRORHANDLER.JAVA:36)スレッドの例外 "Main" Java.lang.nullpointerexceptionのcom.hp.hpl.jena.rdf.arp.impl.xmlhandler.endelement(xmlhandler.java:143)

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を読み取ることができません。インターネットを見ましたが、何も見つかりませんでした。誰かが私に方法を教えてくれれば、本当に感謝します。どうもありがとう

役に立ちましたか?

解決

Jena は OWL/XML をサポートしていません。RDF/XML リーダー、Turtle (別名: Turtle) が付属しています。N3) と N-Triples。たとえばを参照してください ここ サポートされている形式のリストについては、

他のヒント

OWL / XMLを使用する場合、

OWL-API でます。

ここで良い答えが見つかります。

4番目の回答で提供されているコードをテストしましたが、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 形式で保存し、上記の手法でファイルを読み取ることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top