使用 JENA 库和 Protege 更新 OWL 问题
我无法使用 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 文件?
I can't save any writing update to my RDF/XML OWL file using Protege. Each time I close the application I then lose all of my editing.
I've used the JENA library to read this file in the following way:
OntModel model = ModelFactory.createOntologyModel (OntModelSpec.OWL_DL_MEM,null);
model.setNsPrefix(“”, ns);
FileInputStream fis = new FileInputStream(this.sourceFile);
model.read(fis,ns);
I tried to fix this issue by:
FileOutputStream fos = new FileOutputStream(this.sourceFile);
model.writeAll(fos, "RDF/XML-ABBREV","xmlbase");
model.close();
But my file gets blanked and is finally empty.
If I try to rename the output file instead it works OK (being careful to avoid the output file matches the input file).
In the end, my question is: How can I update my OWL file?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我想说的是,您需要确保正确关闭两个流。特别是,您应该在打开相同文件名的
fos
之前关闭fis
。顺便说一下,
"xmlbase"
不是用于编写模型的有效基本 URI。如果您不想使用基本 URI 在输出文档正文中生成相对 URI,请为该参数传递null
。I would say that you need to be sure that you close both streams properly. In particular, you should close
fis
before openingfos
to the same file name.By the way,
"xmlbase"
is not a valid base URI for writing a model. If you don't want to use a base URI to generate relative URI's in the body of the output document, passnull
for that argument.