Use Case: Clarity on what libraries should be expected to do - how strict/permissive they should be - maybe via an implementation section that gathers all the conformance statements together #176
As a programmer, I want to be reasonably sure that an RO-Crate I made in good faith using one library will at least load using annother so that I don't have to hassle the library maintainers or read the spec.
Suggest we have a section of the spec that specifies for each MUST statement what to do and what recovery strategy might be available. This will also be helpful for people building validators.
Eg:
should a library fail to load a crate that has unlinked data entities? Or issue a warning? Or add them as a hasPart? Or silently change their IDs (raising the question if they're still data entities?)
Should a libary check if files are present? (Suggest this should be a validation step that generates warnings)
Should a library allow items with no @id and make one if needed?
Should a library allow items with no @type and automatically add "Thing" (like in the ro-crate-js library)
Should a library allow non-flattened input? (We need a clearer spec on what JSON-LD is supported)
As a programmer, I want to be reasonably sure that an RO-Crate I made in good faith using one library will at least load using annother so that I don't have to hassle the library maintainers or read the spec.
Suggest we have a section of the spec that specifies for each MUST statement what to do and what recovery strategy might be available. This will also be helpful for people building validators.
Eg:
should a library fail to load a crate that has unlinked data entities? Or issue a warning? Or add them as a hasPart? Or silently change their IDs (raising the question if they're still data entities?)
Should a libary check if files are present? (Suggest this should be a validation step that generates warnings)
Should a library allow items with no @id and make one if needed?
Should a library allow items with no @type and automatically add "Thing" (like in the ro-crate-js library)
Should a library allow non-flattened input? (We need a clearer spec on what JSON-LD is supported)