Intellectual Frontiers

The Metadata Profile Reuses Four Standards and Adds One Map

Draft metadata profile

This draft implements a recommendation of the program: that metadata be a profile of four existing standards. It is a draft: no repository has been checked against it yet, and the program will revise it after the first rerun study. A JSON Schema (a machine-readable list of the fields each file must have) that checks it is not written yet.

Each standard does one job

File Standard Fields a companion repository fills

CITATION.cff

Citation File Format 1.2.0

cff-version, title, authors, version, doi (the release’s DOI), date-released, license, and under references the paper and the data, each with its DOI

codemeta.json

CodeMeta 4.0

name, version, codeRepository, license, programmingLanguage, softwareRequirements (what the code needs to run), referencePublication (the paper)

ro-crate-metadata.json

RO-Crate 1.3

The files of the repository, the data or its link, and the declared outputs below

The DOI record

DataCite Metadata Schema 4.7

Filled in by the archive, such as Zenodo, when the release is archived; relatedIdentifiers links the release to the paper (IsSupplementTo) and to the data (References)

The declared outputs are one RO-Crate action

None of the four standards says which file makes which table and figure. RO-Crate can say it with things it already has: an action (CreateAction) whose instrument is the entry point, whose object is the data, and whose results are the output files, each described with the table or figure of the paper it holds.

{
  "@id": "#rerun",
  "@type": "CreateAction",
  "name": "Run the analysis from data to results",
  "instrument": {"@id": "code/run_all.R"},
  "object": [{"@id": "https://doi.org/10.xxxx/example-data"}],
  "result": [{"@id": "outputs/table-2.csv"}, {"@id": "outputs/figure-3.png"}]
},
{
  "@id": "outputs/table-2.csv",
  "@type": "File",
  "name": "Table 2",
  "description": "Table 2 of the paper: time in range by treatment group"
}

The DOIs and file names above are placeholders, not a real study.

The profile can’t show the code is correct

It doesn’t say whether the code is correct or whether the paper’s conclusions follow from the results. It only lets a person or a program find the six parts and compare a rerun with the paper.