使用OWLAPI加载本体文件时出现UnloadableImportException

时间:2015-06-11 18:55:05

标签: java validation owl owl-api reasoning

我正在使用OWL-API v3.4.3和HermiT 1.3.8.4开发maven插件来验证OWL本体。一些OWL本体是专有的,因此无法在Web上获得。

查看文档,我正在使用loadOntologyFromOntologyDocument()加载OWL文件来执行验证:

OWLOntology onto = ontoManager.loadOntologyFromOntologyDocument(new File($fileName))
Reasoner hermit = new Reasoner(onto);

当本体不导入任何专有本体时,这可以正常工作,但否则会返回UnloadableImportException错误。我见过人们使用addIRIMapper在本体URI和定义实体的物理文件之间建立链接,但我认为它不适用于我的情况(主要是因为文件名未知)

有没有办法告诉OWL API忽略导入?如果有,我可以迭代文件夹中的文件,并利用OWLOntologyMerger一起验证所有本体。

1 个答案:

答案 0 :(得分:1)

OWLOntologyManagersetSilentMissingImportsHandling(boolean b)您可以使用。将参数设置为true会停止抛出异常。

但是,我不确定您为什么会收到这些错误 - 除非检查是离线完成的?或者导入的本体无法下载。 我可以看到的问题是HermiT执行的验证不包括实际用于推理的所有本体,因此您可能会从验证中获得误报和漏报。