FOXDEN Logo FOXDEN

FAIR Open-Science Extensible Data Exchange Network

FOXDEN Schemas

While FOXDEN accepts metadata records in JSON format, we enforce metadata schemas to ensure consistency across users’ records. At CHESS, individual beamlines provide and control their own schema files. Note that we separate metadata schema files from provenance data. The former defines high-level metadata stored in a document-oriented database, whereas provenance records are stored in a relational database with schemas defined by the FOXDEN development team.

FOXDEN Metadata Schemas

A schema file is a JSON list of records, where each record should provide the following attributes:

For example, here is a schema definition file:

[
  {
    "file": "/path/to/embedded/schema.json"
  },
  {
    "key": "did",
    "type": "string",
    "optional": true,
    "multiple": false,
    "section": "User",
    "description": "Dataset Identifier",
    "units": "",
    "placeholder": "CHESS"
  },
  {
    "key": "beamline",
    "type": "list_str",
    "optional": false,
    "multiple": false,
    "section": "User",
    "description": "Beamline description",
    "units": "",
    "placeholder": "3A",
    "value": ["1A3", "2A"]
  },
  ...
]

Concrete CHESS beamline schemas can be found in FOXDEN configuration repository over here.

FOXDEN Provenance Schemas

To manage provenance information, we rely on a relational database and thus use a relational schema for data provenance. The provenance attributes include:

Please refer to provenance schema for contrete details. We support SQLite and MySQL (MariaDB) backend.