我有两个问题:
如何将我在OWL API中读取的本体(在Protege中创建)公开,以用于相同或不同类的其他函数。我只想让我的代码变得更聪明,这样我就不必在每个函数或类中一次又一次地声明本体。我还附上了一张图片,以进一步指明我的问题enter image description here
我想在本体数量之间推理(或查询)。我可以用reasoners(DL和HermiT)查询,但我很困惑使用哪一个?
答案 0 :(得分:0)
为了使局部变量公开并且可以从多个方法中看到,您只需将其声明为公共成员变量。只需将访问修饰符更改为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.