Mentor for Visual Studio Code

The developer friendly IDE for RDF knowledge graphs.
Features:
- Workspace Management
- Fast indexing, cross-file references, code lenses and quick navigation to definitions.
- Settings panel to browse and manage all important Mentor settings.
- Status bar items for index, validation and query status.
- Content Navigation
- Browsable definition trees for RDFS / OWL / SHACL / SKOS
- Structural reasoning and multilingual labels.
- Describe IRIs and prefixed names against the connection of the current document.
- Syntax Highlighting & Validation
- N-Triples / N-Quads / N3 / Turtle / TriG / RDF-XML, SPARQL and Datalog.
- SHACL validation profiles with built-in presets for basic ontology and taxonomy hygiene.
- Validate a single document, a profile or the entire workspace, on startup or on change.
- SHACL reports and validation logs, extensible with custom user shapes.
- Editing
- Repository wide auto-complete
- Built in prefix.cc support for namespace lookups
- Configurable formatting for Turtle and SPARQL documents
- Refactoring
- Refactor prefixed names and IRIs
- Auto-implement / sort / remove prefixes
- Sort documents alphabetically, by type or semantically, clean up and inline blank nodes
- Convert documents between N-Triples / N-Quads / Turtle / RDF-XML
- Notebooks && SPARQL
- Built-in triple store for all files in the workspace.
- Run queries against remote endpoints or workspace files.
- Editable triple store profiles to adjust SPARQL queries and inferencing features.
- Interactive notebooks with support for Markdown, RDF data and SPARQL queries.
- Templating
- Support for the Triplate templating language.
- Create, execute and preview templates for SPARQL queries and RDF data.
- Collaboration
- Runs in the browser (e.g.
vscode.dev), supports editing GitHub repositories and live collaboration.
News
Version 0.7.0: Rename Across Files and Lower Memory Use
- Breaking change: renaming an IRI (F2) now also renames it in all other indexed files that reference it; the changes in other files are shown in the Refactor Preview before they are applied. Set
mentor.editor.renameAcrossFiles to false to rename within the document only, as before
- Go to Definition now opens the framework vocabularies shipped with Mentor (RDF, RDFS, OWL, SHACL, SKOS, XSD, …) and the preset SHACL shapes in read-only documents, e.g. for
rdfs:label or owl:Class
- The XSD vocabulary now covers many more XSD 1.1 datatypes and the constraining facets, with labels and descriptions (contributed by @otellomaria)
- Much lower memory use: indexed files that are not open no longer keep their syntax tree and tokens; a test workspace with 400k triples retains about 0.5 GB instead of 1.8 GB after indexing (#112, #124)
- Faster start-up, indexing and editing of large files, and SPARQL results that are no longer re-queried when their view is shown again (#114, #116–#120, #127, #143, #144, #150)
- Edits of large documents apply only the triples that changed and skip the inference when no triple changed, and Turtle documents are parsed about 40% faster (#120)
- Fixed Go to Definition returning a reference in the current document while the workspace is indexed (#147), RDF/XML names with upper-case letters not being found (#130), commented-out RDF/XML elements being treated as definitions, and properties with an
xsd:unsignedLong or xsd:unsignedByte range not being shown as numeric
- Fixed the definitions tree staying empty for the document that is open when VS Code starts (#156)
- Fixed Go to Definition, Find References and rename missing prefixed names with colons or escaped characters in the local name, e.g.
ex:a:b or ex:a\-b (#164), and renaming a workspace folder rewriting the names of prefix declarations for that folder (#165)
- Fixed the SPARQL formatter putting a space between a function and its arguments, e.g.
ex:fn (?x) or NOW () (mentor-rdf-serializers#5)
- Updated mentor-rdf to 2.4.0, mentor-rdf-parsers to 2.2.1 and mentor-rdf-serializers to 1.9.3
Installation
You can install the Mentor extension directly from the Visual Studio Code marketplace. Follow these steps:
- Open Visual Studio Code.
- Click on the Extensions view icon on the Sidebar (or press
Ctrl+Shift+X).
- In the Extensions view, enter
Mentor in the search form and press Enter.
- Locate the Mentor extension in the search results and click on the install button.
Contributing
We appreciate contributions in all forms! By contributing to Mentor, you'll help make it a better tool for the RDF and knowledge graph community. Contributions can take many shapes, including:
Bug reports: If you encounter an issue, please report it to us so we can investigate and fix it. Your feedback helps us understand what works well and what we can improve.
Reviews and feedback: Share your experience with Mentor by leaving a review on the Visual Studio Marketplace.
Code contributions: Help us improve the extension by submitting new features, bug fixes, or refactoring existing code.
Building
To get started, fork this repository on GitHub and then clone the fork to your local computer. Once cloned, add an upstream remote pointing to the primary toolkit repo.
git clone https://github.com/faubulous/mentor-vscode.git
cd mentor-vscode
Install the project dependencies.
npm install
Create a development build of the extension.
npm run build:watch
Debugging
To start debugging the 'Launch Extension' configuration, follow these steps:
- Open Visual Studio Code.
- Click on the Run view icon on the Sidebar (or press
Ctrl+Shift+D).
- At the top of the Run view, in the dropdown list of debug configurations, select 'Launch Extension'.
- After the configuration is set, you can start debugging by clicking on the green 'Start Debugging' button (or press
F5).
This will start a new instance of Visual Studio Code with the Mentor extension loaded. You can set breakpoints in your code to stop execution and inspect variables, call stack, and so on.
Packaging
npm install --global @vscode/vsce
Create a production build and install it into your local Visual Studio Code environment:
npm run package:install
License
Distributed under the GPL Version 3 License. See LICENSE for more information.
| |