🪢 Quipu Loading engine Waiting for a verified pack

A knowledge graph running in this tab.
Ask it things.

Explore Quipu's repository: code, documents and decisions. The engine runs in WebAssembly; queries and edits stay in your browser.

How this copy got here

  1. DownloadedWaiting
  2. VerifiedWaiting
  3. StagedWaiting
  4. PromotedWaiting
Starting the WebAssembly worker…

How does the vision guide code?

SPARQL — against the copy in this tab

Show prefixes
Runs in this tab only.

Semantic search

The first search downloads the model and builds this tab's index. Your query stays in this browser.

Take it with you

Download your graph and edits as a verified share pack, with its history preserved. See how to import it locally.

Export manifest

Propose these edits as a pull request

Review your changes here, then download the files and open GitHub to propose them. Upload all four files together. This page sends nothing on your behalf.

Drive this page from an agent

An agent can query and edit this copy through window.quipu. It runs in your browser without a server or credentials.

browser_navigate  https://scbrown.github.io/quipu/explore/
browser_evaluate  await window.quipu.query("SELECT ?s WHERE { ?s ?p ?o } LIMIT 5")
browser_evaluate  await window.quipu.delta()
 
HTTP routes and engine capabilities

The fetch routes are relative to this page — ./query, not /query. A service worker only controls the directory it is served from, and widening that needs a response header GitHub Pages does not allow anyone to set. An absolute /query gets an ordinary 404, which reads as “the worker is broken” rather than “that path was never mine”. Server status: registering…

window.quipu.search(query, limit) uses a lazy, self-hosted model. capabilities() reports its state; validate(shapes, data) returns a real SHACL report. Rejected writes carry error.validation; they do not turn into empty results. The relative ./search route uses the same worker and model.