The RO Crate for a CodeRun.

An RO Crate is research object (RO) that has been packaged up, in this case as a zip file. This research object is centred around a CodeRun. All output DataProduct files are packaged up along with any other local files that were used to produce them. Also included in the RO Crate is the metadata file ro-crate-metadata.json. The ro-crate-metadata.json file is made available under the CC0 Public Domain Dedication. Please note individual files may have their own licenses. All of the packaged files are represented as File data entities in the metadata file.

External files may point directly to data, in which case they will be used directly as inputs to a CodeRun. External files will have a link to them in the metadata file, but will not be packaged in the zip file. However, it maybe that data has had to be extracted from an external file before it can be used by a CodeRun, i.e. from a journal article, In which case there will be an associated DataProduct that would have been made to contain the data so that it can be used in a CodeRun. If this is the case the relationship between the external file and DataProduct is modelled as a RO Crate ContextEntity of type CreateAction.

The CodeRun has been modelled as a RO Crate ContextEntity of type CreateAction, see software-used-to-create-files.

A CreateAction has instrument property, which represents the software used to generate the product. For our purposes instrument is the link to the repo.

CreateAction (CodeRun) properties:

  • instrument: the software used to generate the output
  • object: the input files
  • result: the output file
  • agent: the Author

The RO Crate is available as a zip file.

The contents of the ro-crate-metadata file can be viewed as JSON or JSON-LD.

Query parameters:

depth (optional): An integer used to determine how many code runs to include, the default is 1.

GET /api/ro-crate/code-run/1/
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "@context": [
        "https://w3id.org/ro/crate/1.1/context",
        {
            "sha1": "https://w3id.org/ro/terms/workflow-run#sha1"
        }
    ],
    "@graph": [
        {
            "@id": "./",
            "@type": "Dataset",
            "datePublished": "2024-05-19T16:59:27.024481",
            "publisher": "FAIR Data Pipeline",
            "name": "RO Crate for code run 1",
            "license": {
                "@id": "https://creativecommons.org/licenses/by/4.0/"
            },
            "hasPart": [
                {
                    "@id": "inputs/model_config/10dcfada1135420f3e4dd97b9b8ab4b45fd9ccc6.yaml"
                },
                {
                    "@id": "inputs/submission_script/f35c1cd83fbe1a458d71da1aae90ed2e8db2b031.sh"
                },
                {
                    "@id": "https://doi.org/10.1038/s41592-020-0856-2"
                },
                {
                    "@id": "outputs/fa2b738ff8363e84eb3ce5382545d79fd2528cc7.csv"
                },
                {
                    "@id": "outputs/eea65411916d24f0e34e578a172a7e66efcac145.png"
                }
            ]
        },
        {
            "@id": "ro-crate-metadata.json",
            "@type": "CreativeWork",
            "conformsTo": {
                "@id": "https://w3id.org/ro/crate/1.1"
            },
            "about": {
                "@id": "./"
            },
            "license": {
                "@id": "https://creativecommons.org/publicdomain/zero/1.0/"
            }
        },
        {
            "@id": "https://creativecommons.org/licenses/by/4.0/",
            "@type": "CreativeWork",
            "description": "Attribution 4.0 International",
            "identifier": "https://creativecommons.org/licenses/by/4.0/",
            "name": "CC BY 4.0"
        },
        {
            "@id": "https://creativecommons.org/publicdomain/zero/1.0/",
            "@type": "CreativeWork",
            "description": "CC0 1.0 Universal (CC0 1.0) Public Domain Dedication",
            "identifier": "https://creativecommons.org/publicdomain/zero/1.0/",
            "name": "CC0 Public Domain Dedication"
        },
        {
            "@id": "https://data.fairdatapipeline.org/api/code_run/1",
            "@type": "CreateAction",
            "name": "code run 1",
            "startTime": "2024-02-09T15:35:42.655339+00:00",
            "description": "SEIRS Model python",
            "agent": {
                "@id": "https://github.com/RyanJField"
            },
            "result": [
                {
                    "@id": "outputs/fa2b738ff8363e84eb3ce5382545d79fd2528cc7.csv"
                },
                {
                    "@id": "outputs/eea65411916d24f0e34e578a172a7e66efcac145.png"
                }
            ],
            "instrument": {
                "@id": "https://data.fairdatapipeline.org/data/ddcbb77a75b941b56417802bce20f2d9a7f32b26"
            },
            "object": [
                {
                    "@id": "inputs/model_config/10dcfada1135420f3e4dd97b9b8ab4b45fd9ccc6.yaml"
                },
                {
                    "@id": "inputs/submission_script/f35c1cd83fbe1a458d71da1aae90ed2e8db2b031.sh"
                },
                {
                    "@id": "https://doi.org/10.1038/s41592-020-0856-2"
                }
            ]
        },
        {
            "@id": "https://github.com/RyanJField",
            "@type": "Person",
            "name": "Ryan J Field"
        },
        {
            "@id": "https://data.fairdatapipeline.org/data/ddcbb77a75b941b56417802bce20f2d9a7f32b26",
            "@type": "SoftwareApplication",
            "url": "https://data.fairdatapipeline.org/data/ddcbb77a75b941b56417802bce20f2d9a7f32b26",
            "author": [
                {
                    "@id": "https://github.com/RyanJField"
                }
            ]
        },
        {
            "@id": "inputs/model_config/10dcfada1135420f3e4dd97b9b8ab4b45fd9ccc6.yaml",
            "@type": [
                "File",
                "SoftwareSourceCode"
            ],
            "name": "10dcfada1135420f3e4dd97b9b8ab4b45fd9ccc6",
            "description": "Working config.yaml location in datastore",
            "encodingFormat": "yaml",
            "sha1": "10dcfada1135420f3e4dd97b9b8ab4b45fd9ccc6",
            "author": [
                {
                    "@id": "https://github.com/RyanJField"
                }
            ]
        },
        {
            "@id": "inputs/submission_script/f35c1cd83fbe1a458d71da1aae90ed2e8db2b031.sh",
            "@type": [
                "File",
                "SoftwareSourceCode"
            ],
            "name": "f35c1cd83fbe1a458d71da1aae90ed2e8db2b031",
            "description": "Working script location in datastore",
            "encodingFormat": "text/x-sh",
            "sha1": "f35c1cd83fbe1a458d71da1aae90ed2e8db2b031",
            "author": [
                {
                    "@id": "https://github.com/RyanJField"
                }
            ]
        },
        {
            "@id": "https://doi.org/10.1038/s41592-020-0856-2",
            "@type": "File",
            "name": "Static parameters of the model",
            "datePublished": "2021-09-20 12:00:00+00:00",
            "author": [
                {
                    "@id": "https://github.com/RyanJField"
                }
            ]
        },
        {
            "@id": "outputs/fa2b738ff8363e84eb3ce5382545d79fd2528cc7.csv",
            "@type": "File",
            "name": "SEIRS_model/results/model_output/python",
            "encodingFormat": "text/csv",
            "sha1": "fa2b738ff8363e84eb3ce5382545d79fd2528cc7",
            "description": "SEIRS model results",
            "author": [
                {
                    "@id": "https://github.com/RyanJField"
                }
            ]
        },
        {
            "@id": "outputs/eea65411916d24f0e34e578a172a7e66efcac145.png",
            "@type": "File",
            "name": "SEIRS_model/results/figure/python",
            "encodingFormat": "image/png",
            "sha1": "eea65411916d24f0e34e578a172a7e66efcac145",
            "description": "SEIRS output plot",
            "author": [
                {
                    "@id": "https://github.com/RyanJField"
                }
            ]
        }
    ]
}