当前位置: 首页 > 知识库问答 >
问题:

用OWLAPI加载本体文件时的UnloadableImportException

苏宜人
2023-03-14

我正在开发一个maven插件来使用OWL-APIV3.4.3和HermiT 1.3.8.4验证OWL本体。一些OWL本体是专有的,因此在Web上不可用。

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

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

当本体不导入任何专有本体,但否则返回UnloadableImportExceptionerror时,此操作很好。我见过有人使用addrimapper在本体URI和定义实体的物理文件之间创建链接,但我认为这在我的情况下行不通(主要是因为文件名未知)。

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

共有1个答案

唐和洽
2023-03-14

OWLontologyManager有一个SetSilentMissingImportShandling(boolean b)您可以使用。将he参数设置为true将停止引发异常。

然而,我不知道为什么你会得到这些错误--除非检查是离线完成的?或者导入的本体不可下载。我看到的问题是,HermiT执行的验证将不包括所有将实际用于推理的本体论,因此您可能会从验证中得到假阳性和假阴性。

 类似资料:
  • 我正在尝试使用owlapi彻底的net beans加载.owl文件,以插入个人及其数据属性(使用owlapi文档中列出的代码),但它无法加载文件,但当我将.owl文件转换为.rdf格式时,它被成功加载,并且能够插入所需的数据。我需要操作.owl文件而不是.rdf格式 下面是我用来加载.owl而没有成功的代码 但是当我使用了如下所示的rdf fromat时,它就成功地加载了 那么我如何克服这个问题并

  • 我正在为一个项目使用OWLAPI,我需要比较两个本体之间的差异。这将忽略空节点,例如,我可以确定两个本体中是否存在相同的OWL限制。我不仅需要知道是否存在差异,而且需要找出那些差异是什么。OWLAPI和oz中是否存在这样的功能,有没有一个相对简单的方法来实现这一点?

  • applyChange()方法总是返回“unsuccessful”,我找不到任何关于注释删除不起作用的文档。 注:在http://sourceforge.net/p/owlapi/mailman/message/28203984/here似乎起作用

  • 我已经创建了一个函数来使用URL从文件中获取文本。该函数使用jQuery的来获取文件。这个函数工作得很好,但这里的问题是是异步的,所以输出的顺序是不可预测的。我尝试将它更改为同步的,但它完全冻结了页面。我尝试过等待它响应,我想我会花点时间,但它没有起作用。 这是我的密码。 此函数输出 这就产生了一个问题,因为我无法文件的内容,因为它还没有加载,因为异步的get函数。那么,有没有办法告诉函数等待返回

  • manifest.xml提供商 资源文件 使用fileprovider 参考:此处 描述:我无法使用此文件提供程序打开图像、文本文件、pdf。当我打开文件文本文件时,它的give me ERR\u UNKNOWN\u URL\u方案。如果我打开图片或pdf,它什么都不显示

  • 我第一次使用OWL API(3.4.8出于兼容性的原因),并且尝试加载作为YAGO知识库(http://resources.mpi-inf.mpg.de/yago-naga/yago3.1/yagoSimpleTaxonomy.ttl.7z)一部分提供的本体。然而,我不断收到以下警告: (我只是复制了一个例子,但是我在turtle文件中的每一行都得到这个警告,打印的位置总是冒号。) 下面是产生这些