23 Stimmen

SPARQL DISTINCT vs. REDUCED

Was ist der Unterschied zwischen DISTINCT y REDUCED in SPARQL?

28voto

user205512 Punkte 8598

REDUCED ist wie ein 'best effort' DISTINCT. Während DISTINCT garantiert keine doppelten Ergebnisse, REDUCED kann einige, alle oder keine doppelten Ergebnisse eliminieren.

Was ist der Grund dafür? Nun, DISTINCT kann teuer sein; REDUCED kann die einfache Deduplizierungsarbeit erledigen (z. B. sofort wiederholte Ergebnisse entfernen), ohne sich jede Zeile merken zu müssen. In vielen Anwendungen ist das gut genug.

Allerdings habe ich REDUCE noch nie benutzt, ich habe noch nie jemanden REDUCED benutzen sehen und ich habe auch noch nie gesehen, dass REDUCED in einem Vortrag oder Tutorial erwähnt wurde.

1voto

RobV Punkte 26847

Meiner Meinung nach (und in meiner eigenen SPARQL-Implementierung) ist REDUCED eine optionale DISTINCT-Beschränkung, die nur dann angewendet wird, wenn die Engine es für notwendig hält, d.h. die Abfrage-Engine entscheidet anhand der Abfrage, ob doppelte Ergebnisse eliminiert werden sollen oder nicht

In meiner eigenen Implementierung beseitige ich Duplikate nur dann, wenn REDUCED verwendet wurde und OFFSET/LIMIT ebenfalls verwendet wurde

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X