【发布时间】:2016-06-16 01:42:47
【问题描述】:
有没有一种简单的方法可以在访问远程文件之前从本地文件加载 OWL 导入本体?
背景:我遇到了一个更新本体的问题,该本体正在由另一个本体导入。导入语句没有版本控制,因此避免导入损坏的本体的唯一方法是在本地提供旧版本。
问题:loadOntologyFromOntologyDocument(<DOCUMENT_IRI>) 自动从其远程源加载 OWL 导入。
我目前的尝试:
- 加载根本体
- 获取所有导入声明
- 检查要导入的任何本体是否在本地可用(通过文件名映射)
- 如果找到本地版本,则将 IRI 映射器添加到本地文件中
- (重新)导入本地版本
问题:步骤 1 到 4 有效,但我无法运行步骤 5。理想情况下,我希望在第 5 步之前加载导入,然后决定是从远程源还是本地文件加载导入的本体。这并不理想,但我也可以丢弃已经加载的远程版本并重新加载本地版本。不幸的是,当我刚刚触发 loadOntologyFromOntologyDocument() 时,它会抱怨,因为本体已经加载并且使用 removeOntology() 表示 Error loading the ontology: Unknown ontology。
【问题讨论】: