International-Data-Spaces-Association / ids-specification

The Dataspace Protocol is a set of specifications designed to facilitate interoperable data sharing between entities governed by usage control and based on Web technologies. These specifications define the schemas and protocols required for entities to publish data, negotiate Agreements, and access data in a data space
https://docs.internationaldataspaces.org/dataspace-protocol/
Apache License 2.0
35 stars 16 forks source link

Pipeline to check the Correctness of Schemas, Shapes, and Examples #180

Open sebbader-sap opened 1 year ago

sebbader-sap commented 1 year ago

While updating the documents, we sometimes miss to touch all affected files, or add typos when touching example or schema files. Having a pipeline that checks the correctness will significantly increase the quality of the protocol.

Proposal:

  1. Check all JSON Schema files that they are correct JSON Schema by simply loading them into a JSON Schema Validator. Parsing successful --> schema files are syntactically correct.
  2. Check all SHACL files by loading them into a SHACL Validator. Parsing successful --> shape files are syntactically correct.
  3. Validate all example files against both the JSON Schemas and the Shapes.

A PR can only be merged if all three checks are successful.

sebbader-sap commented 1 year ago

Github Actions provide many of the required features. We need to create a PoC to see if anything is missing.

sebbader-sap commented 9 months ago

Update: General JSON Schema validation works, however, not yet for more than one JSON file.

sebbader-sap commented 5 months ago

Solution has been prepared here:

sebbader-sap commented 5 months ago

@ssteinbuss please move this issue to the new repo. No further activity will happen in this one. The proposed solution will work also in the new repo as long as the folder structure and file naming convention won't be changed.