Introduction
- RO-Crate provides a structure to make FAIR data packages
- schema.org in JSON-LD provides a controlled vocabulary for FAIR metadata
- Each entity of the crate is described separately
- Cross-references between entities create a graph
- The RO-Crate specification recommends which types and keys to use
Turning a folder into an RO-Crate
- Adding a RO-Crate Metadata file to a folder turns it into an RO-Crate
- The RO-Crate Root is the top-level folder of the crate
- RO-Crate uses schema.org as base vocabulary
- The JSON-LD context enables optional Linked Data processing
- Descriptions are listed flatly as entities in the @graph array
Making a metadata descriptor
- The RO-Crate Metadata Descriptor describes the JSON-LD file itself
- RO-Crate specifications are versioned
- The version of RO-Crate is indicated using the conformsTo property
Declaring the root folder
- The RO-Crate Root is the top-level object of the RO-Crate
- The root identifier may be a URL, but commonly just ./ for the current folder
Describing the root entity
- Name, description, date published and license are required for the RO-Crate Root”
- RO-Crate allows multiple licenses for different parts
Adding cross-references
- The @id uniquely identifies the entity within the RO-Crate
- The @id key is used for cross-referencing
- Multiple types can be listed by using an array
Data entities
- Data entities are files & folders within the root, as well as external Web references
- Required properties for files are name and encodingFormat
- License can be overridden for particular data entities
Contextual entities
- Contextual entities are not considered part of the crate
- Cross-references should be expanded as contextual entities
- It is recommended to provide a human-readable name for licenses
Validating JSON-LD
- RO-Crate metadata files are valid JSON-LD
- The JSON-LD Playground can do basic validation and visualization
- Further use of RO-Crate as Linked Data is possible, but may require handling of relative URI references
Converting JSON-LD to triples
- The JSON-LD @context maps JSON keys to schema.org vocabulary
- A @base URI is needed to make absolute URIs
- arcp and UUID can be used for RO-Crates that are not exposed on the Web
Visualizing a crate as HTML preview
- RO-Crate can be rendered into a HTML preview
- RO-Crate previews tend to show each entity separately
- The preview HTML can be added as part of the RO-Crate
Completed RO-Crate
- A single RO-Crate lists all the entities
- The order of entities in the @graph array is not important
Next steps
- RO-Crate specification has further details, e.g. additional contextual entities