Back to concepts

FAIR Metadata

FAIR: four requirements for knowledge objects that can be shared

Overview

FAIR is a simple four-question test: can someone else Find your work, Access it, Interoperate with it, and Reuse it? aDNA bakes that test into every piece of project knowledge — from individual tools to whole workflows — by wrapping them in a short metadata envelope. Without it, a piece of work stays trapped inside one project; with it, the same piece becomes discoverable, trustworthy, and composable by anyone who speaks the standard.

Why This Matters

Imagine a library with no catalog, no call numbers, and no standard format for book titles. The books are there, but nobody can find them, nobody knows if they can borrow them, and nobody knows if a book from one library will make sense in another. That’s what a knowledge project looks like without metadata standards.

FAIR fixes this with four simple questions:

  • Findable — Can someone searching for this knowledge discover it? (keywords, identifiers)
  • Accessible — Can they get to it once they’ve found it? (license, access protocol)
  • Interoperable — Can they use it alongside knowledge from other sources? (standard formats, schemas)
  • Reusable — Can they build on it for new purposes? (provenance, clear licensing)

These aren’t abstract ideals. They’re practical requirements with concrete fields in every aDNA object. A lattice without fair.license cannot be shared across instances — federation validation will reject it. A module without fair.keywords is invisible to search. FAIR metadata isn’t documentation overhead; it’s the infrastructure of trust.

How It Works

Two FAIR Formats

aDNA uses two representations of the same FAIR data, depending on context (§6):

FormatWhere UsedStructureExample
Flat FAIR.lattice.yaml, .dataset.yamlCompact, single-level fair: blockfair.license: "MIT"
Nested FAIRVault .md frontmatterHierarchical, grouped by principlefair.findable.keywords: [...]

The flat form is machine-optimized — compact for YAML transport. The nested form is human-optimized — grouped by the FAIR principle each field serves. Both are round-trip safe for core fields: flat → nested → flat produces identical output.

Field Reference

Flat FAIR FieldNested FAIR PathRequiredFAIR Principle
fair.keywordsfair.findable.keywordsYesFindable
fair.licensefair.accessible.licenseYesAccessible
fair.identifierfair.findable.identifierNoFindable
fair.creators(body section)NoAccessible
fair.provenancefair.reusable.provenanceNoReusable
fair.locationfair.accessible.locationNoAccessible
fair.access_protocolfair.accessible.access_protocolNoAccessible
fair.formatfair.interoperable.formatNoInteroperable
fair.schemafair.interoperable.schemaNoInteroperable

Two fields are always required: keywords (at least one) and license (SPDX identifier). These are the minimum viable FAIR envelope — enough for basic findability and legal clarity.

FAIR in Practice: The Federation Gate

FAIR metadata isn’t just descriptive — it’s a functional gate. When a lattice attempts to federate (share across aDNA instances), six readiness checks must pass (§11). Three are FAIR checks:

CheckFAIR FieldWhy
License declaredfair.licenseNo license = no legal basis for sharing
Keywords presentfair.keywordsNo keywords = invisible to search
Provenance documentedfair.provenanceNo provenance = unverifiable origin

A lattice can be technically perfect — valid schema, clean edges, efficient nodes — and still fail federation because it lacks a two-word license field. FAIR metadata is the difference between “works locally” and “works everywhere.”

Access Protocol Values

The access_protocol field uses a controlled vocabulary:

ValueMeaningExample
directLocal filesystem accessFiles in vault
apiREST or gRPC endpointCloud-hosted model
requestManual access request requiredRestricted dataset
httpsWeb-accessible URLPublic resource
containerDocker/OCI imagePackaged runtime

The Type Vocabulary Connection

The format field in FAIR metadata uses aDNA’s 19-type vocabulary (§7) — the same type system used for module inputs and outputs. This ensures interoperability: a dataset declared as pdb_structure format will match a module expecting pdb_structure input.

See It In Action

FAIR metadata is visible throughout this vault:

Lattice YAML files: Open any .lattice.yaml in what/lattices/examples/ — every one has a fair: block with license, keywords, creators, and provenance. This is flat FAIR in its natural habitat.

Context file frontmatter: Look at the frontmatter of any context file — e.g., what/context/adna_core/context_adna_core_paradigm_overview.md. The sources field is provenance. The tags field serves the findability role that keywords serves in YAML objects.

Federation examples: The docking_assessment example lattice at what/lattices/examples/ carries both fair and federation blocks — showing how FAIR metadata enables a lattice to move from one project to another with trust intact.

The FAIR mapping guide: The complete interconversion specification between flat and nested FAIR lives at what/context/adna_core/context_adna_core_fair_mapping.md — itself a context file demonstrating the optimization principles described in Context Optimization.

  • Lattice Composition — the workflow composition that FAIR metadata makes shareable and trustworthy
  • Ontology — the entity types (module, dataset, lattice) that carry FAIR envelopes
  • Context Commons — the vision of community-shared knowledge that FAIR principles enable
  • Open Standard — how FAIR metadata fits into aDNA’s broader open governance model