RO-Crate Metadata Specification 1.2.0
- Permalink: https://w3id.org/ro/crate/1.2
- Published: 2025-06-04
- Publisher: researchobject.org community
- Status: Recommendation
- JSON-LD context: https://w3id.org/ro/crate/1.2/context
- This version: https://w3id.org/ro/crate/1.2
- Alternate formats: Web pages,
single-page HTML,
PDF,
RO-Crate JSON-LD, RO-Crate HTML - Previous version: https://w3id.org/ro/crate/1.1
- Cite as: https://doi.org/10.5281/zenodo.13751027 (this version)
https://doi.org/10.5281/zenodo.3406497 (any version) - Editors: Peter Sefton, Eoghan Ó Carragáin, Stian Soiland-Reyes
- Authors: Peter Sefton, Eoghan Ó Carragáin, Stian Soiland-Reyes, Oscar Corcho, Daniel Garijo, Raul Palma, Frederik Coppens, Carole Goble, José María Fernández, Kyle Chard, Jose Manuel Gomez-Perez, Michael R Crusoe, Ignacio Eguinoa, Nick Juty, Kristi Holmes, Jason A. Clark, Salvador Capella-Gutierrez, Alasdair J. G. Gray, Stuart Owen, Alan R Williams, Giacomo Tartari, Finn Bacall, Thomas Thelen, Hervé Ménager, Laura Rodríguez Navas, Paul Walk, brandon whitehead, Mark Wilkinson, Paul Groth, Erich Bremer, LJ Garcia Castro, Karl Sebby, Alexander Kanitz, Ana Trisovic, Gavin Kennedy, Mark Graves, Jasper Koehorst, Simone Leo, Marc Portier, Paul Brack, Milan Ojsteršek, Bert Droesbeke, Chenxu Niu, Kosuke Tanabe, Tomasz Miksa, Marco La Rosa, Cedric Decruw, Andreas Czerniak, Jeremy Jay, Sergio Serra, Ronald Siebes, Shaun de Witt, Shady El Damaty, Douglas Lowe, Xuanqi Li, Sveinung Gundersen, Muhammad Radifar, Rudolf Wittner, Oliver Woolland, Paul De Geest, Douglas Fils, Florian Wetzels, Raül Sirvent, Abigail Miller, Jake Emerson, Davide Fucci, Bruno P. Kinoshita, Maciek Bąk, Jens Hollunder, Martin Weise, Vartika Bisht, Toshiyuki Nishiyama Hiraki, Bram Ulrichts, Michael Falk, Eli Chadwick, Daniel Bauer, James Love, Eleni Adamidi, Josh Moore, Lars Schöbitz, Andreas Meier, Juan Fuentes, Edan Bainglass, Balazs E. Pataki
This document specifies a method, known as RO-Crate (Research Object Crate), of aggregating and describing data for distribution, re-use, publishing, preservation and archiving. RO-Crates aggregate data into a Dataset, and may describe any resource including files, URI-addressable resources, or use other addressing schemes to locate digital or physical data. Describing resources includes technical metadata such as file sizes and types as well as contextual information including how and where datasets and files were created, how they were collated and collected, who was involved in the process, what equipment and software was used, who funded the work, how to cite it, and crucially, how it may be reused, and by whom.
The core of RO-Crate is a machine-readable linked-data document in JSON-LD format known as an RO-Crate Metadata Document. RO-Crate metadata documents can, to a large extent, be created and processed just like any other JSON: knowledge of JSON-LD is not needed, unless extending RO-Crate with additional concepts or combining RO-Crate with other Linked Data technologies.
While providing the formal specification for RO-Crate, this document also aims to be a practical guide for software authors to create tools for generating and consuming research data packages, with explanation by examples.
Changelog
- RO-Crate 1.2.0
- Clarified that the RO-Crate Metadata Descriptor MUST have
@id
ofro-crate-metadata.json
by removing conflicting statements elsewhere in the specification #365 - Updated the Bioschemas namespace for properties from
https://bioschemas.org/ComputationalWorkflow#
tohttps://bioschemas.org/properties/
. This change affects only theinput
andoutput
properties in the JSON-LD context. - Change: Replaced name-based algorithm for finding root #198 #365
- Updated algorithm to always use string filter to find root #189 #421
(see algorithm) - Change: Files on the web should now use
contentUrl
for direct download #259 - Clarify entity terminology and when File/Dataset entities are and are not data entities #204 #426
- Update JSON-LD context to schema.org 22.0. Note that upstream adds >230 terms, and removed terms
AuthenticContent
MissingContext
,constrainingProperty
(nowconstraintProperty
),measuredValue
,observedNode
. #263 #274 - Remove custom mapping of
funding
for Bioschemas (now officially http://schema.org/funding) - Added
localPath
to JSON-LD context (https://w3id.org/ro/terms#localPath) and described its use in web-based entities #406 #390 - Updated for ComputationalWorkflow 1.0 profile #185
- Clarified Directories on the web format is a media type, not extension #205
- New: Extended introduction with a running example #227 #215 #219 -- see also RO-Crate tutorials.
- New: Added section Profiles and the concept Profile Crate #250 #251 #255 #256 #407
- Define terms for Profiles #248
- Added subsection for grouping extensions in a profile #233 #233
- Allow more types on root #182 #223
- Added subsection on root data entity identifier #183
- New: Introduces distinction of Attached/Detached RO-Crate #248 #189 #183 #390 #405
- Included Attached/Detached RO-Crate in terminology #248
- Rephrased description of payload files #183 #189
- Describes ro-crate-preview.html as entity #106 #210
- Added usage of DefinedTerm; rdfs:label and comment optional; replaced example #232 #208 #106
- Added section on converting Attached/Detached RO-Crates #189
- Added Common principles for RO-Crate entities #225 #260 #404
- Added note on ELN (Electronic Lab Notebook) implementation to appendix section on combining with other packaging schemes #389
- Clarified mandatory metadata for the Root Data Entity #404
- Many sections reviewed to improve language and examples #378 #382 #404 #410 #411 #412 #413 #414 #415 #418 #425
- Clarified that the RO-Crate Metadata Descriptor MUST have
Contributed pull requests
- Update introduction.md by @nsjuty in #246
- Minor review updates for JSON-LD appendix by @a-mile in #252
- Cosmetic fixes to the examples by @jmfernandez in #254
- A few minor updates to Profiles text by @ptsefton in #250
- Review 1.2 draft by @simleo in #244
- Terminology: "RO-Crate Metadata Document" instead of "Metadata File" by @ptsefton in #248
- Reviewed issues #178 and #182 by @ptsefton in #249
- Add DefinedTerm for Profiles vocabulary, PCDM and cite-as by @stain in #256
- Add RepositoryFile to the context by @simleo in #257
- Specify how cite-as and Signposting should be used by @stain in #255
- List required properties for entities by @stain in #260
- contentUrl for direct download, add section on Converting to Attached RO-Crate by @stain in #259
- update of changelog in progress by @nsjuty in #261
- update describo information by @marcolarosa in #267
- OR2023 presentations by @stain in #271
- Profiles for ISA and ARC by @floWetzels in #270
- Add Sciebo-RDS to Tools by @stain in #272
- Clarifying the dataPublished requirement by @ptsefton in #273
- Add EGI AppDB to website by @stain in #280
- Update outreach.md by @CaroleGoble in #285
- Fixes #265 -- removed citation text from identifier example and added… by @ptsefton in #284
- Updated ARC Profile by @floWetzels in #290
- Update outreach.md by @CaroleGoble in #289
- Add geosparql vocabulary terms by @stain in #291
- Update tutorials page by @elichad in #293
- add example for directories on the web to specification by @dnlbauer in #292
- Fix unreadable SVG by @elichad in #295
- Trying again, how to do geolocation using asWKT -- addresses #266 by @ptsefton in #288
- Add Autosubmit use case with climate workflows and HPC using RO-Crate. by @kinow in #281
- Tightening up wording around data entities -- we had not actual said … by @ptsefton in #278
- Soften Profile inheritence rules by @stain in #262
- Made the language about hybrid attached/detatched crates stronger by @ptsefton in #299
- Migrate to new website by @elichad in #301
- Show RO-Crate icon in link previews by @elichad in #302
- Update favicons and redirects by @elichad in #312
- COMPSs RO-Crate use case by @rsirvent in #313
- update describo links by @marcolarosa in #321
- Avoid importing Google fonts from URL by @elichad in #320
- COMPSs use case small fixes by @rsirvent in #322
- COMPSs use case: Typo and small fixes by @rsirvent in #324
- Updated profiles page with bugfixes in ISA profile by @floWetzels in #325
- Use relative path for fonts by @elichad in #323
- Fix incorrectly formatted links in use cases; fix color contrast for inline code by @elichad in #318
- Improve visibility of child spec pages by @elichad in #333
- Add ro-crate-zenodo and ro-crate-inveniordm tools to list by @elichad in #332
- Revert to ETT footer and customise it with YAML/CSS by @elichad in #331
- Use cases 2024 07 by @ptsefton in #329
- Add getting started links to RO-Crate homepage by @elichad in #334
- Update dataplant.md by @stain in #346
- Include spec pages in search by @elichad in #347
- Add info about regional drop-ins by @elichad in #352
- Add Codemeta terms by @stain in #276
- How to reference and retrieve another RO-Crate by @stain in #296
- Fix minor errors in spec by @elichad in #355
- Updated WRROC paper reference by @rsirvent in #358
- Fix symlink permissions for content negotiation by @elichad in #361
- Update Bioschemas properties namespace by @elichad in #360
- Makefile for simplifying release process - but which rochtml? by @stain in #356
- added roc-validator by @stain in #363
- Added WfExS preprint by @stain in #364
- Added TWDG talks by @stain in #366
- Updated ARC related profiles by @floWetzels in #369
- Added Marc's video TDWG 2022 by @stain in #367
- Add use case page: Reproducible XAFS Analyses by @elichad in #375
- Update RO-Crate poster version and use DOIs by @elichad in #373
- Remove heuristic for nested ro-crate metadata files by @stain in #365
- Makefile updates for 1.2-DRAFT by @elichad in #376
- Minor grammar, style, and clarity improvements in spec - sections Introduction to Data Entities by @elichad in #378
- Add new contributors to team by @elichad in #374
- Minor grammar, style, and clarity improvements in spec - sections Contextual Entities to Workflows and Scripts by @elichad in #382
- add @AndreasMeier12 to team by @elichad in #383
- doc: packaging: add ELN implementation note in appendix by @NicolasCARPi in #389
- Add RdfCrate to
tools_list
by @multimeric in #397 - Attached detached lite by @ptsefton in #390
- Attempt to clarify Attached vs Detatched #381 by @ptsefton in #388
- Make clarifications in 1.2 text by @elichad in #404
- Update section on referencing other RO-Crates by @elichad in #405
- Add localPath to context and docs by @elichad in #406
- Clarify guidance around where and how to declare profile conformance by @elichad in #407
- Data entities: fix typos and formatting by @simleo in #411
- Review Contextual Entities by @simleo in #412
- Review Root Data Entity by @simleo in #414
- Structure review by @simleo in #410
- JSON and non-visible syntax review by @ACz-UniBi in #415
- Review metadata by @simleo in #413
- update about and create technical ro-crate page by @douglowe in #417
- fix typo -
ro-crate-preview-files
->ro-crate-preview_files
by @elichad in #418 - Add recent publications from ReXAFS and BioHackathon by @elichad in #419
- Describe limitations of SPARQL query for finding Root Data Entity by @elichad in #421
- Fix RDF triple loading example by @simleo in #425
- Clarify when File/Dataset entities are and are not data entities by @elichad in #426
New Contributors
- @a-mile made their first contribution in #252
- @marcolarosa made their first contribution in #267
- @floWetzels made their first contribution in #270
- @CaroleGoble made their first contribution in #285
- @elichad made their first contribution in #293
- @dnlbauer made their first contribution in #292
- @kinow made their first contribution in #281
- @NicolasCARPi made their first contribution in #389
- @multimeric made their first contribution in #397
- @ACz-UniBi made their first contribution in #415
- @douglowe made their first contribution in #417
Full Changelog: 1.1.3...1.2.0