OWLAPI 4:导入或合并本体?

OWLAPI 4: import or merge ontologies?

我的情况如下: 我有三个核心本体,分别有它们的 TBox 和 ABox 描述。它们在运行时需要 imported/merged。我还需要 import/merge 一次只包含 ABox 描述的其他本体。最后一个必须随着时间的推移动态加载和删除。 我的两难选择是使用 OWLAPI 4 的导入还是合并?

更新: 核心本体 ABox 最终将根据来自 "part-time" 本体动态加载的传入数据进行修改。

导入听起来是最好的策略,因为您没有提到对任何本体的修改,而只是对整个本体的添加和删除。

我会做以下事情:

  • 创建一个新的空 ontology
  • 导入始终包含的所有本体
  • add/remove导入您只想部分时间使用的本体

注意:OWLAPI 不会在创建导入声明时加载本体 - 这是为了避免在编辑导入时加载时间过长。因此,要使其正常工作,您必须预先加载您计划使用的本体:

  • 加载ontologyX
  • 向 Y 添加进口申报:Y imports X

OWLOntology 上的大多数查询方法都接受一个参数来告诉您是否希望搜索包括 imports 闭包 - 您可能希望将其设置为 Imports。一直包含在内。