Abfrage planen
OPTIONAL und UNION korrekt unterscheiden
OPTIONAL behält Treffer ohne Zusatzmuster, UNION vereinigt Alternativen.
OPTIONAL erhält die linke Lösung
OPTIONAL ist ein Left Join. Ein Produkt bleibt im Ergebnis, auch wenn das optionale Farbmuster nicht passt; die Variable `?farbe` ist dann ungebunden.
Ein Filter innerhalb des OPTIONAL-Blocks beeinflusst nur die optionale Ergänzung. Außerhalb kann derselbe Filter ganze Produktlösungen entfernen.
UNION beschreibt Alternativen
UNION vereinigt Lösungen aus mehreren alternativen Graphmustern. Es ist richtig, wenn entweder Hersteller oder Anbieter als gewünschter Pfad gelten.
Beide Zweige sollten dieselben Ergebnisvariablen sinnvoll binden. Sonst entstehen schwer nutzbare Zeilen mit wechselnd ungebundenen Spalten.
Die Frage vor der Syntax
Fragen Sie: Darf die Zusatzinformation fehlen, obwohl der Haupttreffer gültig bleibt? Dann passt OPTIONAL. Gilt stattdessen einer von mehreren Pfaden als Trefferbedingung? Dann passt UNION.
Das Beispiel kombiniert beide Operatoren bewusst, ohne ihre Rollen zu vermischen.
Produkte behalten, Bezugsquelle alternativ finden
Farbe darf fehlen. Die Bezugsquelle muss dagegen entweder Hersteller oder Anbieter sein.
PREFIX schema: <https://schema.org/>
SELECT ?produkt ?farbe ?quelle
WHERE {
?produkt a schema:Product .
OPTIONAL { ?produkt schema:color ?farbe }
{
?produkt schema:manufacturer ?quelle
} UNION {
?produkt schema:offers/schema:seller ?quelle
}
}Eigenständige Beispielabfrage für diese Intention. Endpunktfunktionen und Datensatz müssen vor Produktion separat geprüft werden.
Prüffrage für die Praxis
Formuliere zuerst, ob Information fehlen darf oder ein anderer Pfad zählt.
Quellen zu diesem Beitrag
Auswahl auf Artikelebene, geprüft am 18.09.2026.
- W3C SPARQL 1.2 Query, Optional
Definiert optionale Graphmuster und Left Join. - W3C SPARQL 1.2 Query, UNION
Definiert alternative Graphmuster.