Apache Jena 保存 ontology 文件然后在 Protégé2000 中打开它

Apache Jena save ontology file then opening it in Protégé2000

我在 Protégé2000 v5 中打开了我的 ontology .owl(已经在 protégé2000 v5 中创建)。然后使用 java Apache Jena Framework,我将相同的 ontology 保存在同一个文件中(没有做任何修改)。我回到 Protégé2000,它要求我重新加载 ontology 因为它被另一个程序修改了,所以我确认。我注意到:公理的数量少于它必须的数量,我得到这个异常(在 PROTEGE 中):

UnknownOWLOntologyException: Unknown ontology: OntologyID(OntologyIRI(<http://www.ontology>))

谁能告诉我这是什么问题?

虽然您没有更改 ontology 内容,但文件已被修改得足够多,protégé 无法解析它。尝试关闭 protégé 并再次打开它。如果问题仍然存在,请检查文件是否已正确保存 - 您可能需要添加 flush()close() 以正确关闭输出流。

终于找到问题所在了。 使用 Jena 保存时,URI 会发生变化(Jena 只是给出了以我在硬盘驱动器中的文件引用开头的 URI,最初并不是这样),即使此 URI 适用于对 ontology 所做的每一次处理。 所以解决方案是在保存 URI 时不提及它,这样 Jena 就不会添加完整路径。