RO-Crate Technical Overview
Table of contents
What is an RO-Crate?
An RO-Crate is a Research Object (or RO) formed of a collection of data (a crate) and a special ro-crate-metadata.json
file which describes the collection.
The collection may contain any kind of research data - papers, data files, software, references to other research, and so on. It may be a folder full of files, an abstract grouping of connected references, or a combination of both.
The ro-crate-metadata.json
file (also known as the RO-Crate Metadata Document) is a plain text file, readable by humans and machines, that includes metadata for each item within the collection - the authors, license, identifier, provenance, and so on. Any folder can be turned into an RO-Crate by adding an ro-crate-metadata.json
file.
Researchers can distribute their work as an RO-Crate to ensure their data travels with its metadata, so that key components are correctly tracked, archived, and attributed.
RO-Crate uses the JSON-LD format, which is based on JSON. The ro-crate-metadata.json
file can be written by hand or by using one of the existing tools. Some workflow managers (such as Galaxy) support exporting RO-Crates from their web interface.
Below is an example of an ro-crate-metadata.json
file, which describes rainfall data published by an Australian institute under a Creative Commons license:
{
"@context": "https://w3id.org/ro/crate/1.1/context",
"@graph": [
{
"@id": "ro-crate-metadata.json",
"@type": "CreativeWork",
"conformsTo": {"@id": "https://w3id.org/ro/crate/1.1"},
"about": {"@id": "./"}
},
{
"@id": "./",
"@type": "Dataset",
"name": "Example dataset for RO-Crate specification",
"description": "Official rainfall readings for Katoomba, NSW 2022, Australia",
"datePublished": "2022-12-01",
"publisher": {"@id": "https://ror.org/04dkp1p98"},
"license": {"@id": "http://spdx.org/licenses/CC0-1.0"},
"hasPart": [
{"@id": "data.csv"}
]
},
{
"@id": "data.csv",
"@type": "File",
"name": "Rainfall data for Katoomba, NSW Australia February 2022",
"encodingFormat": "text/csv",
"license": {"@id": "https://creativecommons.org/licenses/by-nc-sa/3.0/au/"}
},
{
"@id": "https://ror.org/04dkp1p98",
"@type": "Organization",
"name": "Bureau of Meteorology",
"description": "Australian Government Bureau of Meteorology",
"url": "http://www.bom.gov.au/"
},
{
"@id": "https://creativecommons.org/licenses/by-nc-sa/3.0/au/",
"@type": "CreativeWork",
"name": "CC BY-NC-SA 3.0 AU",
"description": "Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Australia"
}
]
}
See Walkthrough of an RO-Crate for an explanation of each element of the file, or Tutorials for a hands-on introduction.
About the RO-Crate Community
The RO-Crate specification is developed openly on GitHub by research community members across the globe. RO-Crate tools and profiles are also community-developed and open-source.
Anyone can join the RO-Crate community and contribute to these outputs. See the Community pages for more information.