Ontologie
Formale Wissensstruktur mit Klassen, Eigenschaften und Relationen.
| Formalität | Leichtgewichtig (DB-basiert) |
|---|---|
| Speicherung | MariaDB |
| Relationsextraktion | Automatisch via LLM |
| Visualisierung | Graph (Vanilla JS) |
| Export | Nein (kein OWL/RDF) |
Klassen-Struktur
Person
├── Eigenschaften: name, wirkungsbereich
└── Relationen:
├── verfasste → Werk
└── beeinflusste → Person
Konzept
├── Eigenschaften: name, definition
└── Relationen:
├── gehört_zu → Konzept
└── nutzt → Methode
Werk
├── Eigenschaften: titel, jahr, typ
└── Relationen:
├── behandelt → Konzept
└── verfasst_von → Person
Relationstypen
| Relation | Beschreibung |
|---|---|
| AUTHORED_BY | Person verfasste Werk |
| INFLUENCED | Person beeinflusste Person/Konzept |
| PART_OF | Konzept ist Teil von |
| APPLIES | Methode wendet Konzept an |
| CONTRADICTS | Konzept widerspricht Konzept |
| EXTENDS | Konzept erweitert Konzept |
| CITES | Werk zitiert Werk |
| SYNONYM_OF | Entität ist Synonym |
| RELATED_TO | Allgemeine Beziehung |
Datenbank-Schema (ki_content)
ontology_classes (
id INT PK AUTO,
name VARCHAR(255) UNIQUE,
parent_class_id INT FK (self-ref),
description TEXT,
properties LONGTEXT (JSON),
created_at DATETIME
)
entity_classifications (
id INT PK AUTO,
entity_id INT FK,
ontology_class_id INT FK,
confidence FLOAT DEFAULT 1
)
entity_relations (
source_entity_id INT FK,
target_entity_id INT FK,
relation_type VARCHAR(100),
confidence FLOAT,
chunk_id INT FK (Herkunft)
)
LLM-Relationsextraktion
Analysiere den Text und identifiziere Relationen.
Text: {chunk_content}
Bekannte Entitäten: {entities}
Ausgabeformat JSON:
{
"relations": [
{
"source": "Carl Rogers",
"target": "Klientenzentrierte Therapie",
"type": "AUTHORED_BY",
"confidence": 0.92
}
]
}
Graph-Visualisierung
Interaktiver Graph mit Vanilla JS:
- Knoten = Entitäten (farbcodiert nach Typ)
- Kanten = Relationen (beschriftet)
- Zoom, Pan, Filter
- Click = Details anzeigen