assemblee-virtuelle / assemblee-virtuelle/semapps

Data validation with ShEx and/or SHACL

Open
#795 0 comments 0 reactions 0 assignees View on GitHub
chantier feature
Dominant language
TypeScript
Stars
103
Forks
14
Avg merge
1m
Merged PRs (30d)
2

Description

There are two standards to validate semantic data:
- [SHACL](https://www.w3.org/TR/shacl/)
- [ShEx](https://shex.io/)

Having read a full book on the subject, it appears ShEx is much more readable so I think we should implement this standard first, eventually adding support for SHACL later.

Proposed implementation:
- Allow to define a ShEx shape for each LDP container
- Create a `ShExMiddleware` for Moleculer, which validate resources posted or modified in this container
- If the validation fails, return directly a 400-type error

Reference JS library: https://github.com/shexjs/shex.js

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the linked ShEx and SHACL standards and the referenced shex.js library, then locate the LDP container handling and Moleculer middleware entry points. Done means containers can define ShEx shapes, modified or posted resources are validated, and failures return a 400-type error.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.