ro-crate
ro-crate copied to clipboard
Missing schema:author in Workflow Example
Describe the bug According to the 0.2 spec, schema:author must appear at least once.
In the workflow-0.2, no author is defined.
URL https://github.com/ResearchObject/ro-crate/blob/master/examples/workflow-0.2.0/ro-crate-metadata.jsonld
Suggested fix
Add
"author": {"@id": "#thomas"} or equivalent to the file.
Depending on #49 the workflow-0.2.0/ro-crate-metadata.jsonld example needs quite a bit of update. You are right in that there should be author (and not creator) in the example. I also think the example has not been properly flattened (nested potentialAction)
The workflow example also use some PAV provenance properties not mentioned in the spec (importedFrom) but which are in the JSON-LD context - should those be explained in the Provenance section or removed from the example?
I think a small blurb that mentions or explicitly states that users can pull out of the context (although this should be implicit) may be helpful. Additionally, a small addition to the example README.md may help.
This example also uses some PAV provenance properties not explicitly mentioned in the spec (importedFrom) but which are in the JSON-LD context. This demonstrates the flexibility in the spec by showing the ability to pull in additional definitions not explicitly stated
I think most people looking at the example are going to be using it as a reference on how their metadata should be structured (just how a software engineer may look at example code on how to use a particular library and follow that convention).
I think this example should just show what RO-Crate mandate or mentions already in text.
For the context I agree, because now it's deliberately written to be easy to parse - see massaging in https://github.com/ResearchObject/ro-crate/blob/master/scripts/schema-context.py
It means it's possible to do very simple things using pure JSON, as in https://github.com/ResearchObject/ro-crate-py/blob/master/rocrate/metadata.py#L27
#49 now tidied so author is shown and creator removed. The new example is much smaller:
{
"@id": "workflow/retropath.knime",
"@type": ["SoftwareSourceCode", "Workflow"],
"author": {"@id": "#thomas"},
"name": "RetroPath Knime workflow",
"description": "Retrosynthesis workflow calculating chemical reactions",
"license": { "@id": "https://spdx.org/licenses/CC-BY-NC-SA-4.0"},
"programmingLanguage": {"@id": "#knime"}
}
(see that section for the extras)