ResearchObject / ro-crate-py

Python library for RO-Crate
https://pypi.org/project/rocrate/
Apache License 2.0
46 stars 23 forks source link

Add optional minimal validation #64

Open simleo opened 3 years ago

simleo commented 3 years ago

Tough RO-Crate's philosophy is to impose few strict requirements, and rely on examples and best practices for details, a certain degree of validation can be performed. We could add an option to do that. The default should be no validation though, both for backwards compatibility and to continue reaping the benefits of RO-Crate's flexibility.

We could start with an option for minimal validation (even explicitly checking that the metadata file is valid JSON would be something) and perhaps plug in CheckMyCrate at some point.

jmfernandez commented 3 years ago

Validation is being needed sooner or later, but an informational one. It is going to be needed the moment the different RO-Crate profiles are going to be supported, in order to report whether the minimal set of properties and structure for a given profile is reached or not

stain commented 3 years ago

When opening an RO-Crate it would realistically require it to at least be valid JSON - I don't think at the moment it checks it is valid JSON-LD, but that is a RO-Crate requirement as well.

See https://docs.google.com/document/d/1lcmlTTJCcD9sUf6Vv6gRk3URI-CY54R8jK_4R8P3b80/edit# for thoughts on different levels of validation.

SteffenBrinckmann commented 2 years ago

I would really second this feature-request as it would help us a lot. We want to use RO-crates as import / export for electronic labnotebooks (https://github.com/TheELNConsortium/TheELNFileFormat)

kinow commented 1 year ago

+1 as well. Just finished adding RO-Crate to Autosubmit on a branch, and now I am trying to validate the RO-Crate somehow. The first pass will be reading the spec & WorkflowHub requirements, but having an automated tool or script would be very helpful.