Taxonomie (Phase 9)

Ziel

Ontologie-Klassen werden in eine explizite Ordnungsstruktur gebracht. Die Taxonomie definiert Hierarchien und Zugehörigkeiten zwischen Klassen. Sie dient der Navigation, Aggregation und systematischen Einordnung.

Grundprinzip

Taxonomische Beziehungen

Erlaubte Beziehungstypen sind explizit definiert:

BeziehungBedeutungBeispiel
ist-einSpezialisierung/GeneralisierungSkalenfrage ist-ein Intervention
Teil-vonKomposition/AggregationAuftragsklärung Teil-von Coaching-Prozess
gehört-zuZugehörigkeit/KontextWunderfrage gehört-zu Lösungsfokussierung

Andere Beziehungstypen sind in der Taxonomie nicht zulässig.

Aufbau der Hierarchie


Implementierung: Taxonomie-Mapping (2025-12-25)

Übersicht

Die Taxonomie-Mapping-Komponenten ermöglichen die Zuordnung von Chunks und Entities zu Taxonomie-Begriffen. Dies erweitert die klassische Taxonomie um eine semantische Verknüpfungsschicht.

Domain Layer

KomponenteDateiBeschreibung
ChunkTaxonomyMapping src/Domain/Entity/ChunkTaxonomyMapping.php Entity für Chunk → Taxonomie-Term Zuordnung mit Confidence und Source
EntityTaxonomyMapping src/Domain/Entity/EntityTaxonomyMapping.php Entity für Entity → Taxonomie-Term Zuordnung mit Relevance und Validierungsstatus
Confidence src/Domain/ValueObject/Confidence.php Value Object für Konfidenzwerte (0.0-1.0) mit Hilfsmethoden
MappingSource src/Domain/ValueObject/MappingSource.php Enum für Mapping-Quelle: auto (Pipeline) oder manual (User)

Repository Interfaces

InterfaceDateiMethoden
ChunkTaxonomyRepositoryInterface src/Domain/Repository/ findByChunkId, findByTaxonomyTermId, save, delete, deleteByChunkId, getUnmappedChunks, exists, countByTaxonomyTerm
EntityTaxonomyRepositoryInterface src/Domain/Repository/ findByEntityId, findByTaxonomyTermId, save, delete, deleteByEntityId, getUnvalidatedMappings, markAsValidated, exists, getValidationStats

UseCases

UseCaseDateiMethoden
AssignChunkTaxonomyUseCase src/UseCases/Taxonomy/ execute(chunkId, termId, confidence, source), batchAssign()
AssignEntityTaxonomyUseCase src/UseCases/Taxonomy/ execute(entityId, termId, relevance), validateMapping(), batchAssign(), getValidationStats()
GetTaxonomyOverviewUseCase src/UseCases/Taxonomy/ execute(), getUnmappedChunks(), getUnvalidatedEntityMappings(), getTaxonomyTermUsage(), getTermsWithUsage()
EnhancedSearchUseCase src/UseCases/Search/ execute(query, taxonomyTermIds, includeChildTerms), searchInTaxonomy(), getSuggestionsForQuery()

Python Pipeline Integration

Die Pipeline erweitert die Analyse um automatische Taxonomie-Zuweisungen:

# db.py - Neue Funktionen
db.add_chunk_taxonomy(chunk_id, term_id, confidence, source)
db.get_chunk_taxonomies(chunk_id)
db.add_entity_taxonomy(entity_id, term_id, relevance, validated)
db.get_entity_taxonomies(entity_id)
db.get_taxonomy_terms()

# document_analyzer.py - Neue Funktionen
propagate_taxonomy_to_chunks(document_id, taxonomy)
assign_entity_taxonomy(document_id, entities, taxonomy)

Datenfluss

Dokument-Analyse
      │
      ▼
┌─────────────────────────────────────────┐
│ classify_taxonomy() → document_taxonomy │
└─────────────────────┬───────────────────┘
                      │
        ┌─────────────┴─────────────┐
        ▼                           ▼
┌───────────────────┐    ┌────────────────────┐
│ propagate_to_     │    │ assign_entity_     │
│ chunks()          │    │ taxonomy()         │
│ → chunk_taxonomy  │    │ → entity_taxonomy_ │
│                   │    │   mapping          │
└───────────────────┘    └────────────────────┘

Contract: taxonomy-mapping-contract

Qualitätsregeln für Taxonomie-Mappings (Contract ID: 12):


Beispiel-Taxonomie

Coaching-Konzept (Wurzel)
├── ist-ein → Methode
│   ├── ist-ein → Auftragsklärung
│   ├── ist-ein → Zielarbeit
│   └── ist-ein → Ressourcenaktivierung
├── ist-ein → Intervention
│   ├── ist-ein → Fragetechnik
│   │   ├── ist-ein → Skalenfrage
│   │   └── ist-ein → Wunderfrage
│   └── ist-ein → Reflexion
└── ist-ein → Haltung
    ├── ist-ein → Ressourcenorientierung
    └── ist-ein → Allparteilichkeit

Abgrenzung zur Ontologie

Abgrenzung zur Semantik

Versionierung

Persistenz

Ergebnisartefakte

Prüfbedingungen für Supervision