4

Protege を使用して RDF/XML OWL ファイルに書き込みの更新を保存できません。アプリケーションを閉じるたびに、編集内容がすべて失われます。JENA ライブラリを使用して、次の方法でこのファイルを読み取りました。

OntModel model = ModelFactory.createOntologyModel (OntModelSpec.OWL_DL_MEM,null);
model.setNsPrefix(“”, ns);
FileInputStream fis = new FileInputStream(this.sourceFile);
model.read(fis,ns);

この問題を次の方法で修正しようとしました。

FileOutputStream fos = new FileOutputStream(this.sourceFile);
model.writeAll(fos, "RDF/XML-ABBREV","xmlbase");
model.close();

しかし、私のファイルは空白になり、最終的に空になります。代わりに出力ファイルの名前を変更しようとすると、問題なく動作します (出力ファイルが入力ファイルと一致しないように注意してください)。

最後に、私の質問は次のとおりです。OWL ファイルを更新するにはどうすればよいですか?

4

1 に答える 1

0

両方のストリームを適切に閉じていることを確認する必要があると思います。特に、同じファイル名でfis開く前に閉じる必要があります。fos

ところで、"xmlbase"モデルを作成するための有効なベース URI ではありません。ベース URI を使用して出力ドキュメントの本文に相対 URI を生成したくない場合は、nullその引数に渡します。

于 2011-02-02T12:21:03.583 に答える