Skip navigation

JSON metadata example

This example shows how the elements of the Core dataset metadata profile can be represented in a structured JSON record. It illustrates the use of objects, arrays, identifiers, controlled values and relationships between a dataset and other research outputs.

Use the example as a starting point for preparing machine-readable metadata, exchanging records between systems or developing automated research data workflows.

ChatGPT Image 19 лип. 2026 р., 19_20_15 (8)

Resource information

Resource type

Completed metadata example

Intended users

Researchers, data curators, developers and data stewards

Recommended use

Metadata exchange, automated workflows, FAIR packaging and system integration

Status

Illustrative example of the Competence Center

Download the JSON metadata example

Download the completed example to examine the structure or use the empty template as a starting point for your own metadata record.

What does this example represent?

The example represents metadata about a dataset as a hierarchy of structured fields. General dataset information is recorded at the top level, while repeatable or complex entities such as creators, funding references, dates and related outputs are represented as arrays of nested objects.

JSON is a representation format, not a metadata standard

JSON defines how information is structured for machine processing. The meaning and requirements of the fields are defined by the metadata profile, repository or exchange specification with which the JSON record is used.

What the example covers

The record groups core dataset metadata into four machine-readable information areas.

Dataset identification

Title, resource type, description, version, publication year, persistent identifier and recommended citation.

People and organisations

Creators, contributors, ORCID identifiers, affiliations, organisation identifiers and contact information.

Scientific context

Keywords, scientific domain, methods, dates, funding references and relationships to publications, software and projects.

Access and reuse

File formats, access category, licence, rights information, sensitive-data status and conditions for reuse.

Complete JSON metadata example

The values below are illustrative and must be replaced with information about the actual dataset.

{
  "metadata_profile": {
    "name": "Core dataset metadata profile",
    "version": "1.0",
    "language": "en"
  },
  "title": "Simulation data for silicon carbide structures",
  "resource_type": "Dataset",
  "description": "Input structures, calculation parameters and output data from computational modelling of silicon carbide.",
  "version": "1.0",
  "publication_year": 2026,
  "identifier": {
    "identifier": "10.xxxx/example.dataset",
    "identifier_type": "DOI"
  },
  "creators": [
    {
      "name": "Petrenko, Olena",
      "given_name": "Olena",
      "family_name": "Petrenko",
      "orcid": "0000-0002-1825-0097",
      "affiliations": [
        {
          "name": "National Academy of Sciences of Ukraine",
          "ror": "[ROR identifier]"
        }
      ]
    }
  ],
  "contributors": [
    {
      "name": "Example Contributor",
      "contributor_type": "DataCurator",
      "orcid": ""
    }
  ],
  "contact_point": {
    "name": "Dataset contact",
    "email": "data.contact@example.org"
  },
  "keywords": [
    "silicon carbide",
    "computational materials science",
    "density functional theory",
    "research data"
  ],
  "scientific_domains": [
    "Materials science",
    "Computational physics"
  ],
  "dates": [
    {
      "date": "2026-04-12",
      "date_type": "Created"
    },
    {
      "date": "2026-07-22",
      "date_type": "Updated"
    }
  ],
  "methods": {
    "summary": "The dataset was produced using electronic-structure calculations and subsequent data processing.",
    "documentation": "README.md",
    "provenance_record": "provenance/provenance.json"
  },
  "funding_references": [
    {
      "funder_name": "Example funding organisation",
      "award_title": "Example research project",
      "award_number": "PROJECT-2026-001"
    }
  ],
  "formats": [
    "text/csv",
    "application/json",
    "chemical/x-cif",
    "text/plain"
  ],
  "related_identifiers": [
    {
      "identifier": "10.xxxx/example.article",
      "identifier_type": "DOI",
      "relation_type": "IsSupplementTo",
      "resource_type": "JournalArticle"
    },
    {
      "identifier": "https://example.org/software",
      "identifier_type": "URL",
      "relation_type": "IsProducedBy",
      "resource_type": "Software"
    }
  ],
  "access_rights": "open",
  "licence": {
    "name": "Creative Commons Attribution 4.0 International",
    "identifier": "CC-BY-4.0"
  },
  "rights_holder": "Dataset creators",
  "sensitive_data": false,
  "repository": {
    "name": "DataverseUA",
    "landing_page": "[Dataset landing page]"
  },
  "recommended_citation": "Petrenko, O. (2026). Simulation data for silicon carbide structures. DataverseUA. https://doi.org/10.xxxx/example.dataset"
}

How JSON elements are used

Use the appropriate JSON data type for each field and preserve the same structure throughout the record.

Element Purpose Example
String Text, identifiers, controlled terms and dates "resource_type": "Dataset"
Number Numeric values that should not be enclosed in quotation marks "publication_year": 2026
Boolean True or false conditions "sensitive_data": false
Object A group of related named fields "licence": { ... }
Array A repeatable ordered collection of values or objects "keywords": [ ... ]
null An explicitly unknown or unavailable value "size_bytes": null

Empty JSON template

Replace the empty values and example objects with metadata about your own dataset.

{
  "title": "",
  "resource_type": "Dataset",
  "description": "",
  "version": "",
  "publication_year": null,
  "identifier": {
    "identifier": "",
    "identifier_type": ""
  },
  "creators": [
    {
      "name": "",
      "given_name": "",
      "family_name": "",
      "orcid": "",
      "affiliations": [
        {
          "name": "",
          "ror": ""
        }
      ]
    }
  ],
  "contact_point": {
    "name": "",
    "email": ""
  },
  "keywords": [],
  "scientific_domains": [],
  "dates": [],
  "methods": {
    "summary": "",
    "documentation": "",
    "provenance_record": ""
  },
  "funding_references": [],
  "formats": [],
  "related_identifiers": [],
  "access_rights": "",
  "licence": {
    "name": "",
    "identifier": ""
  },
  "rights_holder": "",
  "sensitive_data": false,
  "repository": {
    "name": "",
    "landing_page": ""
  },
  "recommended_citation": ""
}

How to adapt the example

1. Copy

Download and copy the completed example or empty template.

2. Replace

Replace all illustrative values with information about your dataset.

3. Extend

Add repeatable objects and domain-specific metadata where needed.

4. Validate

Check JSON syntax, field structure, identifiers and controlled values.

5. Align

Confirm consistency with the README, manifest and repository record.

Validate the JSON file

A syntactically valid JSON file can be parsed by software without errors. Syntax validation does not by itself confirm that the metadata are complete or scientifically correct.

Using Python

python -m json.tool metadata.json

Using jq

jq empty metadata.json

A successful validation produces no syntax error. Field names, required elements and controlled values should be checked separately against the relevant metadata profile or JSON Schema.

Common JSON errors

Invalid quotation marks

JSON requires straight double quotation marks around field names and text values.

Trailing commas

Do not place a comma after the final item in an object or array.

Incorrect data types

Numbers and Boolean values should not be written as quoted text.

Comments in the file

Standard JSON does not permit explanatory comments inside the record.

Important notes

  • Save JSON files using UTF-8 encoding.
  • Use double quotation marks rather than typographic or single quotation marks.
  • Use stable and documented field names throughout all records.
  • Represent repeatable elements such as creators, keywords and related identifiers as arrays.
  • Do not use empty strings when a field can be omitted according to the applicable profile.
  • Use null only when the value is explicitly unknown, not as a replacement for every optional field.
  • Use standard date representations such as YYYY-MM-DD.
  • Keep identifiers separate from their identifier types.
  • Do not include passwords, access tokens or confidential personal information.
  • Ensure that JSON values remain consistent with the repository metadata, README and manifest.
metadata_profile_dft.json
{
  "resource_type": "dataset",
  "workflow_stage": "DFT calculation",
  "software": {
    "name": "Quantum ESPRESSO",
    "version": "7.2",
    "modules": ["pw.x", "ph.x"]
  },
  "material": {
    "system": "SiC",
    "composition": "SiC",
    "structure": "cubic"
  },
  "calculation": {
    "method": "DFT",
    "exchange_correlation": "PBE",
    "pseudopotentials": [],
    "k_points": "",
    "cutoff_energy": ""
  },
  "outputs": {
    "files": [],
    "properties": []
  },
  "provenance": {
    "created_by": "",
    "institution": "",
    "date": "",
    "related_publication": ""
  }
}

Related