使用 JENA 库和 Protege 更新 OWL 问题

发布于 2024-10-07 22:33:55 字数 582 浏览 5 评论 0原文

我无法使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

维持三分热 2024-10-14 22:33:55

我想说的是,您需要确保正确关闭两个流。特别是,您应该在打开相同文件名的 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 opening fos 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, pass null for that argument.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文