Skip to content

nfdi4cat/CoreMeta4Cat

Build and test Deploy docs Copier Badge

CoreMeta4Cat

CoreMeta4Cat is a community-driven metadata standard for catalysis research, developed under NFDI4Cat. It defines the minimum information required to describe, share, and discover catalysis datasets in a FAIR-compliant way — Findable, Accessible, Interoperable, and Reusable.

CoreMeta4Cat extends DCAT-AP+ and ChemDCAT-AP, adding catalysis-specific metadata fields on top of their shared data model. Terminology is drawn from Voc4Cat, NFDI4Cat's controlled vocabulary for catalysis. Fields are classified as Mandatory, Recommended, or Optional.

Documentation: nfdi4cat.github.io/CoreMeta4Cat


Schema architecture

CoreMeta4Cat is implemented as a modular LinkML schema:

coremeta4cat.yaml              ← top-level aggregator + CatalysisDataset
  └── coremeta4cat_common.yaml          ← shared slots and enumerations
        ├── coremeta4cat_synthesis_ap.yaml       ← Synthesis + preparation methods
        ├── coremeta4cat_characterization_ap.yaml ← Characterization + techniques
        ├── coremeta4cat_reaction_ap.yaml        ← Reaction + reactor types
        └── coremeta4cat_simulation_ap.yaml      ← Simulation + methods

The schema generates Python datamodels, OWL ontology, JSON-LD, and TypeScript representations automatically. Explore the four data classes in the documentation: Synthesis · Characterization · Reaction · Simulation


Vocabulary reference workbook

A structured Excel overview of all metadata fields (grouped by data class, colour-coded by M/R/O) is available at docs/assets/coremeta4cat_vocabulary.xlsx. This file is generated automatically from the schema — the schema is the authoritative source.


Repository structure

src/coremeta4cat/
  schema/       ← LinkML schema modules (edit these)
  datamodel/    ← generated Python datamodels (do not edit)
scripts/
  generate_schema_docs.py  ← builds the interactive docs pages from schema
  generate_charts.py       ← builds sunburst hierarchy charts from schema
  schema_to_excel.py       ← exports schema → vocabulary workbook
  excel_to_schema.py       ← compares workbook against schema
docs/           ← MkDocs documentation source
tests/
  data/valid/   ← example YAML records used as unit tests
project/        ← generated artifacts (OWL, JSON-LD, TypeScript) — do not edit

Developer tooling

Tool Purpose
uv Dependency management and virtual environments
just Command runner — run just to list all available recipes
LinkML Schema language and code generation
pre-commit Linting, formatting, and datamodel regeneration on commit
MkDocs Material Documentation site

Key just commands:

just install         # install all dependencies
just test            # run schema validation + pytest + example tests
just gen-schema-docs # regenerate interactive documentation pages
just gen-charts      # regenerate sunburst hierarchy charts
just schema-to-excel # export schema to vocabulary workbook
just gen-doc         # regenerate MkDocs element pages
just site            # regenerate everything locally

Contributing

We welcome contributions of all kinds — from term feedback and bug reports to schema extensions and documentation improvements.

See CONTRIBUTING.md for developer guidelines, or visit the documentation for a beginner-friendly introduction.


Credits

This project uses the template linkml-project-copier published as doi:10.5281/zenodo.15163584.

About

A metadata reference collection for catalysis related research

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages