SPARQL中DISTINCT
和REDUCED
之间的区别是什么?
答案 0 :(得分:23)
降低就像是'尽力而为'的DISTINCT。虽然DISTINCT 保证没有重复的结果,但REDUCED可能会消除部分,全部或没有重复。
重点是什么?好DISTINCT可能很贵; REDUCED可以执行简单的重复数据删除工作(例如,立即删除重复的结果),而不必记住每一行。在许多应用程序中,这已经足够好了。
说过我从未使用过REDUCE,我从未见过有人使用过REDUCED,也从未见过在演讲或教程中提到过REDUCED。
答案 1 :(得分:1)
在我看来(以及在我自己的SPARQL实现中),REDUCED实际上是一个可选的DISTINCT约束,仅当引擎认为有必要时才应用它,即查询引擎将决定是否根据查询消除重复结果
在我自己的实现中,如果使用了OFFSET / LIMIT,我只会在使用REDUCED时消除重复