In-browser demos of the shex.js
implementation of Shape Expressions.
One validator, in two flavors: simple runs validation on the UI
thread; worker runs it in a Web Worker so the page stays
responsive (and validation can be interrupted).
Everything else is a plugin the validator loads by URL
(?plugin=<url>, or named by a manifest entry): a
module that may install
semantic-action extensions
for schemas to dispatch, and may add a screen of panes and verbs of
its own beside the validator's.
Validate RDF data against a ShEx schema (ShExC, ShExJ or ShExR).
Validate with the Map extension, capture bindings, and materialize them into another RDF graph on a screen of its own. These URLs open the validator with the plugin and its examples loaded.
Validate with the Reduce extension — actions that steer or check a match as it happens — then fold the parse into an AST. The demo manifest's calculator entries show both.
A plugin is one URL: a module that registers what it adds. doc/plugins.md is the contract, and hello-plugin.js is a working one in about forty lines.