Skip to main content

Module sparql

Module sparql 

Source
Expand description

Actions for dsp vre sparql query (plan 035).

Deliberately does not abstract DSP-API (dsp-cli/ADR-0016): the response body is a store-authored document in a store-negotiated media type, and dsp-cli does not interpret it. This is the third no-Renderer command (after dsp docs and dsp auth token, D2) — its output goes to an injected writer via the run/query seam, mirroring set_token.rs’s run/run_from_line/run_impl shape (each layer taking already-read text, never owning IO itself below run).

dsp-api’s own failures (D8) are classified inside src/client/http.rs and arrive here as Err, already carrying the right Diagnostic variant and exit code — this module must never re-implement that table (D8’s closing paragraph). The only split this module owns is D7’s: a 2xx relay writes the body to stdout byte-verbatim; anything else is a relayed store rejection, surfaced as Diagnostic::ServerError with the store’s text sanitised and capped (never interpolated raw — the store’s bytes are untrusted prose the moment they leave the byte-exact stdout contract).

Functions§

run
Run a raw SPARQL query, owning all real IO: stdin (D5), the --query-file read (D5), DSP_TOKEN (D11), and stdout (D3).