Skip to content

Latest commit

 

History

History
74 lines (62 loc) · 2.67 KB

README.md

File metadata and controls

74 lines (62 loc) · 2.67 KB

Visual editor for shape constraint languages.

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

  • Drag and drop to rearrange the visualized shapes
  • Add, remove and edit shapes, constraints and relationships
  • View and edit namespaces and prefixes
  • Import SHACL files in JSON and Turtle
  • Export SHACL files in JSON and Turtle
  • Import data files in JSON and Turtle
  • View and edit data files in JSON format
  • Validate data files

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.

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.