4.2 KiB
| doc_type | audience | scope | status | version | context |
|---|---|---|---|---|---|
| concept | architect, product_owner | graph, logic, provenance | active | 2.6 | Fachliche Beschreibung des Wissensgraphen: Knoten, Kanten, Provenance und Matrix-Logik. |
Konzept: Die Graph-Logik
Quellen: mindnet_functional_architecture.md, chunking_strategy.md
Mindnet ist keine reine Dokumentablage, sondern ein semantischer Graph. Dieses Dokument beschreibt, wie aus statischen Textdateien ein vernetztes Wissensobjekt wird.
1. Die Knoten (Nodes)
Der Graph besteht aus zwei Ebenen von Knoten.
1.1 Die Note (Das Fachobjekt)
Eine Note repräsentiert ein atomares Konzept (z.B. "Projekt Alpha").
- Eigenschaften: Titel, Typ, Tags, Erstellungsdatum.
- Rolle: Sie ist der Container für Metadaten und steuert via
type, wie der Inhalt verarbeitet wird (siehetypes.yaml). - Identität: Definiert durch eine deterministische UUIDv5.
1.2 Der Chunk (Das Suchobjekt)
Da LLMs (Large Language Models) nicht unendlich viel Text auf einmal lesen können, werden Notes in kleinere Segmente (Chunks) zerlegt.
- Eigenschaften: Vektor (Embedding 768d), Textfenster, Link zum Vorgänger/Nachfolger.
- Rolle: Dies sind die eigentlichen Treffer bei einer Suche.
- Hierarchie: Jeder Chunk gehört streng zu einer Note (
belongs_to).
2. Die Kanten (Edges)
Kanten machen aus isolierten Informationen Wissen. Mindnet nutzt gerichtete Kanten mit semantischer Bedeutung.
2.1 Semantische Typen
| Kanten-Typ | Frage, die er beantwortet | Beispiel |
|---|---|---|
references |
Worüber wird gesprochen? | Text erwähnt "Python". |
depends_on |
Was ist Voraussetzung? | Projekt braucht "Budget". |
caused_by |
Warum ist das passiert? | Bug durch "Commit X". |
blocks |
Was steht im Weg? | Risiko blockiert "Release". |
based_on |
Worauf fußt das? | Erfahrung basiert auf "Wert Y". |
derived_from |
Woher kommt das? | Prinzip stammt aus "Buch Z". |
related_to |
Was ist ähnlich? | "Hund" ist verwandt mit "Wolf". |
solves |
Was ist die Lösung? | "Qdrant" löst "Vektorsuche". |
2.2 Provenance (Herkunft & Vertrauen)
Nicht alle Kanten sind gleich viel wert. Mindnet unterscheidet in v2.6 drei Qualitätsstufen (Provenance), um Konflikte aufzulösen.
1. Explicit (Der Mensch hat es gesagt)
- Quelle: Inline-Links (
[[rel:...]]) oder Wikilinks im Text. - Vertrauen: Hoch (1.0).
- Bedeutung: Dies ist hartes Faktenwissen. "Ich habe diesen Link bewusst gesetzt."
2. Smart (Die KI hat es bestätigt)
- Quelle: Smart Edge Allocation (WP15).
- Vertrauen: Mittel (0.9).
- Bedeutung: Ein LLM hat geprüft, ob der Link im Kontext dieses Textabschnitts wirklich relevant ist. Dies filtert "Rauschen" heraus (z.B. Links im Footer, die nichts mit dem Absatz zu tun haben).
3. Rule (Die Regel hat es vermutet)
- Quelle:
types.yamlDefaults. - Vertrauen: Niedrig (0.7).
- Bedeutung: Eine Heuristik. "Weil es ein Projekt ist, nehmen wir an, dass es von allen erwähnten Technologien abhängt."
3. Matrix-Logik (Kontext-Sensitivität)
Mit WP11 wurde eine Intelligenz eingeführt, die Kanten-Typen nicht nur anhand des Quell-Typs, sondern auch anhand des Ziel-Typs bestimmt ("Matrix").
Logik-Beispiele:
-
Quelle
experience→ Zielvalue- Standard:
references - Matrix:
based_on(Erfahrungen basieren auf Werten).
- Standard:
-
Quelle
principle→ Zielsource(Buch)- Standard:
references - Matrix:
derived_from(Prinzipien stammen aus Quellen).
- Standard:
-
Quelle
project→ Zieltool- Standard:
references - Matrix:
uses(Projekte nutzen Tools).
- Standard:
Nutzen: Dies erlaubt im Chat präzise Fragen wie: "Auf welchen Werten basiert diese Entscheidung?" (Suche nach eingehenden based_on Kanten).
4. Idempotenz & Konsistenz
Das System garantiert fachliche Konsistenz auch bei mehrfachen Importen.
- Stabile IDs: Importiert man dieselbe Datei zweimal, ändern sich die IDs der Knoten nicht.
- Keine Duplikate: Kanten werden dedupliziert. Die "stärkere" Quelle (Explicit > Smart > Rule) gewinnt.
- Lösch-Garantie: Wenn eine Notiz gelöscht wird, verschwinden auch alle ihre Chunks und ausgehenden Kanten (via
--sync-deletes).