我需要在OWL 2 DL本体上计算一些SQWRL规则。
问题是:
我考虑两种可能的解决方案:
所以我的问题是:是否可以将两个推理者结合起来,以免他们发生冲突?
喜欢
谢谢!
答案 0 :(得分:1)
如果将OWLReasoner
创建为非缓冲并且Drools-SWRLAPI实现输入本体中的所有推断的三元组,则这应该是可行的。情况可能并非如此,因此可能需要采取措施来实现这些推论。
我不熟悉SWRL API和Drools规则引擎,所以我不能说这是可行的还是简单的;我可能首先选择一个支持SWRL的开源推理器并尝试用Drools代码替换他们的SWRL支持 - 这样做的好处是可以确保推荐者使用的算法来确保正确性和完整性的应用(循环之间)两种推理方法应该是一个很好的近似,但可能会遗漏一些极端情况,以及失去优化。
反向方法,即实现OWL2DL推论并随后应用SWRL规则,具有必须选择推断实现的弱点;分类中的类表达式不会轻易穿过OWLReasoner
接口,并且该过程可能在计算上非常昂贵。