Coder Social home page Coder Social logo

knowledgeonwebscale / unshacled Goto Github PK

View Code? Open in Web Editor NEW
15.0 4.0 3.0 862 KB

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

License: MIT License

JavaScript 75.55% HTML 0.06% Vue 24.39%
shacl shacl-editor shape-uml shape-vowl rdf

unshacled's Introduction

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

  • 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 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.

unshacled's People

Contributors

buccaneer avatar fbrckman avatar lensbart avatar rwambacq avatar svenlieber avatar tdeblander avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

unshacled's Issues

fix broken links

hi @SvenLieber !
There are many broken links:

Finally, could you include some images in the README of actual shots with unSHACLed?
Does it look exactly as in the spec, or are there differences?

ShapeUML:
image

ShapeVOWL:
image

Instructions on build compatibility

I have not been able to install this project as npm package.

Could you care to mention which nodejs version and npm should be installed? in Linux I get this error with dependency gyp

npm ERR!   File "/root/.node-gyp/21.4.0/include/node/common.gypi", line 1
npm ERR!     incremental linking

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.