Skip to content

CIMNotebook: Native SPARQL/SHACL Notebook support #44

Description

@spah-soptim

Currently, the CIMNotebook VS Code extension operates as a pure LSP thin client. It validates SPARQL and SHACL within cells of the third-party Zazuko SPARQL Notebook extension. While functional, the execution engine and UI are external, and Zazuko's .sparqlbook format is a single-line JSON structure that is notoriously hostile to git diffs and code reviews.

Objective

Implement native, git-friendly notebook functionality directly inside the CIMNotebook extension. The primary authoring format will be Markdown (*.cimnb.md), allowing SPARQL and SHACL queries to be executed against HTTP endpoints, local RDF files, and CIMXML models natively.

*Note: This implementation is a clean-room design inspired by zazuko/vscode-sparql-notebook and its fork by arne-bdt.

Key Features

  • Git-Friendly Format: Native *.cimnb.md notebooks using standard markdown code fences, ensuring clean and readable pull requests.
  • Zazuko Interop: Seamless backwards compatibility with Zazuko .sparqlbook files, including a bidirectional conversion command.
  • Unified Execution Engine: Queries are executed via our Java-based LSP server (reusing Jena 6.1.0), paving the way for future IntelliJ reuse.
  • Versatile Targets: Execute cells against remote HTTP endpoints, local file stores (RDF + CIMXML), and perform SHACL validations (local in-process or remote HTTP POST).
  • Connection Management: Manage named endpoints securely via opencgmes.jsonc and VS Code SecretStorage, eliminating hardcoded credentials in markdown files.

Metadata

Metadata

Assignees

Labels

cimnotebookCIMNotebook ExtensionsenhancementNew feature or request

Fields

No fields configured for Feature.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions