2016-03-02 62 views
0

在访问远程文件之前,有没有简单的方法从本地文件加载OWL导入本体?OWLAPI加载本地猫头鹰导入文件(如果可用)

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

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

我当前的尝试:

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

问题:步骤1到步骤4的工作,但我不能让第5步运行。理想情况下,我想坚持在第5步加载导入,然后决定是从远程源还是本地文件加载导入的本体。这不太理想,但我也可以丢弃已经加载的远程版本并重新加载本地版本。不幸的是,当我只是触发loadOntologyFromOntologyDocument()它抱怨,因为本体已经加载和使用removeOntology()Error loading the ontology: Unknown ontology

回答

1

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

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