【发布时间】:2010-06-07 14:27:55
【问题描述】:
SPARQL 中的DISTINCT 和REDUCED 有什么区别?
【问题讨论】:
标签: sparql
SPARQL 中的DISTINCT 和REDUCED 有什么区别?
【问题讨论】:
标签: sparql
REDUCED 就像“尽力而为”的 DISTINCT。 DISTINCT 保证没有重复的结果,而 REDUCED 可以消除一些、全部或没有重复。
有什么意义?那么 DISTINCT 可能很昂贵; REDUCED 可以进行简单的重复数据删除工作(例如立即删除重复的结果),而无需记住每一行。在许多应用程序中,这已经足够好了。
虽然我从未使用过 REDUCE,但我从未见过有人使用过 REDUCED,也从未见过演讲或教程中提到过 REDUCED。
【讨论】:
在我看来(以及在我自己的 SPARQL 实现中)REDUCED 实际上是一个可选的 DISTINCT 约束,仅在引擎认为有必要时才应用,即查询引擎将根据查询决定是否消除重复结果
在我自己的实现中,如果还使用了 OFFSET/LIMIT,我只会在使用 REDUCED 时消除重复项
【讨论】: