使用JENA库和Protege更新OWL问题

时间:2010-12-13 00:07:19

标签: rdf owl jena protege

我无法使用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文件?

1 个答案:

答案 0 :(得分:0)

我想说你需要确保正确关闭两个流。特别是,在将fis打开到同一文件名之前,您应该关闭fos

顺便说一下,"xmlbase"不是用于编写模型的有效基URI。如果您不想使用基URI在输出文档的正文中生成相对URI,请为该参数传递null