RO-CRATE
Ross-spencer (Talk | contribs) (Add links to examples) |
Ross-spencer (Talk | contribs) (→RO-CRATE file format) |
||
| (One intermediate revision by one user not shown) | |||
| Line 51: | Line 51: | ||
== RO-CRATE file format == | == RO-CRATE file format == | ||
| − | RO- | + | RO-CRATE's metadata file is built upon [[JSON]] and [[JSON-LD]]. The structure of the format provides a JSON-LD <code>@context</code> followed by a <code>@graph</code> of its data and contextual entities. The following example the RO-CRATE [https://www.researchobject.org/packaging_data_with_ro-crate/14-complete/index.html Packaging Data with RO-CRATE tutorial]. |
<pre> | <pre> | ||
| Line 115: | Line 115: | ||
</pre> | </pre> | ||
| − | Identifications based upon this structure might look for the appropriate context for a given version, and existence of the <code>@graph</code> array. | + | Identifications based upon this structure might look for the appropriate context for a given version, and existence of the <code>@graph</code> array. |
| + | |||
| + | === Minimal example === | ||
| + | |||
| + | A minimal example of a RO-CRATE is described in the [https://www.researchobject.org/ro-crate/specification/1.1/root-data-entity.html#minimal-example-of-ro-crate spec]. | ||
| + | |||
| + | <pre> | ||
| + | { "@context": "https://w3id.org/ro/crate/1.1/context", | ||
| + | "@graph": [ | ||
| + | |||
| + | { | ||
| + | "@type": "CreativeWork", | ||
| + | "@id": "ro-crate-metadata.json", | ||
| + | "conformsTo": {"@id": "https://w3id.org/ro/crate/1.1"}, | ||
| + | "about": {"@id": "./"} | ||
| + | }, | ||
| + | { | ||
| + | "@id": "./", | ||
| + | "identifier": "https://doi.org/10.4225/59/59672c09f4a4b", | ||
| + | "@type": "Dataset", | ||
| + | "datePublished": "2017", | ||
| + | "name": "Data files associated with the manuscript:Effects of facilitated family case conferencing for ...", | ||
| + | "description": "Palliative care planning for nursing home residents with advanced dementia ...", | ||
| + | "license": {"@id": "https://creativecommons.org/licenses/by-nc-sa/3.0/au/"} | ||
| + | }, | ||
| + | { | ||
| + | "@id": "https://creativecommons.org/licenses/by-nc-sa/3.0/au/", | ||
| + | "@type": "CreativeWork", | ||
| + | "description": "This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Australia License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/au/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.", | ||
| + | "identifier": "https://creativecommons.org/licenses/by-nc-sa/3.0/au/", | ||
| + | "name": "Attribution-NonCommercial-ShareAlike 3.0 Australia (CC BY-NC-SA 3.0 AU)" | ||
| + | } | ||
| + | ] | ||
| + | } | ||
| + | </pre> | ||
== Example RO-CRATES == | == Example RO-CRATES == | ||
Latest revision as of 10:09, 24 March 2025
RO-CRATE (Research Object Crate) is a packaging standard and metadata designed to describe research data and its inter-dependencies.
Contents |
[edit] About
RO-CRATE specifies a metadata file that must use the filename ro-crate-metadata.json. The ro-crate-metadata.json file's presence in a directory identifies the root directory of a RO-CRATE object. The name of the containing directory is not fixed. Version 1.0 and before defined the root with a .jsonld extension, so: ro-crate-metadata.jsonld.
RO-CRATE's metadata file describes data entries (files, directories) and contextual entities (licenses, authorship, funding, instrumentation, etc.). As linked data, the packaging format describes a graph of the package's content and its links to contextual information about its content. Its goal to enable reproducible, transparent, research.
[edit] RO-CRATE structure
The RO-CRATE package structure looks as follows.
<RO-Crate root directory>/ | ro-crate-metadata.json # RO-Crate Metadata File MUST be present | ro-crate-preview.html # RO-Crate Website homepage MAY be present | ro-crate-preview_files/ # MAY be present | | [other RO-Crate Website files] | [payload files and directories] # 0 or more
[edit] RO-Crate Website homepage
Provides a human readable view of the RO-CRATE package. Tools exist to help support the creation of this file.
[edit] RO-CRATE specification
[edit] Current version
[edit] Previous versions
[edit] Draft version
[edit] RO-CRATE file format
RO-CRATE's metadata file is built upon JSON and JSON-LD. The structure of the format provides a JSON-LD @context followed by a @graph of its data and contextual entities. The following example the RO-CRATE Packaging Data with RO-CRATE tutorial.
{
"@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", "LearningResource"],
"hasPart": [
{"@id": "data.csv"}
],
"name": "Example dataset for RO-Crate specification",
"description": "Official rainfall readings for Katoomba, NSW 2022, Australia",
"datePublished": "2023-05-22T12:03:00+0100",
"license": {"@id": "http://spdx.org/licenses/CC0-1.0"},
"author": { "@id": "https://orcid.org/0000-0002-1825-0097" },
"publisher": {"@id": "https://ror.org/05gq02987"}
},
{
"@id": "data.csv",
"@type": "File",
"name": "Rainfall Katoomba 2022-02",
"description": "Rainfall data for Katoomba, NSW Australia February 2022",
"encodingFormat": "text/csv",
"license": {"@id": "https://creativecommons.org/licenses/by-nc-sa/4.0/"}
},
{
"@id": "https://creativecommons.org/licenses/by-nc-sa/4.0/",
"@type": "CreativeWork",
"name": "CC BY-NC-SA 4.0 International",
"description": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"
},
{
"@id": "http://spdx.org/licenses/CC0-1.0",
"@type": "CreativeWork",
"name": "CC0-1.0",
"description": "Creative Commons Zero v1.0 Universal",
"url": "https://creativecommons.org/publicdomain/zero/1.0/"
},
{
"@id": "https://orcid.org/0000-0002-1825-0097",
"@type": "Person",
"name": "Josiah Carberry",
"affiliation": {
"@id": "https://ror.org/05gq02987"
}
},
{
"@id": "https://ror.org/05gq02987",
"@type": "Organization",
"name": "Brown University",
"url": "http://www.brown.edu/"
}
]
}
Identifications based upon this structure might look for the appropriate context for a given version, and existence of the @graph array.
[edit] Minimal example
A minimal example of a RO-CRATE is described in the spec.
{ "@context": "https://w3id.org/ro/crate/1.1/context",
"@graph": [
{
"@type": "CreativeWork",
"@id": "ro-crate-metadata.json",
"conformsTo": {"@id": "https://w3id.org/ro/crate/1.1"},
"about": {"@id": "./"}
},
{
"@id": "./",
"identifier": "https://doi.org/10.4225/59/59672c09f4a4b",
"@type": "Dataset",
"datePublished": "2017",
"name": "Data files associated with the manuscript:Effects of facilitated family case conferencing for ...",
"description": "Palliative care planning for nursing home residents with advanced dementia ...",
"license": {"@id": "https://creativecommons.org/licenses/by-nc-sa/3.0/au/"}
},
{
"@id": "https://creativecommons.org/licenses/by-nc-sa/3.0/au/",
"@type": "CreativeWork",
"description": "This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Australia License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/au/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.",
"identifier": "https://creativecommons.org/licenses/by-nc-sa/3.0/au/",
"name": "Attribution-NonCommercial-ShareAlike 3.0 Australia (CC BY-NC-SA 3.0 AU)"
}
]
}
[edit] Example RO-CRATES
Links to examples can be found on the Research Object website: links to complete examples.
[edit] Use Cases
RO-CRATE's use-cases are described on the RO-CRATE homepage. Domain uses can be found under this page, ranging from Biology, to Chemistry, History, and Informatics.
[edit] Tools and libraries
- RO-CRATE tooling from LDaCA on GitHub.
- Tooling and specifications from the RO-CRATE community on Github.
- CRATE-O browser based editor
- RO-CRATE package preview generator