{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"doc\": {\n \"id\": 125,\n \"parent_id\": 100,\n \"slug\": \"taxonomie\",\n \"path\": \"\/prozesse\/rag-prozess\/taxonomie\",\n \"title\": \"Taxonomie\",\n \"description\": \"Phase 9: Hierarchische Ordnungsstruktur für Ontologie-Klassen\",\n \"content\": \"<h2>Taxonomie (Phase 9)<\/h2>\\n\\n<h3>Ziel<\/h3>\\n<p>Ontologie-Klassen werden in eine explizite Ordnungsstruktur gebracht. Die Taxonomie definiert Hierarchien und Zugehörigkeiten zwischen Klassen. <strong>Sie dient der Navigation, Aggregation und systematischen Einordnung.<\/strong><\/p>\\n\\n<h3>Grundprinzip<\/h3>\\n<ul>\\n <li>Die Taxonomie operiert <strong>ausschließlich auf Ontologie-Klassen<\/strong><\/li>\\n <li>Sie ordnet Klassen, nicht Entitäten und nicht Aussagen<\/li>\\n <li>Taxonomische Beziehungen sind strukturierend, nicht interpretierend<\/li>\\n<\/ul>\\n\\n<h3>Taxonomische Beziehungen<\/h3>\\n<p>Erlaubte Beziehungstypen sind explizit definiert:<\/p>\\n<table>\\n <thead><tr><th>Beziehung<\/th><th>Bedeutung<\/th><th>Beispiel<\/th><\/tr><\/thead>\\n <tbody>\\n <tr><td><strong>ist-ein<\/strong><\/td><td>Spezialisierung\/Generalisierung<\/td><td>Skalenfrage ist-ein Intervention<\/td><\/tr>\\n <tr><td><strong>Teil-von<\/strong><\/td><td>Komposition\/Aggregation<\/td><td>Auftragsklärung Teil-von Coaching-Prozess<\/td><\/tr>\\n <tr><td><strong>gehört-zu<\/strong><\/td><td>Zugehörigkeit\/Kontext<\/td><td>Wunderfrage gehört-zu Lösungsfokussierung<\/td><\/tr>\\n <\/tbody>\\n<\/table>\\n<p><strong>Andere Beziehungstypen sind in der Taxonomie nicht zulässig.<\/strong><\/p>\\n\\n<h3>Aufbau der Hierarchie<\/h3>\\n<ul>\\n <li>Ontologie-Klassen werden hierarchisch eingeordnet<\/li>\\n <li><strong>Zyklen sind unzulässig<\/strong><\/li>\\n <li>Mehrfachvererbung ist nur erlaubt, wenn fachlich begründet<\/li>\\n <li>Die Hierarchie ist vollständig explizit gespeichert<\/li>\\n<\/ul>\\n\\n<hr>\\n<h2>Implementierung: Taxonomie-Mapping (2025-12-25)<\/h2>\\n\\n<h3>Übersicht<\/h3>\\n<p>Die Taxonomie-Mapping-Komponenten ermöglichen die Zuordnung von <strong>Chunks<\/strong> und <strong>Entities<\/strong> zu Taxonomie-Begriffen. Dies erweitert die klassische Taxonomie um eine semantische Verknüpfungsschicht.<\/p>\\n\\n<h3>Domain Layer<\/h3>\\n<table>\\n <thead><tr><th>Komponente<\/th><th>Datei<\/th><th>Beschreibung<\/th><\/tr><\/thead>\\n <tbody>\\n <tr>\\n <td><strong>ChunkTaxonomyMapping<\/strong><\/td>\\n <td><code>src\/Domain\/Entity\/ChunkTaxonomyMapping.php<\/code><\/td>\\n <td>Entity für Chunk → Taxonomie-Term Zuordnung mit Confidence und Source<\/td>\\n <\/tr>\\n <tr>\\n <td><strong>EntityTaxonomyMapping<\/strong><\/td>\\n <td><code>src\/Domain\/Entity\/EntityTaxonomyMapping.php<\/code><\/td>\\n <td>Entity für Entity → Taxonomie-Term Zuordnung mit Relevance und Validierungsstatus<\/td>\\n <\/tr>\\n <tr>\\n <td><strong>Confidence<\/strong><\/td>\\n <td><code>src\/Domain\/ValueObject\/Confidence.php<\/code><\/td>\\n <td>Value Object für Konfidenzwerte (0.0-1.0) mit Hilfsmethoden<\/td>\\n <\/tr>\\n <tr>\\n <td><strong>MappingSource<\/strong><\/td>\\n <td><code>src\/Domain\/ValueObject\/MappingSource.php<\/code><\/td>\\n <td>Enum für Mapping-Quelle: auto (Pipeline) oder manual (User)<\/td>\\n <\/tr>\\n <\/tbody>\\n<\/table>\\n\\n<h3>Repository Interfaces<\/h3>\\n<table>\\n <thead><tr><th>Interface<\/th><th>Datei<\/th><th>Methoden<\/th><\/tr><\/thead>\\n <tbody>\\n <tr>\\n <td><strong>ChunkTaxonomyRepositoryInterface<\/strong><\/td>\\n <td><code>src\/Domain\/Repository\/<\/code><\/td>\\n <td>findByChunkId, findByTaxonomyTermId, save, delete, deleteByChunkId, getUnmappedChunks, exists, countByTaxonomyTerm<\/td>\\n <\/tr>\\n <tr>\\n <td><strong>EntityTaxonomyRepositoryInterface<\/strong><\/td>\\n <td><code>src\/Domain\/Repository\/<\/code><\/td>\\n <td>findByEntityId, findByTaxonomyTermId, save, delete, deleteByEntityId, getUnvalidatedMappings, markAsValidated, exists, getValidationStats<\/td>\\n <\/tr>\\n <\/tbody>\\n<\/table>\\n\\n<h3>UseCases<\/h3>\\n<table>\\n <thead><tr><th>UseCase<\/th><th>Datei<\/th><th>Methoden<\/th><\/tr><\/thead>\\n <tbody>\\n <tr>\\n <td><strong>AssignChunkTaxonomyUseCase<\/strong><\/td>\\n <td><code>src\/UseCases\/Taxonomy\/<\/code><\/td>\\n <td>execute(chunkId, termId, confidence, source), batchAssign()<\/td>\\n <\/tr>\\n <tr>\\n <td><strong>AssignEntityTaxonomyUseCase<\/strong><\/td>\\n <td><code>src\/UseCases\/Taxonomy\/<\/code><\/td>\\n <td>execute(entityId, termId, relevance), validateMapping(), batchAssign(), getValidationStats()<\/td>\\n <\/tr>\\n <tr>\\n <td><strong>GetTaxonomyOverviewUseCase<\/strong><\/td>\\n <td><code>src\/UseCases\/Taxonomy\/<\/code><\/td>\\n <td>execute(), getUnmappedChunks(), getUnvalidatedEntityMappings(), getTaxonomyTermUsage(), getTermsWithUsage()<\/td>\\n <\/tr>\\n <tr>\\n <td><strong>EnhancedSearchUseCase<\/strong><\/td>\\n <td><code>src\/UseCases\/Search\/<\/code><\/td>\\n <td>execute(query, taxonomyTermIds, includeChildTerms), searchInTaxonomy(), getSuggestionsForQuery()<\/td>\\n <\/tr>\\n <\/tbody>\\n<\/table>\\n\\n<h3>Python Pipeline Integration<\/h3>\\n<p>Die Pipeline erweitert die Analyse um automatische Taxonomie-Zuweisungen:<\/p>\\n<pre>\\n# db.py - Neue Funktionen\\ndb.add_chunk_taxonomy(chunk_id, term_id, confidence, source)\\ndb.get_chunk_taxonomies(chunk_id)\\ndb.add_entity_taxonomy(entity_id, term_id, relevance, validated)\\ndb.get_entity_taxonomies(entity_id)\\ndb.get_taxonomy_terms()\\n\\n# document_analyzer.py - Neue Funktionen\\npropagate_taxonomy_to_chunks(document_id, taxonomy)\\nassign_entity_taxonomy(document_id, entities, taxonomy)\\n<\/pre>\\n\\n<h3>Datenfluss<\/h3>\\n<pre>\\nDokument-Analyse\\n │\\n ▼\\n┌─────────────────────────────────────────┐\\n│ classify_taxonomy() → document_taxonomy │\\n└─────────────────────┬───────────────────┘\\n │\\n ┌─────────────┴─────────────┐\\n ▼ ▼\\n┌───────────────────┐ ┌────────────────────┐\\n│ propagate_to_ │ │ assign_entity_ │\\n│ chunks() │ │ taxonomy() │\\n│ → chunk_taxonomy │ │ → entity_taxonomy_ │\\n│ │ │ mapping │\\n└───────────────────┘ └────────────────────┘\\n<\/pre>\\n\\n<h3>Contract: taxonomy-mapping-contract<\/h3>\\n<p>Qualitätsregeln für Taxonomie-Mappings (Contract ID: 12):<\/p>\\n<ul>\\n <li><strong>TMC-001:<\/strong> Chunk-Mappings: Confidence ∈ [0.0, 1.0]<\/li>\\n <li><strong>TMC-002:<\/strong> Chunk-Mappings: Source ∈ {auto, manual}<\/li>\\n <li><strong>TMC-003:<\/strong> Entity-Mappings: Relevance ∈ [0.0, 1.0]<\/li>\\n <li><strong>TMC-004-006:<\/strong> Referentielle Integrität (Chunks, Entities, Terms)<\/li>\\n<\/ul>\\n\\n<hr>\\n\\n<h3>Beispiel-Taxonomie<\/h3>\\n<pre>\\nCoaching-Konzept (Wurzel)\\n├── ist-ein → Methode\\n│ ├── ist-ein → Auftragsklärung\\n│ ├── ist-ein → Zielarbeit\\n│ └── ist-ein → Ressourcenaktivierung\\n├── ist-ein → Intervention\\n│ ├── ist-ein → Fragetechnik\\n│ │ ├── ist-ein → Skalenfrage\\n│ │ └── ist-ein → Wunderfrage\\n│ └── ist-ein → Reflexion\\n└── ist-ein → Haltung\\n ├── ist-ein → Ressourcenorientierung\\n └── ist-ein → Allparteilichkeit\\n<\/pre>\\n\\n<h3>Abgrenzung zur Ontologie<\/h3>\\n<ul>\\n <li>Die <strong>Ontologie<\/strong> definiert Klassen<\/li>\\n <li>Die <strong>Taxonomie<\/strong> definiert deren Ordnung<\/li>\\n <li>Eine Klasse existiert unabhängig von ihrer Position in der Taxonomie<\/li>\\n<\/ul>\\n\\n<h3>Abgrenzung zur Semantik<\/h3>\\n<ul>\\n <li>Taxonomie trägt keine Bedeutung im Aussagekontext<\/li>\\n <li>Sie beantwortet keine Wahrheitsfragen<\/li>\\n <li>Sie dient nicht der Interpretation einzelner Aussagen<\/li>\\n<\/ul>\\n\\n<h3>Versionierung<\/h3>\\n<ul>\\n <li>Änderungen an der Taxonomie sind versioniert<\/li>\\n <li>Frühere Versionen bleiben referenzierbar<\/li>\\n <li>Umbauten erfolgen durch Ergänzung, nicht durch stilles Überschreiben<\/li>\\n<\/ul>\\n\\n<h3>Persistenz<\/h3>\\n<ul>\\n <li>Taxonomische Beziehungen werden in der SQL-Datenbank gespeichert<\/li>\\n <li>Jede Beziehung referenziert stabile Klassen-IDs<\/li>\\n <li>Die Taxonomie ist Bestandteil des Graphmodells<\/li>\\n<\/ul>\\n\\n<h3>Ergebnisartefakte<\/h3>\\n<ul>\\n <li>Explizite Klassenhierarchie<\/li>\\n <li>Versionierte taxonomische Beziehungen<\/li>\\n <li>Navigierbare Ordnungsstruktur<\/li>\\n <li><strong>Chunk-Taxonomie-Mappings (neu)<\/strong><\/li>\\n <li><strong>Entity-Taxonomie-Mappings (neu)<\/strong><\/li>\\n<\/ul>\\n\\n<h3>Prüfbedingungen für Supervision<\/h3>\\n<ul>\\n <li>Keine taxonomische Beziehung existiert zwischen Entitäten<\/li>\\n <li>Die Hierarchie ist zyklusfrei<\/li>\\n <li>Jede Änderung ist versioniert und nachvollziehbar<\/li>\\n <li><strong>Alle Chunk-Mappings haben gültige Confidence-Werte (Contract TMC-001)<\/strong><\/li>\\n <li><strong>Alle Entity-Mappings haben gültige Relevance-Werte (Contract TMC-003)<\/strong><\/li>\\n<\/ul>\",\n \"status\": \"published\",\n \"sort_order\": 15,\n \"depth\": 2,\n \"created_at\": \"2025-12-24T10:15:57\",\n \"updated_at\": \"2025-12-25T20:21:35\"\n }\n}"
}
]
}