hypergraphs.de

Reproduzierbares Praxislabor

SPARQL-Debugging in sieben Prüfungen

An welcher Stufe verschwindet ein erwarteter SPARQL-Treffer: Datensatz, aktiver Graph, Muster, Filter oder Projektion?

Redaktion Hypergraphs.deFachprüfung: 18.09.2026TechArticle

Voraussetzungen

Verwenden Sie Apache Jena ARQ und den 12-Tripel-Datensatz aus dem ersten Labor. Halten Sie Werkzeugversion und SHA-256-Hash von `mini.ttl` fest.

Legen Sie für jeden Schritt eine eigene Query-Datei an. So bleibt sichtbar, welche einzelne Änderung das Ergebnis verändert hat.

Versuchsaufbau und minimale Daten

Beginnen Sie nicht mit der vollständigen SELECT-Abfrage. `01-exists.rq` enthält nur eine ASK-Frage nach `ex:p2 a ex:Product`. Danach folgen `02-pattern.rq` ohne Filter und `03-filter.rq` mit Namensfilter.

Die Reihenfolge lautet: Präfix expandieren, aktiven Graphen bestätigen, kleinstes Triple Pattern ausführen, Variablenrichtung lesen, Datentyp und Sprach-Tag prüfen, Duplikate erklären, erst zuletzt LIMIT ergänzen.

Befehl oder Abfrage

PREFIX ex: <https://example.org/>
ASK { ex:p2 a ex:Product }

arq --data mini.ttl --query 01-exists.rq

SELECT ?name WHERE {
  ex:p2 ex:name ?name .
  FILTER(?name = "Boreal")
}

Nur in der beschriebenen isolierten Laborumgebung ausführen. Versionen und Exitcodes gehören zum Protokoll.

Erwartetes Ergebnis

Die ASK-Abfrage ergibt den booleschen Wert `true`. Die SELECT-Abfrage liefert genau eine Zeile mit dem Literal `Boreal`. Beide Oracles werden vor dem Lauf notiert.

Falls ASK bereits `false` ergibt, liegt der Fehler vor Filter und Projektion. Ein erfolgreicher ASK-Test grenzt die Suche ein; er beweist nicht, dass die Gesamtquery korrekt ist.

Negativtest

Ändern Sie den Filter absichtlich in `FILTER(?name = "boreal")`. RDF-Literale sind hier case-sensitive; erwartet werden null Zeilen, während ASK weiterhin `true` bleibt.

Führen Sie dieselbe Query ohne `--data mini.ttl` aus. Der aktive Default Graph ist leer. Dokumentieren Sie diesen Befund getrennt von einem Syntaxfehler und korrigieren Sie nicht mehrere Variablen gleichzeitig.

Rollback und Aufräumen

Setzen Sie jede Query-Datei auf ihre versionierte Fassung zurück und löschen Sie nur temporäre Ausgabe-CSV. Der RDF-Datensatz bleibt unverändert.

Der Debug-Lauf ist abgeschlossen, wenn ASK wieder `true` und SELECT genau `Boreal` liefern. Entfernen Sie keinen Filter aus einer produktiven Query, nur um einen grünen Test zu erhalten.

Einordnung

Die Checkliste verwandelt „keine Ergebnisse“ in binäre Prüfungen. Das reduziert die Fehlersuche, ohne die Semantik der ursprünglichen Frage stillschweigend zu verändern.

Quellen zu diesem Beitrag

Die Primärquellen für „SPARQL-Debugging in sieben Prüfungen“ wurden am 18.09.2026 geprüft. Versions- und Statusangaben sind vor einem produktiven Einsatz erneut zu kontrollieren.

Weitere reproduzierbare Versuche