如何在Apache Jena推理中避免替换相同的三元组?

问题描述

我不希望在给定规则中多次进行相同的三重匹配。

例如:三重格式如下

namespace:bob namespace:hasChild namespace:alice
namespace:bob namespace:hasChild namespace:tinku

我写的规则如下:

[rUniqueness: (?c namespace:hasChild ?n1) (?c namespace:hasChild ?n2) equal(?n1 ?n2) 
-> (?c namespace:uniqueValueViolation ?n1)]

但是,我遇到2个唯一值冲突。爱丽丝将同时被替换为n1和n2,同样,bob和我确实将输出作为uniquevalueviolation。

我希望代码表现如下: 将n1替换为alice,将n2替换为bob或以下任何其他三元组

有什么方法可以删除规则集中已经匹配的三元组

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)