OWLAPI 加载本地 owl 导入文件(如果可用)

OWLAPI load local owl import file if available

有没有一种简单的方法可以在访问远程文件之前从本地文件加载 OWL 导入本体?

背景: 我 运行 遇到一个问题,更新的 ontology 正在被另一个 ontology 导入。导入语句没有版本控制,因此避免导入损坏的唯一方法 ontology 是在本地提供旧版本。

问题: loadOntologyFromOntologyDocument(<DOCUMENT_IRI>) 自动加载 OWL 从其远程源导入。

我目前的尝试:

  1. 加载 root ontology
  2. 获取所有进口报关单
  3. 检查是否有任何要导入的本体在本地可用(通过文件名映射)
  4. 如果找到本地版本,将 IRI 映射器添加到本地文件
  5. (重新)导入本地版本

问题: 步骤 1 到 4 有效,但我无法执行步骤 5 运行。理想情况下,我希望在第 5 步之前一直加载导入,然后决定是从远程源还是本地文件加载导入的 ontology。这不是理想的,但我也可以丢弃已经加载的远程版本并重新加载本地版本。不幸的是,当我刚刚触发 loadOntologyFromOntologyDocument() 时它会抱怨,因为 ontology 已经加载并且使用 removeOntology()Error loading the ontology: Unknown ontology.

如果您使用 AutoIRIMapper 指向包含本地版本的文件夹,则在尝试加载在线版本之前将先加载本地版本。

关于加载 ontology 并尝试删除它的矛盾结果,听起来问题可能是文档 IRI 和 ontology IRI 不同 - 因此 ontology 你试图通过文件删除 IRI 实际上被经理称为不同的 ontology。如果您可以共享文档 IRI,可能更容易诊断。