Skip to content

Get started

What is shacl-vue?

WARNING

ALL CONTENT HERE AND IN THE SOURCE CODE REPOSITORY IS UNDER CONTINUOUS DEVELOPMENT, IS CONSIDERED UNRELEASED, AND MAY CHANGE AT ANY TIME.

shacl-vue is a browser-based JavaScript application that uses the Shapes Constraint Language (SHACL) to generate user interfaces for entering, editing, and viewing data.

Think of it as an automatic builder that you just have to feed with a model of your data. If you have a SHACL schema, or a schema in a format that can be exported to SHACL, then you're good to go. No need to build custom forms for data entry, no need to struggle with post-entry data validation, no need to create a catalog application that renders all the entered data. shacl-vue does all of this automatically.

shacl-vue is built with VueJS 3, Vuetify, and Vite, and was heavily inspired by the WC3 Draft: Form Generation using SHACL and DASH.

🚀 Try out a live demo at https://psychoinformatics-de.github.io/shacl-vue/

Installation

shacl-vue is not yet available via any package manager, and will need to be installed from sources.

First clone the repo locally:

git clone https://github.com/psychoinformatics-de/shacl-vue.git
cd shacl-vue

Then create a local NodeJS virtual environment, for example with miniconda:

conda create -yn <my-env-name> nodejs
conda activate <my-env-name>

Then install the application:

npm install

Local rendering

To serve the application locally in order to test it in the browser while developing, run:

npm run dev

To serve the documentation locally, run:

npm run docs:dev

Roll your own

shacl-vue needs a set of inputs to function as intended. These are explained in the App inputs section.

To roll your own instance while using the existing set of editor components that are used for the demo instance, together with the demo data, just install and run the application locally as explained above.

To work with a completely different set of shapes, classes and data, you can use the application config to customize your instance. This involves updating the config file that is located at shacl-vue/src/assets/config.json. Details are provided in the App configuration section. After editing the config file, while running a local development server, just refresh your browser page and the customizations should be available.