The central, growing corpus of ontologies for the Modeled Information Format
(MIF). An ontology here is one model read two ways: the *.ontology.yaml a
person reads and the *.ontology.jsonld a parser resolves. It types MIF
memories so a fact recorded in one domain means the same thing everywhere it
travels.
A domain does not invent its own vocabulary. It extends a shared base and adds
only what is its own.
New here? Start with the ontology model for the why, then author your first ontology for the how.
Every ontology is one flat pair of files under ontologies/: the
<name>.ontology.yaml a person reads and the generated <name>.ontology.jsonld
a parser resolves.
| Layer | Files | What it is |
|---|---|---|
| Base | mif-base.ontology.yaml |
The knowledge triad (_semantic, _episodic, _procedural) and the core traits timestamped, confidence, provenance |
| Shared traits | shared-traits.ontology.yaml |
Cross-domain trait mixins (located, measured, auditable, lifecycle, and more) every domain can compose |
| Intermediate bases | engineering-base, mif-generic |
engineering-base adds shared engineering supertypes; mif-generic adds always-on generic entity types |
| Domain ontologies | ontologies/*.ontology.yaml |
13 domain ontologies, including software-security, scientific, regenerative-agriculture, regulatory-legal, and trend-analysis |
The full catalog, with every ontology, version, namespace, and trait, is the corpus reference.
A domain ontology declares what it builds on, then defines its own entity types by composing inherited traits:
ontology:
id: regenerative-agriculture
version: "0.1.0"
extends:
- mif-base # the namespace triad + core traits
- shared-traits # the cross-domain mixins
entity_types:
- name: field
base: semantic
traits: [bounded, measured, seasonal] # inherited from shared-traits
schema:
required: [name, acres, farm_id]
properties:
acres: { type: number }Traits, namespaces, relationships, and discovery patterns are inherited; entity
types are not, so each ontology defines its own. See
the ontology model for the reasoning, and
ADR 0001 for why
base-type namespaces carry the _ prefix.
A memory then names the ontology it conforms to:
ontology:
id: regenerative-agriculture
version: "0.1.0"
namespace: _semantic/entitiesOrganized by Diátaxis: learning, tasks, reference, and understanding.
| Mode | Document |
|---|---|
| Tutorial | Author your first ontology |
| How-to | Add a domain ontology · Submit an ontology |
| Reference | Ontology corpus reference |
| Explanation | The ontology model |
| Runbooks | Release the corpus · Diagnose a CI gate failure |
| Decisions | ADR 0001: underscore-prefixed base namespaces |
New ontologies and improvements are welcome. The submission guide walks the full path: author, validate, open a PR, pass the gates, and release.
Releases ride the org's attested release pipeline: every published artifact carries SLSA provenance and an SBOM, every security gate verdict is signed, and publication is fail-closed on verification. The mechanics live in the attested pipeline and the gates reference; the operational steps are the release runbook.
MIT.
