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.
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
.sparqlbookformat 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-notebookand its fork byarne-bdt.Key Features
*.cimnb.mdnotebooks using standard markdown code fences, ensuring clean and readable pull requests..sparqlbookfiles, including a bidirectional conversion command.opencgmes.jsoncand VS CodeSecretStorage, eliminating hardcoded credentials in markdown files.