我无法使用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文件?
答案 0 :(得分:0)
我想说你需要确保正确关闭两个流。特别是,在将fis
打开到同一文件名之前,您应该关闭fos
。
顺便说一下,"xmlbase"
不是用于编写模型的有效基URI。如果您不想使用基URI在输出文档的正文中生成相对URI,请为该参数传递null
。