๐ Capabilities
February 18, 2026 ยท View on GitHub
๐ฆ Qlue-ls ๐ฆ
โกQlue-ls (pronounced "clueless") is a blazingly fast language server for SPARQL, written in Rust ๐ฆ, build for the web.
๐ป Demo
๐ Documentation
๐ Project Blog Post
๐ Thesis
๐ Capabilities
Qlue-ls offers a wide range of LSP features tailored to SPARQL.
For a complete overview, see the capabilities section.
QLue-ls also provides custom LSP extentions for SPARQL specific features and server state management.
See LSP Extensions for more.
โจ 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
https://github.com/user-attachments/assets/207c8265-27b9-4dde-a18c-d82f7c5db4c9
๐ Formatting
- Auto-formats SPARQL queries for consistency and readability
- Fully customizable to match your preferred coding style
- On-type formatting: pressing Enter after
;in a triple pattern auto-indents to the predicate column
https://github.com/user-attachments/assets/9d80ae33-8ff0-4bdd-8a9d-fb95a632673e
๐ ๏ธ Code Actions
- Provides smart quick-fixes for diagnostics
- Offers suggested improvements and automated edits
https://github.com/user-attachments/assets/53fe75b6-71d2-4fe9-91c8-82ebda420712
โน๏ธ Hover
- View contextual information by hovering over tokens
https://github.com/user-attachments/assets/425e6912-c9f0-49ca-9937-6cd536ab9bc4
๐ฉบ 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
queryor anupdate
โ๏ธ Configuration
Qlue-ls is configured via a qlue-ls.toml or qlue-ls.yml file.
Full configuration options are explained in the documentation.
Example 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
line_length = 120
contract_triples = false
auto_line_break = false
[completion]
timeout_ms = 5000
result_size_limit = 100
subject_completion_trigger_length = 3
object_completion_suffix = true
variable_completion_limit = 10
same_subject_semicolon = true
[prefixes]
add_missing = true
remove_unused = false
๐ Acknowledgements
- TJ DeVries - for the inspiration and fantastic tutorials
- Hannah Bast - for mentorship and guidance.