SPARQL DISTINCT vs. REDUCED - PullRequest
       11

SPARQL DISTINCT vs. REDUCED

22 голосов
/ 07 июня 2010

В чем разница между DISTINCT и REDUCED в SPARQL?

Ответы [ 2 ]

24 голосов
/ 07 июня 2010

УМЕНЬШЕНО - как ОТЛИЧИЕ «наилучшего усилия». Принимая во внимание, что DISTINCT гарантирует отсутствие дублированных результатов, REDUCED может устранить некоторые, все или не дублировать результаты.

Какой смысл? Ну, DISTINCT может быть дорогим; REDUCED может выполнять простую работу по устранению дублирования (например, удалять сразу повторяющиеся результаты) без необходимости запоминать каждую строку. Во многих приложениях этого достаточно.

Сказав, что я никогда не использовал REDUCE, я никогда не видел, чтобы кто-то использовал REDUCED, и никогда не видел, чтобы REDUCED упоминался в беседе или учебном пособии.

1 голос
/ 08 июня 2010

По моему мнению (и в моей собственной реализации SPARQL) REDUCED - это необязательное ограничение DISTINCT, которое применяется только в том случае, если механизм сочтет это необходимым, то есть механизм запросов примет решение об устранении дублирующих результатов на основе запроса.

В моей собственной реализации я удаляю дубликаты, только когда использовался REDUCED, если также использовалось OFFSET / LIMIT

...