RML Dev Server
A Visual Studio Code extension for the RDF Mapping Language (RML), powered by the BURP RML processor.
Features
- Live Evaluation & Inlay Hints: Inspect evaluated terms and expressions inline directly within Turtle / RML files.
- Plan Node Hierarchy View: Explore logical execution plans generated from RML mappings.
- Trace & Execution Matrix: Inspect intermediate evaluation traces, records, and performance metrics.
- Evaluator & Value Inspector: Interactively evaluate selectors, expressions, and references against data sources.
- RDF Visualizer: View output RDF graphs and tabular representations with customizable hull clustering.
- Integrated Server: Includes the bundled BURP processor to run out-of-the-box, with support for external instances.
Requirements
- Java 21+: A Java 21+ runtime is required to execute the bundled BURP processor (
java command available on your PATH).
Extension Settings
This extension contributes the following settings:
rml.burp.path: Path to an explicit BURP JAR or executable. If left empty, the bundled BURP processor or burp on your system PATH will be used automatically.
rml.java.path: Path to the Java executable used to run BURP (default: java).
rml.server.spawnProcess: Whether to spawn the BURP server process automatically (default: true).
rml.server.port: Dev server port number (default: 0 for dynamically assigned port).
rml.server.autoStart: Automatically start the BURP Dev Server on extension activation (default: true).
rml.server.extraArgs: Extra command-line arguments to pass to BURP when spawning the server.
rml.baseIRI: Base IRI used to resolve relative IRIs produced by the mapping.
rml.graph.backgroundMethod: Background envelope algorithm for non-default named RDF graphs.
Development & Building
To install dependencies and build the extension:
cd rml-dev-server
npm install
npm run compile
Note on baukasten-ui Dependency
The webview uses the <Tree /> component from [TypeFox/baukasten PR #44](https://github.com/TypeFox/baukasten/pull/44).
Because this feature has not yet been released to npm (the latest npm release is 0.3.0), a pre-built package tarball is temporarily vendored at vendor/baukasten-ui-0.3.0.tgz and installed via "baukasten-ui": "file:./vendor/baukasten-ui-0.3.0.tgz" in package.json.
To rebuild or refresh this vendored tarball from upstream source:
git clone https://github.com/TypeFox/baukasten.git
cd baukasten
npm ci
npm run build:baukasten
mkdir -p /path/to/BURP/rml-dev-server/vendor
npm pack packages/baukasten --pack-destination /path/to/BURP/rml-dev-server/vendor
cd /path/to/BURP/rml-dev-server
npm install
TODO / Next Release: Once TypeFox publishes an official npm release containing PR #44 (e.g. ^0.4.0), remove vendor/baukasten-ui-0.3.0.tgz and revert package.json to the standard npm dependency.
License
MIT - see the LICENSE file for details.