Knowboard v0.3


I did not make a separate release announcement for Knowboard v0.2 since I had previously posted in detail about the SPARQL updates features it included. However, if you didn’t see it, the video there shows a quick demo of resourceActions which has been a big productivity enhancement for me in day-to-day use, making document-specific actions quickly accessible.

Knowboard v0.3 makes it more practical to use the SPARQL updates with Turtle files by applying the updates while preserving the existing document formatting. It also includes a number of nice Language Server refinements like “Find References” and use “Inlay Hints” to add document icons inline with your links.

New Features

Find references - look up references to the token at the cursor. Reference counts are also shown as a “Code Lens” over subjects. Screenshot of references in VSCode

Hover preview refinements - the SHACL shape lookup for previews was overhauled which enabled better support for things like label and icon resolution for nested references.

Icon inlay hints (enable via experimental.iconInlayHints config) - displays icons inline next to RDF or [[wiki-link]] references based on the associated SHACL shape. icons displayed next to Markdown wiki-links

Wiki-link discovery:

  • [[wiki-links]] are now queryable. Outgoing links are exposed as kb:linksToKey predicates. Documents include kb:matchableAs for the valid suffixes that would resolve to that document. These follow Unicode-aware normalization to lower-case for matching.
  • Links are included in find-references results, supporting “backlink” lookup.

Format-preserving Turtle edits (enable via experimental.turtleEdits config) - SPARQL updates will now edit Turtle .ttl files “in-place” by selectively inserting or removing the affected sections. This would previously replace the entire file, discarding existing formatting and comments.

SPARQL read-query command (knowboard.executeSparqlQuery) - Enables LSP clients to directly execute SPARQL read queries instead of going through the HTTP endpoint.

SPARQL endpoint discovery - Reports an “Info” diagnostic (knowboard/sparql-endpoint) on .knowboard.toml to allow LSP clients to more easily look up the bound endpoint in cases that they do not have access to run the LSP command directly.

Fixed

This also resolves some issues with handling changes made be other processes which could lead to stale graph data and diagnostics.