Semantic Web Language Server

June 22, 2026 · View on GitHub

CI Docs LICENSE Visual Studio Marketplace Last Updated

SWLS is a Language Server Protocol (LSP) server that brings IDE-like tooling — diagnostics, completion, hover, navigation, refactoring, formatting and highlighting — to Semantic Web languages: Turtle, TriG, JSON-LD and SPARQL.

Try it instantly, no install required: live demo (Monaco editor in the browser).

Install

EditorHow
VS CodeInstall from the Marketplace (source)
NeoVimUse the swls.nvim plugin
JetBrainsInstall from the JetBrains Marketplace (source)
Anything elseAny LSP-capable editor can run the swls binary directly — see Other editors

Details and caveats for each editor are in Installation below.

Features

CategoryWhat you get
DiagnosticsSyntax errors · undefined-prefix errors · unused-prefix warnings · unknown-property-in-closed-namespace warnings · SHACL shape violations
CompletionKeywords (@prefix, @context, ...) · prefix names (from bundled LOV/prefix.cc data) · classes · domain-aware properties · cross-document subjects (Turtle) · Components.js parameters (JSON-LD)
HoverInferred RDF type · class & property documentation from the ontology · explanation when a property is only accepted via your allow-list
NavigationGo to definition (RDF terms and, for JSON-LD, Components.js modules/parameters) · go to type definition · find references · rename
Code actionsAdd missing prefix declaration · allow-list an unknown property · organize/sort @prefix imports (Turtle) · extract/inline a blank node
FormattingDocument formatting for Turtle and JSON-LD · auto-insert the prefix declaration while typing
HighlightingSemantic syntax highlighting
Inlay hintsInferred type shown inline next to subjects missing an explicit rdf:type

Every diagnostic and almost every feature above can be individually enabled or disabled — see Configuration.

Installation

Currently a fluent install is possible for NeoVim and VS Code. Since SWLS speaks the standard Language Server Protocol, it can be wired into any editor with an LSP client — see Other editors if yours isn't listed below.

VS Code

There is a VS Code extension available in the Marketplace. Source: SemanticWebLanguageServer/swls-vscode.

JetBrains

There is a JetBrains plugin available in the JetBrains Marketplace. Source: SemanticWebLanguageServer/swls-jetbrains.

NeoVim

A NeoVim plugin is available at SemanticWebLanguageServer/swls.nvim.

Other editors

SWLS is a standard LSP server (stdio transport), so any editor with a generic LSP client (Sublime Text, Helix, Emacs lsp-mode/eglot, Kate, ...) can run it directly. Grab the swls binary from the latest release and point your editor's LSP client at it for .ttl, .trig, .jsonld and .sparql/.rq files.

Configuration

SWLS reads configuration from the client's initializationOptions, plus optional .swls/config.json (workspace) and ~/.config/swls/config.json (global) files.

{
  "turtle": true,
  "sparql": false,
  "disabled": ["unused_prefix", "hover_excluded_property"]
}
  • turtle / trig / jsonld / sparql (default true) — enable/disable a language plugin entirely.
  • disabled — a list of individual diagnostics or LSP (sub-)features to turn off, e.g. just the "unused prefix" warning, or just hover-on-class without touching the rest of hover.

Documentation

Screenshots

Undefined prefixShape violation
Undefined PrefixesShape violations
Complete ClassComplete Property
Complete ClassComplete Property

Citation

When using the Semantic Web Language Server, please use the following citation:

A. Vercruysse, J. A. Rojas Melendez, and P. Colpaert, “The semantic web language server : enhancing the developer experience for semantic web practitioners,” in The Semantic Web : 22nd European Semantic Web Conference, ESWC 2025, Proceedings, Part II, Portoroz, Slovenia, 2025, vol. 15719, pp. 210–225.

Bibtex:

@inproceedings{SWLS,
  author       = {{Vercruysse, Arthur and Rojas Melendez, Julian Andres and Colpaert, Pieter}},
  booktitle    = {{The Semantic Web : 22nd European Semantic Web Conference, ESWC 2025, Proceedings, Part II}},
  editor       = {{Curry, Edward and Acosta, Maribel and Poveda-Villalón, Maria and van Erp, Marieke and Ojo, Adegboyega and Hose, Katja and Shimizu, Cogan and Lisena, Pasquale}},
  isbn         = {{9783031945779}},
  issn         = {{0302-9743}},
  language     = {{eng}},
  location     = {{Portoroz, Slovenia}},
  pages        = {{210--225}},
  publisher    = {{Springer}},
  title        = {{The semantic web language server : enhancing the developer experience for semantic web practitioners}},
  url          = {{http://doi.org/10.1007/978-3-031-94578-6_12}},
  volume       = {{15719}},
  year         = {{2025}},
}

Support

If SWLS helps your workflow, consider supporting development:

https://ko-fi.com/ajuvercr

License

Copyright © 2025, IMEC - IDLab - UGent. Released under the MIT License.