【问题标题】:OWLAPI load local owl import file if availableOWLAPI 加载本地 owl 导入文件(如果可用)
【发布时间】:2016-06-16 01:42:47
【问题描述】:

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

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

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

我目前的尝试:

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

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

【问题讨论】:

    标签: import owl-api


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-07
      • 1970-01-01
      • 2013-11-30
      • 2014-05-03
      • 2015-02-01
      相关资源
      最近更新 更多