В чем разница между DISTINCT
и REDUCED
в SPARQL?
SPARQL DISTINCT против REDUCED
Ответы (2)
REDUCED похож на DISTINCT «наилучшие усилия». В то время как DISTINCT гарантирует отсутствие повторяющихся результатов, REDUCED может устранить некоторые, все или вообще исключить дубликаты.
В чем смысл? Ну, DISTINCT может быть дорогим; REDUCED может выполнять простую работу по дедупликации (например, удалять немедленно повторяющиеся результаты) без необходимости запоминать каждую строку. Во многих приложениях этого достаточно.
Сказав, что я никогда не использовал REDUCE, я никогда не видел, чтобы кто-то использовал REDUCED, и никогда не видел, чтобы REDUCED упоминался в разговоре или руководстве.
На мой взгляд (и в моей собственной реализации SPARQL) REDUCED фактически является необязательным ограничением DISTINCT, которое применяется только в том случае, если механизм сочтет это необходимым, т. Е. Механизм запроса решит, следует ли удалять повторяющиеся результаты на основе запроса.
В моей собственной реализации я удаляю дубликаты только тогда, когда используется REDUCED, если также используется OFFSET/LIMIT.