View on GitHub

ARC RO-Crate Profile

Profiles for representing ARCs (Annotated Research Contexts) as RO-Crate.

ARC Datamap RO-Crate profile

Overview

This profile is an instantiation of the Semantic Designation profile, intended to represent the ARC datamap in the RO-Crate. The datamap contains contextual information for fragments within data files. Hence, these contextual information is represented as interpretations for the corresponding data entities.

To model data fragments, this profile extends the existing hierarchy at the bottom using the same mechanisms as in the normal RO-Crate data model: Data files are already referenced in their respective datasets through hasPart. Fragments are of type MediaObject (equivalent to File) and referenced by their parent file or fragment through hasPart.

Data Fragment Selector

We add the contextual information per entry in the datamap to the Dataset objects, conforming with the Semantic Designation Profile. Accordingly, the fragments and their information then reference each other.

Datamap

See our peer-reviewed publication for more information on the datamap and its usage: Fragment-level FAIRness

Detailed Description

We use MediaObject for data fragments and annotate them through descriptor objects for external metadata as described in the Semantic Designation Profile. Both objects reference each other. The Dataset object lists all datamap entries. Specifically, we plan the following:

flowchart TD

dataset[Datamap=Dataset]

DataFile[Data=File]
DataFragment[DataFragment=MediaObject]

desc[DataContext=Statement/ItemList]
prop[Interpretation=PropertyValue]

DataFile --hasPart--> DataFragment
dataset --hasPart--> DataFile

DataFragment --subjectOf--> desc
desc --about--> DataFragment

dataset --mentions--> desc

desc --itemListElement--> prop

Example Metadata File (ro-crate-metadata.json)

{
  "@context": [
    "https://w3id.org/ro/crate/1.2/context",
    {
      "Sample": "https://bioschemas.org/Sample",
      "LabProtocol": "https://bioschemas.org/LabProtocol",
      "LabProcess": "https://bioschemas.org/LabProcess",
      "computationalTool": "https://bioschemas.org/properties/computationalTool",
      "labEquipment": "https://bioschemas.org/properties/labEquipment",
      "reagent": "https://bioschemas.org/properties/reagent",
      "intendedUse": "https://bioschemas.org/properties/intendedUse",
      "executesLabProtocol": "https://bioschemas.org/properties/executesLabProtocol",
      "parameterValue": "https://bioschemas.org/properties/parameterValue",
      "columnIndex": "https://w3id.org/ro/terms/arc#columnIndex"
    }
  ],
  "@graph": [
    {
      "@id": "http://purl.obolibrary.org/obo/NCIT_C45253",
      "@type": "DefinedTerm",
      "name": "string",
      "termCode": "http://purl.obolibrary.org/obo/NCIT_C45253"
    },
    {
      "@id": "processed_data.csv#col=1",
      "@type": "File",
      "name": "processed_data.csv#col=1",
      "encodingFormat": "text/csv",
      "usageInfo": "https://datatracker.ietf.org/doc/html/rfc7111",
      "pattern": {
        "@id": "http://purl.obolibrary.org/obo/NCIT_C45253"
      },
      "subjectOf": {
        "@id": "#Descriptor_processed_data.csv#col=1"
      }
    },
    {
      "@id": "http://purl.obolibrary.org/obo/NCIT_C48150",
      "@type": "DefinedTerm",
      "name": "float",
      "termCode": "http://purl.obolibrary.org/obo/NCIT_C48150"
    },
    {
      "@id": "processed_data.csv#col=2",
      "@type": "File",
      "name": "processed_data.csv#col=2",
      "encodingFormat": "text/csv",
      "usageInfo": "https://datatracker.ietf.org/doc/html/rfc7111",
      "pattern": {
        "@id": "http://purl.obolibrary.org/obo/NCIT_C48150"
      },
      "subjectOf": {
        "@id": "#Descriptor_processed_data.csv#col=2"
      }
    },
    {
      "@id": "processed_data.csv#col=3",
      "@type": "File",
      "name": "processed_data.csv#col=3",
      "encodingFormat": "text/csv",
      "usageInfo": "https://datatracker.ietf.org/doc/html/rfc7111",
      "pattern": {
        "@id": "http://purl.obolibrary.org/obo/NCIT_C48150"
      },
      "subjectOf": {
        "@id": "#Descriptor_processed_data.csv#col=3"
      }
    },
    {
      "@id": "processed_data.csv",
      "@type": "File",
      "name": "processed_data.csv",
      "encodingFormat": "text/csv",
      "hasPart": [
        {
          "@id": "processed_data.csv#col=1"
        },
        {
          "@id": "processed_data.csv#col=2"
        },
        {
          "@id": "processed_data.csv#col=3"
        }
      ]
    },
    {
      "@id": "#Descriptor_processed_data.csv#col=1",
      "@type": [ "Statement", "ItemList" ],
      "about": {
        "@id": "processed_data.csv#col=1"
      },
      "itemListElement": [
        { "@id": "#Explication_processed_data.csv#col=1" }
      ]
    },
    {
      "@id": "#Descriptor_processed_data.csv#col=2",
      "@type": [ "Statement", "ItemList" ],
      "about": {
        "@id": "processed_data.csv#col=2"
      },
      "itemListElement": [
        { "@id": "#Explication_processed_data.csv#col=2" }
      ]
    },
    {
      "@id": "#Descriptor_processed_data.csv#col=3",
      "@type": [ "Statement", "ItemList" ],
      "about": {
        "@id": "processed_data.csv#col=3"
      },
      "itemListElement": [
        { "@id": "#Explication_processed_data.csv#col=3" }
      ]
    },
    {
      "@id": "#Explication_processed_data.csv#col=1",
      "@type": "PropertyValue",
      "name": "Explication",
      "value": "Protein identifier",
      "propertyID": "https://github.com/nfdi4plants/ARC-specification/blob/dev/ISA-XLSX.md#datamap-table-sheets",
      "valueReference": "http://purl.obolibrary.org/obo/NCIT_C165059",
      "alternateName": "protID"
    },
    {
      "@id": "#Explication_processed_data.csv#col=2",
      "@type": "PropertyValue",
      "name": "Explication",
      "value": "molecule count",
      "propertyID": "https://github.com/nfdi4plants/ARC-specification/blob/dev/ISA-XLSX.md#datamap-table-sheets",
      "unitCode": "http://purl.obolibrary.org/obo/NCIT_C68892",
      "unitText": "Millimole per Kilogram",
      "valueReference": "http://purl.obolibrary.org/obo/UO_0000192",
      "alternateName": "quant1"
    },
    {
      "@id": "#Explication_processed_data.csv#col=3",
      "@type": "PropertyValue",
      "name": "Explication",
      "value": "molecule count",
      "propertyID": "https://github.com/nfdi4plants/ARC-specification/blob/dev/ISA-XLSX.md#datamap-table-sheets",
      "unitCode": "http://purl.obolibrary.org/obo/NCIT_C68892",
      "unitText": "Millimole per Kilogram",
      "valueReference": "http://purl.obolibrary.org/obo/UO_0000192",
      "alternateName": "quant2"
    },
    {
      "@id": "LICENSE",
      "@type": "CreativeWork",
      "text": "ALL RIGHTS RESERVED BY THE AUTHORS"
    },
    {
      "@id": "./",
      "@type": "Dataset",
      "description": "An example of a ROCrate with a datamap, including annotation of a tabular data file.",
      "name": "ARC Datamap Crate Example",
      "hasPart": {
        "@id": "processed_data.csv"
      },
      "mentions": [
        {
          "@id": "#Descriptor_processed_data.csv#col=1"
        },
        {
          "@id": "#Descriptor_processed_data.csv#col=2"
        },
        {
          "@id": "#Descriptor_processed_data.csv#col=3"
        }
      ],
      "dateCreated": "2026-06-25T22:58:40.2416018",
      "license": {
        "@id": "LICENSE"
      }
    },
    {
      "@id": "ro-crate-metadata.json",
      "@type": "CreativeWork",
      "conformsTo": {
        "@id": "https://w3id.org/ro/crate/1.2"
      },
      "about": {
        "@id": "./"
      }
    }
  ]
}

Requirements

Dataset

Object containing and annotating data files and fragments. In the context of this profile, this object is used to represent the datamap and its entries.

Property Required Expected Type Description
@type MUST Text Must be ‘schema.org/Dataset’
@id MUST Text or URL Should be a subdirectory corresponding to this dataset.
hasPart SHOULD File The data files resulting from the processes performed in this dataset.
mentions COULD Text or schema.org/PropertyValue A fragment description entry from the datamap as a PropertyValue following the fragment description profile.

Data (File)

Describes and points to a Data file.

Property Required Expected Type Description
@type MUST Text Must be ‘File’ or ‘MediaObject’
@id MUST Text or URL Should be the path pointing to the file./
name MUST Text or URL The name of the file.
comment COULD schema.org/Comment Comment
encodingFormat COULD Text or URL Media format as a MIME type
hasPart COULD File The data fragments within this file. They must follow the Data Fragment profile.

Data Fragment

Describes and points to a Fragment of a Data file. In addition to the filepath, the @id property must contain a fragment selector(separated by a #) to point to the specific fragment within the file. The specifcation describing the fragment selector should be provided in the usageInfo property.

Property Required Expected Type Description
@type MUST Text Must be ‘File’ or ‘MediaObject’
@id MUST Text or URL Should be the path pointing to the file with a fragment selector attached.
usageInfo MUST Text or URL (Formal) Description of the fragment selector.
about SHOULD schema.org/PropertyValue The fragment description for this fragment. It must follow the fragment description profile.
pattern SHOULD schema.org/DefinedTerm Defines the shape or format of entries in this fragment.
name COULD Text or URL The name of the file.
comment COULD schema.org/Comment Comment
encodingFormat COULD Text or URL Media format as a MIME type

Fragment Descriptor

Adds further annotation to a Data file or a Fragment thereof.

Property Required Expected Type Description
@type MUST Text Must be [schema.org/Statement, schema.org/ItemList]
@id MUST Text or URL  
about MUST schema.org/MediaObject The described data fragement using a fragment selector, following the data fragment profile.
itemListElement MUST schema.org/PropertyValue The assertion described in the datamap entry.

Descriptor Assertion

The actual assertion of a datamap entry, describing the contents of a data fragment. It is represented as a PropertyValue object.

Property Required Expected Type Description
@type MUST Text Must be ‘schema.org/PropertyValue’
@id MUST Text or URL  
name MUST Text Must be "Explication"
propertyID MUST URL MUST be "https://purl.org/nfdi4plants/ontology/dpbo/DPBO_0000111"
value SHOULD Text Explication of the data fragment contents
valueReference SHOULD URL Value ontology reference
unitText SHOULD Text Unit of the data fragment
unitCode SHOULD URL Unit ontology reference
alternateName SHOULD Text The label of the fragment, e.g. a column header.
measurementMethod SHOULD Text Name of the tool used to create the data.
description SHOULD Text Can be used to describe further details of the fragment