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 回答