sparq
Back to examples

Import & query your Verifiable Credentials

Live in your tab — real SPARQL over your VCsImported & queried — not cryptographically verified
Import a Verifiable Credential
Live · in your tab

Drop a VC file here, or click to choose

JSON-LD VC, Turtle, N-Quads, TriG or N-Triples — parsed in your browser.

In-tab JSON-LD needs an inline @context (no remote context fetch); or import the VC as Turtle / N-Quads.

Imported credentials
0 · 0 triples

No credentials imported yet. Drag-drop a VC file, paste one, or fetch it from a URL — then query it below.

Query the imported credentials

SELECT / ASK / CONSTRUCT / DESCRIBE over the union of every imported credential, executed in your browser tab.

Imported & queryable — not verified

What is live. Importing a Verifiable Credential and running SPARQL over its claims is the real sparq engine, compiled to WebAssembly and running entirely in your browser tab — a VC is RDF (JSON-LD that maps to RDF, or already Turtle / N-Quads), so this is just the existing ingest path. Nothing is sent to a server.

What is NOT done here. This surface does not cryptographically verify a credential’s signature, check its issuer or revocation status, nor produce any zero-knowledge proof about it. Querying a claim is distinct from verifying it. JWT-wrapped envelopes (SD-JWT-VC / JWT-VC) are recognised but not parsed — they must be decoded and their proof verified first.

VC verification and zero-knowledge proofs over credentials are the separate sparq ZK estate (sparq-zk). That estate is research-grade: internally re-audited but not externally audited — any timing or gate count there is an indicative engineering number, not an audited cryptographic guarantee, and external accredited-cryptographer sign-off is pending (sq-qhy4). Treat any future “verified” affordance accordingly. See the ZK car-hire demo for a real (research-grade) zero-knowledge proof over credential data.

Drag in a credential (JSON-LD VC, Turtle, N-Quads), or paste / fetch one, and run real SPARQL over its claims — joins across multiple credentials included — entirely in your browser, with nothing sent to a server.

Details & honest limits

A W3C Verifiable Credential is an RDF document — a JSON-LD document that maps to RDF (parsed in-tab by the engine’s JSON-LD reader), or one already serialised as Turtle / N-Quads. So “load it into a graph and query it” is just the existing ingest path, and runs live in your browser via the sparq engine compiled to WebAssembly. Every imported credential is queried together, so you can join across them (e.g. “is the holder of this licence the same subject as this degree?”).

In-tab JSON-LD limit. The lean browser bundle does not fetch a remote @context — a JSON-LD credential that references the W3C VC context only by URL must carry that context inline, be pre-expanded, or be imported as Turtle / N-Quads. The desktop / server engine has no such limit.

Querying is not verifying. This surface does not check a credential’s signature, its issuer, or its revocation status, and it produces no zero-knowledge proof. SD-JWT-VC / JWT-VC envelopes are recognised but not decoded (they are not plain RDF). VC verification and zero-knowledge proofs over credentials are the separate sparq ZK estate, which is research-grade and not externally audited — an external accredited-cryptographer audit is required before any ZK security, privacy or attestation claim may be relied upon (tracked as sq-qhy4). Treat any future “verified” affordance as a research demonstration, not a production guarantee.

sparq-zk on GitHub SECURITY.md