Home

Awesome

UnSHACLed

A visual editor for RDF constraints currently supporting the visual notations ShapeUML and ShapeVOWL and import/export/validation of SHACL constraints.

The previous version of UnSHACLed was implemented during the Open Summer of Code 2019 in Belgium under the MIT license. This is an updated version which adds support for different visual notations to interact visually with RDF constraints.

Contents

  1. Overview
  2. Setup
  3. Contribute

Overview

At the time of writing this editor supports SHACL, future support for ShEx is envisioned. This editor makes abstraction of specific constraint languages and exposes concepts in a simple visual interface.

Functionalities

Concepts

An internal model is used to represent shapes which can be edited in the browser. Using existing shape files requires these to be imported and translated to this model before use. Editing is done in a visual editor.

Setup

To start the application, run the following commands:

  1. Install dependencies
npm install
  1. Compile and hot-reload for development
npm run serve

The documentation can be generated in /docs using the following command:

npm run docs

Useful while developing: testing and linting

npm run test // Run tests
npm run lint // Check and fix code style

Compile and minify for production

Execute this command, then move the contents of /dist into the gh-pages branch. The application will be automatically deployed to UnSHACLed.com.

npm run build

Contribute

This section contains information to help contribute to this project. For more information about the project structure, the internal model et cetera, please consult the wiki of the previous version.

Linting

To ensure code style consistency we use ESLint and Prettier which are configured in .eslintrc.js.

Testing

Testing is done with Jest.js and Vue Jest. Unit tests are kept in the same directory as the classes they test and share the same filename but with extension e.g. somefile.js and somefile.test.js. All tests can be executed using the following command:

npm run test

Documentation

Make sure to document your code in JSDoc style. Documentation is generated using the command:

npm run docs
/* This comment should appear in the HTML documentation. */
// This is just a comment and should not be added to the HTML documentation.