0

我正在编写一个程序,给定一个 OWL 本体,通过使用 Pellet 作为推理器来检索查询的所有解释。

为此,OWLAPI 提供了一个名为的类,该类HSTExplanationGenerator实现了 Hitting Set Tree 算法以查找所有解释。

当我想创建一个实例时,HSTExplanationGenerator我应该给出一个实现接口TransactionAwareSingleExpGen的类,实现这个接口的类应该提供一个计算解释的方法。

现在,OWLAPI 提供了两个实现这个接口的类:BlackBoxExplanationGlassBoxExplanation. 我已经阅读了这两个类的代码。GlassBoxExplanation从 Pellet 获取解释,对其进行修剪,然后将其转换为一组OWLAxiom. 但是,我发现很难理解是什么BlackBoxExplanation。问题是:我应该使用哪一个?这两个类之间的主要区别是什么?

4

1 回答 1

1

GlassBoxExplanation据我所知,是由 Pellet 提供的,而不是 OWLAPI。

黑盒解释和玻璃盒解释的主要区别在于,黑盒解释不能知道推理器的内部结构——它仅限于通过OWLReasoner接口可用的内容。在这方面,其定义与软件工程中的黑盒测试和白盒测试没有区别。

也就是说,您可能想改用 owlexplanation 项目。它基于简洁的解释,这是 OWL 蕴涵解释的最新发展,而不是 OWLAPI 和(旧版本)Pellet 中可用的解释。

https://github.com/matthewhorridge/owlexplanation

于 2017-02-03T18:49:36.070 回答