Skip to content

zazuko/vscode-sparql-notebook

Repository files navigation

VSCode SPARQL Notebook

This extension provides a SPARQL Notebook mode for Visual Studio Code. This is a powerful way to document SPARQL queries and make them execute as notebook code cells.

Use a SPARQL notebook to:

  • Provide hands-on SPARQL training
  • Document data available via SPARQL
  • Validate data via SPARQL
  • Run queries against a SPARQL endpoint
  • Run queries against a local RDF file

This notebook can render SPARQL SELECT results and RDF graphs via SPARQL CONSTRUCT queries.

sparql-notebook

The extension automatically installs the Stardog RDF Grammars and SPARQL Language Server extensions for SPARQL syntax highlighting and auto-completion.

This extension is still pretty raw but it works for us [tm]. Bug reports & contributions are very welcome!

Get the Extension

Manual

Features

  • Open any .sparqlbook file as a Notebook.
  • Execute query blocks in the Notebook UI and view output.
  • Configure endpoint connections in the SPARQL Notebook side panel.
  • Export a .sparqlbook file to Markdown.
  • Attach .sparql or .rq files to cells.
  • Use a local RDF file as a data source.

Installation

You can install it directly from the Visual Studio Code Extension tab. It is available on the Marketplace

Usage

Open any .sparqlbook file with the Open With menu option. Then, select the SPARQL Notebook format. Connect to a SPARQL Endpoint and execute query blocks and view output interactively.

Endpoints

Endpoints are the destinations for sending SPARQL queries, and there are two types:

Remote Servers (HTTP / HTTPS)

You can connect to a remote server by clicking the + button in the SPARQL Connections panel. Fill in the server URL and optional credentials. If you omit credentials, the extension will attempt a connection without them. This connection is used throughout the entire notebook, except when a cell defines its own endpoint.

Local Endpoints

Configure a local endpoint by right-clicking on a TTL, NT, or RDF file and selecting SPARQL Notebook: Use File as Store. This creates a new local endpoint populated with the chosen file's content. The entire notebook uses this endpoint, except when a cell specifies its own.

local-file-store

Cell-Specific Endpoints

You can assign an endpoint to a specific cell by adding a comment with the endpoint URL or file path in a code cell:

# [endpoint=https://lindas.admin.ch/query]

or

# [endpoint=./relative/path/file.ttl]
# [endpoint=/absolute/path/file.ttl]

Working with relative paths makes the notebook portable.

For file based endpoints you can have multiple files in the endpoint definitions in many ways:

Absolute or relative paths pattern are supported but i suggest to use relative paths for portability.

# [endpoint=./rdf/{a,b}.ttl]

or

# [endpoint=./rdf/*.ttl]

or

# [endpoint=./rdf/a.ttl]
# [endpoint=./rdf/b.ttl]

Note: You cannot mix HTTP endpoints and file endpoints in the same cell.

Cell Status Bar

The cell status bar displays information about the endpoint in use and its source.

Code Cell (SPARQL Cell)

A code cell contains a SPARQL query, which can be a SELECT, ASK, CONSTRUCT, or DESCRIBE query. Execute a code cell by clicking the Run Cell button in the cell toolbar or pressing Ctrl+Enter (or Option+Enter on Mac).

Query from a file

You can attach a query file to a cell. The query file will load and execute when you run the cell. Supported file extensions include .sparql and .rq. Saving the notebook also saves the query file.

ext-query

Cell Status Bar

The cell status bar indicates whether the cell uses a query file.

FAQ

Show SELECT Results as a Table

Technically that means set the default renderer for MIME-Type application/sparql-results+json.

  1. in the output cell, choose application/sparql-results+json
  2. Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P on Mac),
  3. Search for "mime" and click: "Notebook: Save Mimetype Display Order"
  4. You will be prompted to choose either to ...
    • enable that default setting globally (choose "User Settings")
    • or locally for that specific workspace (choose "Workspace Settings")

save_mimetype_order

Export as Markdown

Right click a .sparqlbookfile and select Export to Markdown.

Contribute

This extension uses the Notebook API . Contributions & bug fixes are always welcome! h

Credits

And all contributors ❤️