ro-crate
ro-crate copied to clipboard
Use Case: Post to & fully populate a repository record
As a data creator, I want to be able to post/upload an RO-Crate to a repository and have it populate the repository metadata, so that I can automate my processes and don't have to re-key slight variations of the same information again, and again, and again.
This could be accomplished in a number of ways, e.g.:
- A given repository supports a deposit protocol like Sword (v1, v2, v3), AND accepts/understands RO-Crate format so that the repository can parse and map the package to its own internal representation (requires adoption by the repository)
- A given repository adds support for RO-Crate to its bespoke REST API, (e.g. Zenodo, Figshare) so that the repository can parse and map the package to its own internal representation (requires adoption by the repository)
- A given repository adds support for RO-Crate when integrating with other platforms, e.g. the Zenodo and Figshare integration with Github hooks, but without having to manually populate the metadata in the repository (requires adoption by the repository)
- A separate tool/library which can parse an RO-Crate and map the RO-Crate representation either to a generic Sword package or to the specific API of a given repository (does not require adoption by the repository, but the tool(s)/libraries must be maintained etc.)
Note, there is a whole other discussion about how the repository treats the upload, i.e. does it maintain the original RO-Crate as the Archival Information Package, or does it simple parse & unpack what it needs and discard the rest of the RO-Crate structure, or both. Sword v3 is a useful starting point thinking through these scenarios, but they are beyond scope of the RO-Crate spec itself
These look good, but the question is how can we support this as specification designers/writers? The answer is probably in providing examples of how data can be extracted from an RO-Crate. Eg at UTS we are working on an indexer that builds a Solr based discovery portal for data - we can link to that code which will demonstrate how to traverse the JSON-LD @graph and extract info.