使ontologypublic(inowlapi)在相同或不同类的其他函数中使用

Making ontology public (in owl api) to use in other functions of the same or different classes

我有两个问题:

  1. 如何使我正在阅读的 ontology public(在 Protege 中创建)在 OWL API 中使用相同或不同class的其他功能。我只想让我的代码更聪明,这样我就不必在每个函数或 class 中一次又一次地声明本体。我还附上一张图片以进一步说明我的问题enter image description here

  2. 我想在本体数量之间进行推理(或查询)。我可以使用推理器(DL 和 HermiT)进行查询,但我不知道该使用哪一个?

为了使局部变量 public 并在多个方法中可见,您只需将其声明为 public 成员变量即可。这只需将访问修饰符更改为 public.

即可实现

据我所知,DL 不是推理器实现。

HermiT 实现了 DL 推理器,它还支持 SWRL 规则。它可以通过 Protege 插件使用,也可以通过代码将其用作 OWLReasoner.

示例:

OWLOntology o = ...
OWLReasoner hermit= new Reasoner.ReasonerFactory().createBufferedReasoner(o);

The `hermit` object is ready to be queried now.