Entität

Eine Entität ist die kleinste eigenständige Informations­einheit in Apparat. Sie steht in einer einzelnen Markdown-Datei.

Aufbau

Eine Entität besteht aus zwei Teilen — dem Frontmatter und dem Fließtext:

---
id: V1StGXRa
type: person
created: 2026-04-19
language: de
updated: '2026-04-19T14:22:10+02:00'
title: Maria Beispiel
tags:
  - kollegin
  - wcag
---

# Maria Beispiel

Maria arbeitet seit 2022 als Accessibility-Spezialistin bei einer Agentur
in Berlin. Kennengelernt beim WCAG-Workshop im März.

Pflichtfelder

Jede Entität braucht vier Felder:

Optionale Standard-Felder

Eigene Felder

Alles andere ist dir überlassen. Du kannst jederzeit weitere Felder hinzufügen:

---
id: V1StGXRa
type: person
created: 2026-04-19
language: de
title: Maria Beispiel
birthday: 1982-03-15
residence: Berlin
languages: [de, en, fr]
---

Apparat liest diese Felder ein, legt sie am Graph-Knoten ab und macht sie für Suchen verfügbar. Ein festes Schema gibt es nicht.

Felder dürfen verschachteln (eine Map, darin wieder Schlüssel/Werte), aber nur bis zu einer maximalen Tiefe von drei Ebenen — ein einfacher Wert, eine Map, eine Map in der Map. Tiefer wird bewusst nicht unterstützt: so tief verschachtelte Metadaten gehören eher in den Fließtext. Der Grenzwert lässt sich pro Installation über APPARAT_FRONTMATTER_MAX_DEPTH anpassen; der Editor verweigert das Speichern, wenn eine Notiz tiefer würde.

Beziehungsfelder

Verbindungen zu anderen Entitäten werden als verbhafte Frontmatter-Felder ausgedrückt:

works_at: "[Organisation XY](./2023-05-01--organisation-xy--Qw9pLm2n.md)"
knows:
  - "[Max Mustermann](./2024-02-14--max-mustermann--Bx7tYu3v.md)"
  - "[Anna Schmidt](./2025-08-09--anna-schmidt--Fg6hJk4l.md)"

Eine Beziehung kann zusätzliche, frei wählbare Felder tragen — wann sie begann, in welcher Rolle, mit welchen Konditionen. Dafür wird der Markdown-Link durch eine YAML-Map mit target: plus den Zusatzfeldern ersetzt:

works_at:
  target: Qw9pLm2n
  since: 2019
  role: lead

Die Zusatzfelder fließen sowohl in die Antworten des Chats als auch in die semantische Suche ein — eine Frage wie „wer arbeitet seit 2019 bei Tollwerk" findet so direkt einen Treffer.

Beziehungen sind gerichtet — du schreibst sie nur einmal, bei der Entität von der aus sie ausgehen. Apparat berechnet die umgekehrte Richtung automatisch, sobald die Graph-Schicht aktiv ist.

Dateiname

Eine Entität landet unter content/ im Vault, mit einem sprechenden Dateinamen nach dem Schema:

YYYY-MM-DD--slug--nanoid.md

Zum Beispiel: 2026-04-19--maria-beispiel--V1StGXRa.md

Das Datum und der Slug sind rein kosmetisch — Apparat identifiziert Entitäten ausschließlich über die NanoID am Ende. Du darfst den Slug also umbenennen, ohne dass irgendein Link kaputtgeht. Die NanoID bleibt gleich, und Apparat findet die Datei weiter.

Was passiert, wenn eine Datei kaputt ist?

Wenn eine Markdown-Datei im content/-Verzeichnis nicht dem Schema entspricht — kein NanoID-Suffix, defektes Frontmatter, fehlendes Pflichtfeld — gilt sie als irregulär. Sie ist nicht über Links erreichbar, erscheint nicht im Graph und taucht nicht in der Suche auf, der Inhalt auf der Festplatte bleibt aber unverändert liegen.

vault irregular listet alle irregulären Dateien im Vault mit einem kurzen Befund pro Eintrag. entity import überführt eine irreguläre Datei — oder eine externe Markdown-Datei, die du neu aufnehmen willst — in den regulären Bestand: Pflichtfelder werden interaktiv abgefragt, NanoID vergeben (oder erhalten, falls bereits im Dateinamen), Dateiname ans Schema angepasst. vault validate meldet dieselben Zustände zusätzlich als Hard-Rule-Findings, wenn du sie im Rahmen eines kompletten Konventions-Checks sehen willst.