ner relations
ner relations geht einen Schritt weiter als ner suggest: Statt einzelne Personen, Orte und Organisationen zu erkennen, erkennt es die Beziehungen zwischen ihnen. Aus „Maria Beispiel arbeitet bei Tollwerk" wird nicht nur der Hinweis auf die beiden Entitäten, sondern der gerichtete Vorschlag Maria Beispiel → arbeitet-bei → Tollwerk. Das Kommando liest den Body einer Entität, erkennt die genannten Entitäten, lässt daraus die ausgesprochenen Beziehungen ableiten und gibt sie dir im Terminal aus.
In der späteren Web-Oberfläche taucht dieselbe Mechanik im Beziehungen-Tab als Vorschlag auf. Im CLI ist es der manuelle Auslöser pro Entität.
Wofür ist das?
- Beziehungen nachtragen. Du hast eine Notiz, in der Zusammenhänge nur im Fließtext stehen — wer bei wem arbeitet, wer was geschrieben hat. Ein Aufruf zeigt dir, welche davon sich als Beziehung im Frontmatter festhalten lassen.
- Einen Befund reproduzieren. Im Editor ist ein Beziehungsvorschlag aufgetaucht, du willst ihn im Terminal nachvollziehen oder skripten.
Aufruf
apparat ner relations <entity-id> [--vault=<vault>]
Das Argument <entity-id> ist die NanoID der Entität, deren Body analysiert werden soll. Die --vault-Option folgt dem üblichen Apparat-Pattern: registrierter Vault-Name, absoluter oder relativer Pfad, oder Auto-Detection aus dem aktuellen Verzeichnis.
Ausgabe
Jede erkannte Beziehung wird als gerichtete Aussage ausgegeben — von links nach rechts gelesen: Quelle → Typ → Ziel.
Vault "Projekt-Notizen" — relation suggestions for Pr0j3ktN: - Maria Beispiel [person] (V1StGXRa) --works_at--> Tollwerk [organisation] (T0llW3rk) (×1)
Die Quelle links ist die Entität, in deren Frontmatter die Beziehung geschrieben würde — das grammatische Subjekt der Aussage. Diese Richtung ist bewusst festgelegt: „Quelle Typ Ziel" muss eine wahre Aussage über den Text sein. Warum die Beziehung beim Subjekt sitzt und nicht beim Ziel, erklärt Beziehungen bearbeiten.
Beide Enden einer angezeigten Beziehung sind Entitäten, die im Vault bereits existieren — eine Beziehung, deren Subjekt oder Ziel noch keine Entität ist, taucht in der Liste nicht auf. Die Zählung ×2 heißt: die Beziehung wird im Body zweimal ausgesprochen.
Übernommen wird nichts automatisch — welche Beziehung du anlegst, entscheidest du über entity link.
Beziehungstypen
Für den Typ (works_at, written_by, …) bevorzugt Apparat die Beziehungsnamen, die in deinem Vault bereits vorkommen — so bleibt das Vokabular konsistent, statt für dieselbe Sache zwei Namen zu führen. Nur wenn keiner der bestehenden passt, wird ein neuer, kurzer Name geprägt. Die Angleichung leicht abweichender Schreibweisen übernimmt beim Anlegen die Vokabular-Konsolidierung.
Voraussetzung
ner relations braucht zwei Dienste: die Spracherkennung (für die Entitäten im Text) und das Schreibmodell — dasselbe, das auch der Chat nutzt. Beide sind Teil des Standard-Compose-Stacks und laufen automatisch mit; das Kommando wird vom apparat-Wrapper im Web-Container des Mandanten ausgeführt, wo beide erreichbar sind.
Verhalten bei Ausfall
Ist die Spracherkennung nicht erreichbar, meldet das Kommando das mit einem Hinweis auf ner ping und Exit-Code 1. Fällt das Schreibmodell aus, bricht der Aufruf ebenfalls mit Exit-Code 1 ab. Das Schreiben und Lesen im Vault bleibt davon unberührt — nur der Beziehungsvorschlag fällt aus.