Qlue-UI is a modern WebUI for SPARQL, driven by Qlue-ls. It does not target a single, but many SPARQL engines. It’s small, shiny, and ready to help you explore your RDF data effortlessly.
Warning
Work in progress — expect breaking changes.
This project is the next generation of Qlever-UI, but the migration from the legacy version is still ongoing. The API, configuration format, and internal structure may change significantly between releases.
The project will be considered stable and final once it reaches version 1.0. Until then, use at your own risk.
See the feature overview for the full tour.
Important
The container image was renamed. It is now published as
ghcr.io/qlever-dev/qlue-ui; the old ghcr.io/qlever-dev/qlever-ui-new
package receives no further builds. Update the image: line in your
docker-compose.yaml (or your docker pull / docker run command) to the
new name — no configuration or data changes are needed.
Prebuilt container images are available from the GitHub container registry.
The edge tag is always the latest version.
docker pull ghcr.io/qlever-dev/qlue-ui:edgeThe images may be used directly:
docker run --rm -it -p 7000:7000 ghcr.io/qlever-dev/qlue-ui:edgeThe Qlue-UI is now available under http://localhost:7000, configured to
query the Wikidata SPARQL endpoint. The Examples tab provides several
queries to explore.
docker compose upQlue-UI is now available under http://localhost.
| Topic | |
|---|---|
| Setup with Docker | Persistence, environment variables, API key, sub-path serving |
| SPARQL endpoints | Endpoint configuration, presets, completion query templates |
| Example queries | Curating per-endpoint examples on disk or from the UI |
| Features | Editor, results, query analysis, workbench |
To browse the docs locally, run uvx --with mkdocs-material mkdocs serve from the repository root.
For local development, run the frontend and backend separately:
# backend (FastAPI, managed with uv) — port 8000
cd backend
uv sync
uv run fastapi dev src/api/main.py
# frontend (Vite) — port 5173
cd frontend
npm install
npm run devOn first start the backend seeds backend/config.yaml and
backend/examples/ from the defaults shipped inside the package, in
backend/src/api/defaults/.
Both local paths are git-ignored, so endpoints and examples you add while
developing stay out of commits. To change what ships by default, edit the
files under backend/src/api/defaults/.
Important
Upgrading an existing checkout. backend/config.yaml and
backend/examples/ used to be tracked by git, so a git pull across this
change fails with "Your local changes would be overwritten" if you have
edited them. Stashing does not help — git detects the rename and silently
applies your endpoints to the shipped defaults instead. Back the files up
outside git, restore the tracked copies, then pull and put yours back:
BK=$(mktemp -d)
cp -r backend/config.yaml backend/examples "$BK"/
git restore backend/config.yaml backend/examples
git clean -qfd backend/examples
git pull
rm -rf backend/examples
cp "$BK"/config.yaml backend/config.yaml
cp -r "$BK"/examples backend/examplesSeeding skips paths that already exist, so your config and examples are left untouched from then on.