File Format
File Extensions
Section titled “File Extensions”| Extension | Format | MIME Type |
|---|---|---|
.md |
Markdown (canonical) | text/markdown; variant=mif |
.jsonld |
JSON-LD (derived projection) | application/ld+json; profile="https://mif-spec.dev" |
Concept files use the .md extension only. The derived JSON-LD projection uses .jsonld (never .md), so OKF’s *.md glob never ingests it.
Concept Identity
Section titled “Concept Identity”A concept’s OKF identity is its bundle-relative path minus the .md extension. The frontmatter id field MUST be a UUID, providing a stable identity that survives concept relocation; it is MIF-only and invisible to OKF.
File Naming
Section titled “File Naming”Human-readable, path-meaningful names are RECOMMENDED, since the OKF concept ID is derived from the path:
dark-mode-preference.mdThe UUID lives in frontmatter rather than the filename:
_semantic/preferences/dark-mode-preference.mdThe derived projection sits alongside as dark-mode-preference.jsonld.
Directory Structure
Section titled “Directory Structure”A MIF bundle SHOULD follow this structure:
bundle/├── .mif/ # MIF configuration│ ├── config.yaml # Bundle configuration│ ├── context.jsonld # Local JSON-LD context│ └── entities/ # Entity definitions│ ├── person/│ ├── organization/│ ├── technology/│ ├── concept/│ └── file/├── memories/ # Concept files│ ├── {namespace}/ # Namespace directories│ │ ├── {slug}.md # Canonical concept│ │ └── {slug}.jsonld # Derived projection│ └── ...└── README.md # Bundle documentation