A SPARQL language server
Find a file
Ioannis Nezis f278e965cf
Some checks failed
build-test-publish / 🏗️ build Rust 🦀 (push) Has been cancelled
build-test-publish / 🏗️ build python 🐍 (push) Has been cancelled
build-test-publish / 🔍 run tests (push) Has been cancelled
build-test-publish / 📦 Publish to crates.io (push) Has been cancelled
MAINT: refactor execute handler
2025-12-17 18:07:04 +01:00
.cargo update getrandom to 0.3 2025-05-08 13:57:53 +02:00
.github/workflows Update actions/checkout action to v4 (#52) 2025-04-29 13:26:48 +02:00
crates/parser DEP: bumb ll-sparql-parser to 0.16.0 2025-12-13 23:07:04 +01:00
docs FIX: fixing lsp setup in docs 2025-11-25 23:16:21 +01:00
editor Rename message and typescript objects to match 2025-11-13 12:31:50 -05:00
src MAINT: refactor execute handler 2025-12-17 18:07:04 +01:00
.gitignore Initial commit 2024-08-21 15:35:42 +02:00
.gitlab-ci.yml MAINT: add CI for docs 2025-06-09 23:15:15 +02:00
Cargo.lock bumb verstion to 0.23.1 2025-12-17 16:15:19 +01:00
Cargo.toml bumb verstion to 0.23.1 2025-12-17 16:15:19 +01:00
CHANGELOG.md DOC: update CHANGELOG 2025-12-17 16:17:50 +01:00
justfile ENH: lazy sparql requests 2025-12-11 22:46:26 +01:00
LICENSE Initial commit 2024-08-21 15:25:24 +02:00
Makefile MAINT: just&make target to setup development 2025-05-26 17:23:01 +02:00
pyproject.toml META: rename crate to "qlue-ls" 2024-12-16 12:08:16 +01:00
README.md DOC: update readme 2025-10-12 12:13:19 +02:00
renovate.json ENH: add execute query capability 2025-10-29 15:46:49 +01:00

🦀 Qlue-ls 🦀

Qlue-ls (pronounced "clueless") is a blazingly fast language server for SPARQL, written in Rust 🦀, build for the web.

💻 Live Demo
📚 Documentation
📝 Project Blog Post
🎓 Thesis

🚀 Capabilities

Qlue-ls offers a wide range of LSP features tailored to SPARQL development.
For a complete overview, see the capabilities section.

Completion

  • Suggests valid continuations while typing SPARQL queries
  • Backend-powered suggestions for subjects, predicates, and objects
  • Note: Completion queries must be configured for each knowledge graph

📐 Formatting

  • Auto-formats SPARQL queries for consistency and readability
  • Fully customizable to match your preferred coding style

🛠️ Code Actions

  • Provides smart quick-fixes for diagnostics
  • Offers suggested improvements and automated edits

Hover

  • View contextual information by hovering over tokens

🩺 Diagnostics

  • Real-time feedback with severity levels: error, warning, and info
  • Helps catch syntax issues and common mistakes

🕳 Jump

  • Navigate quickly between key locations in a query

operation identification

  • Detects whether a SPARQL operation is a query or an update

⚙️ Configuration

Qlue-ls is configured via a qlue-ls.toml or qlue-ls.yml file.
Full configuration options are explained in the documentation.

Default Configuration

[format]
align_predicates = true
align_prefixes = true
separate_prologue = false
capitalize_keywords = true
insert_spaces = true
tab_size = 2
where_new_line = true
filter_same_line = true

[completion]
timeout_ms = 5000
result_size_limit = 100

[prefixes]
add_missing = true
remove_unused = false

🙏 Acknowledgements