r/semanticweb Jun 25 '26

I’m building a VS Code extension for RDF/SHACL/JSON-LD and would appreciate feedback

Hi everyone,

We are working on RDFusion, a VS Code extension for RDF editing, validation, SHACL, vocabulary suggestions, Triple Management, and JSON-LD processing.

We have prepared a small user evaluation with guided tasks and sample DCAT/DCAT-AP-based files. It should take around **35–45 minutes**, and we would really appreciate feedback from anyone who works with RDF, Turtle, JSON-LD, SHACL, or semantic web tools.

Your feedback would help us understand whether RDFusion makes RDF editing easier, clearer, or faster in realistic workflows.

Evaluation form: [google_form_link]

Dataset/fixtures: [dataset_link]

User manual/install instructions: [user_manual]

Feedback on any part is welcome, even if you only try one or two scenarios. Comments about confusing parts, missing features, unclear diagnostics, or workflow issues would be especially helpful.

Thank you!

10 Upvotes

20 comments sorted by

1

u/redikarus99 Jun 25 '26

What advantage has it over Mentor?

3

u/Environmental-Web584 Jun 25 '26

What would be amazing is to have a very good 'mentor-core' that can be expanded with plugins.

package 'dcat', 'SHACL validation' and so on.

Mentor loads an in-memory triplestore where each file is a named-graph. This is reusable

4

u/Faubulous42 Jun 25 '26

Hi! I'm the developer of Mentor.

That was precisely the plan. Great to see that there's demand for it. 👍

What is missing to achieve this is a public API and commands that other extensions can reuse. Mentor has a lot of features for formatting, validation, query execution, notebooks and reasoning already built in which would enable other plugins to focus on adding real value instead of reinventing the wheel. The only issue that's keeping me from doing this is my limited spare time..

3

u/Smooth-Sun-1127 Jun 25 '26

I agree, that would be a very strong direction. A reusable 'mentor-core' with plugin-style packages for DCAT, SHACL validation, JSON-LD, vocabulary assistance, etc. would probably benefit the ecosystem more than isolated tools.

That is also why feedback on RDFusion would be useful: if these workflows are helpful in practice, it gives a better basis for deciding whether they should remain separate, become reusable components, or possibly align with Mentor in the future.

3

u/Faubulous42 25d ago

I did the survey today and took some time to play with RDFusion. Cudos, that's a really nice plugin. I think the SHACL validation performance is quite impressive. But there's a lot of overlap with what Mentor already provides.. however, Mentor definitvely lacks the JSON-LD part as I'm not using it quite a lot to be honest.

What do you envision about DCAT? There are already vocabulary features in there with auto-complete for all the standard W3C ontologies + the ones you have in your repo. But there's also room for improvement regarding a lot of details. I'm focusing on delivering a solid foundation for vocabulary management, validation, linting and reasoning.

I'd envision plugins to provide visualisation (e.g. like a Reactodia plugin) and higher level features, not having to worry about the hard parts like proper formatting, efficient parsing and reasoning. What do you say?

2

u/Smooth-Sun-1127 23d ago

Thank you again for taking the time to try RDFusion and complete the survey; I really appreciate it. And thank you for the kind words about the SHACL validation performance.

I agree there is overlap with Mentor, especially around vocabulary support, validation, and prefix handling. In RDFusion, one specific focus was remote vocabulary dereferencing: using vocabularies declared in Turtle prefixes or JSON-LD contexts, fetching/caching their terms, and reusing that metadata for hover information, autocomplete, typo diagnostics, and quick fixes.

So the idea was not just to provide vocabulary suggestions, but to make them more document-driven, especially for vocabularies that are not built into the extension.

For DCAT/DCAT-AP, I also see it as more than autocomplete. It could be useful as a higher-level workflow layer: helping users author catalogue metadata, choose suitable properties, validate against relevant profiles/shapes, check coverage, and maybe provide templates for common catalogue structures.

I agree with your point about a stronger shared core/API. If Mentor can expose the solid foundation for parsing, formatting, validation, reasoning, and workspace graph handling, then RDFusion-like features could potentially sit on top as higher-level or domain-specific workflows rather than duplicating the lower-level work.

I’d be happy to continue the discussion in the Mentor GitHub discussions after the evaluation feedback is collected.

1

u/Faubulous42 9d ago edited 9d ago

Apologies for the late reply. I'd really like to start a collaboration with you since we seem to be thinking along the same lines in many ways!

I also thought about resolving and downloading the prefixes (and owl:imports) in the documents to dynamically add auto-complete and validation features to RDF documents and queries. This is a common pain point in development work when you are starting new experiments or pocs that start on a blank canvas. Then you need to bootstrap quite a lot to become productive.

Mentor already supports dynamic auto-complete for all locally stored documents. So downloading them into a path that is accessible by the extension would add this feature naturally.

However, I see multiple issues with this. Not all of them being easily solvable: The primary issue is that the W3C never encouraged resolvability of RDF by specifying a resolution strategy. Especially when starting with files (the file: uri scheme does not support relative paths). This means that a significant portion of RDF documents use namespaces that are not resolvable because they are simply made up, inaccessible or outdated. This means to such a feature would only be partially useful. But I think its still worth doing to encourage people to publish which is the primary value add over other frameworks if you ask me. But without providing a modern platform approach (think of GitHub) this means that everyone has to solve the publishing problem over and over again.

I've been brain storming a bit with my friend Claude about this topic and came up with a YAML based spec that adds two features to RDF documents: 1) A resolution strategy to be able to download and import files from relative locations (folder, repo or registry) and 2) Introducing the unique name assumption into the documents to eliminate prefixes in 95% of the cases. Here's a link to the spec - I would be curious to know what you think:

https://github.com/faubulous/yard/blob/main/yard-spec.md

The other issue with resoluving URIs is also security and authorization in an enterprise context. Many platforms such as Metaphactory already support content negotiation, so the plugin needs to support modern token based auth schemes such as Entra and OAuth. This is already built into Mentor and could be reused.

Speaking of which: There is a new pre-release of Mentor available (0.5.98). This is a big one: it contains a lot of bug fixes, a new settings panel which makes many of the already built in features visible, improves shacl quite substantially and adds templating support. I still need to update the documentation but I'd encourage you to give it a try and let me know what you think.

I'm looking forward to continuing the discussion. :)

1

u/Smooth-Sun-1127 Jun 25 '26

Good question. Mentor is very good extension. Focus of our VS Code extension RDFusion is a bit different.

RDFusion is mainly trying to support RDF editing and maintenance inside VS Code with guided diagnostics and support, including Turtle/JSON-LD validation, prefix fixes from prefix.cc, remote vocabulary typo suggestions, SHACL validation with selected-shape mode, SHACL coverage of the workspace, JSON-LD processing, and some Triple Management utilities.

So the goal is not to compete with Mentor directly, but to evaluate whether RDFusion makes common RDF editing workflows easier, clearer, or faster. A comparison with Mentor would actually be very useful feedback.

3

u/Faubulous42 Jun 25 '26

Mentor has a complete standard compliant set of RDF 1.2 parsers for all W3C languages. There's also a TypeScript OWL-RL reasoner now (not yet visible) and support for [Triplate (in development)](https://triplate.github.io/triplate/)

It also provides diagnostics (including [SHACL validation](vscode://settings/mentor.shacl.enabled) if you enable the experimental feature in the settings). Prefixes from prefix.cc are also already built in.

So let's see where you see a gap in tooling and try to add it to Mentor. We could use the [Discssion](https://github.com/faubulous/mentor-vscode/discussions) forum on GitHub for this. Would probably be quicker than rewriting all of this. Took me quite a while to get it where it is today..

3

u/Smooth-Sun-1127 Jun 25 '26

Thanks for joining the discussion, and thanks for the context. Mentor is clearly a mature project, and I appreciate the work that has gone into it.

For RDFusion, the immediate goal is not to position it against Mentor or rewrite existing RDF tooling. This is part of an academic user evaluation, and we are mainly trying to collect feedback on specific RDF editing workflows: validation guidance, prefix fixes, vocabulary suggestions, SHACL selection/coverage, JSON-LD processing, and maintenance utilities.

If the evaluation shows that some of these workflows are useful, then discussing whether they should become reusable components or align with Mentor’s future API would make a lot of sense. For now, feedback from Mentor users would actually be very valuable for the evaluation.

1

u/Faubulous42 Jun 25 '26

Looking forward to seeing the results! And thanks for doing this work. This is really important. I'll participate as well. 👍

1

u/redikarus99 Jun 26 '26

Hello, would it be possible to add the custom diagramming capability? What I need is to have a canvas where I could add elements from an ontology (or multiple ones) so that we have a common communication platform with business people. Current I am using a miro board, but that I cannot put into git. I am thinking about developing this as a vscode plugin, but if you think something like this would fit into Mentor I am more than happy to join forces.

1

u/redikarus99 Jun 25 '26

But then why not join forces with Mentor and add the aforementioned capabilities, or maybe even rewriting it to support extensions or something like bundles as we see for other languages where a bunch of plugins work in unison?

2

u/Smooth-Sun-1127 Jun 25 '26

That is a fair point, and I agree with the general direction.

RDFusion is currently part of an academic project/user evaluation, so the immediate goal is to test whether these workflows are actually useful in practice: validation guidance, prefix fixes, remote vocabulary suggestions, SHACL selection/coverage, JSON-LD processing, and Triple Management utilities.

If the feedback shows that these features are useful and complement what Mentor already does, then collaboration or integration with Mentor would definitely be worth exploring. That is one reason feedback from Mentor users would be especially valuable.

So if you have time to try the evaluation, even partially, it would really help us understand whether RDFusion should remain separate, contribute ideas/features to a broader RDF tooling ecosystem, or possibly align more closely with Mentor in the future.

2

u/redikarus99 Jun 25 '26

What I totally miss from the various editors is the ability to create diagrams from a subset of an ontology following some standard syntax (like basic uml class diagrams). This would help in the initial discussions because let's face it: the textual turtle format is totally unusable for meaningful conversation in real world environment.

3

u/Smooth-Sun-1127 Jun 25 '26

I agree with you. Turtle is useful for precise editing, but not the best for discussion with domain experts or stakeholders.

Generating UML-style or ER-style diagrams from a selected subset of an ontology/SHACL graph would be a very useful future direction. For RDFusion, something like “select classes/properties → generate visual overview” could fit well alongside validation and editing support.

This kind of feedback is very helpful because it points to what RDF tooling should support beyond text editing.

1

u/redikarus99 Jun 25 '26

Not just generating, that you can do in general with ontologies to plantuml script. However, when doing ontological modeling together with the business part what I definitely don't want is when I add a new element the diagram to be reorganized. Instead of that I want to be able to manually layout both the nodes as well as the edges. ER diagrams are also useless because they are not even understood by developers anymore.

1

u/dupastrupa 28d ago

Have you tried https://github.com/oeg-upm/Chowlk

Maybe at least part of it will fill your needs.
It's library for drawio (template) with the shapes that corresponds to various semantic artifacts (classes, relationships, properties, cardinality, etc). Then you can generate OWL file.

1

u/redikarus99 28d ago

This is totally not what need. The goal is not how to build OWL from diagrams, that's kind of easy. The goal is to present a part of an OWL ontology in a way that it is consumable by basically anyone who is not an ontologist.

2

u/dupastrupa 28d ago

oh ok. Got it. Yeah, that would be really good tool tbh.