Skip to content

Pronomina im Glossarium

Überblick

Pronomina stellen eine komplexe Wortart im Hermeneus-Glossarium dar, die verschiedene Arten von Fürwörtern umfasst (Demonstrativ-, Personal-, Interrogativ-, Relativ-, Indefinitpronomen etc.). Sie besitzen eine eigene Morphologisierungslogik mit spezifischen Besonderheiten.

Model: App\Models\PronomenTabelle: glossarium_pronominaBasis-Klasse: Erbt von VocabMorpher: App\Morpher\PronomenMorpherMorph Info Handler: App\Morpher\PronomenMorphInfoHandler

Charakteristika

  • Automatische Morphologisierung (NICHT manuell morphologisierbar)
  • Spezielle Morphologie-Struktur mit normal als Hauptebene
  • Art-basierte Klassifikation (demo, pers, rel, indef, etc.)
  • Optionales Feld für indeklinable Anteile
  • Genus-abhängige getLemmaInfo() nur für bestimmte Pronomina

Datenbankstruktur

Tabelle: glossarium_pronomina

FeldTypBeschreibungBeispiel
idIntegerPrimärschlüssel1
lemmaStringGrundform des Pronomensis, ego, qui
infoString (nullable)Zusätzliche Informationennull
fb_artStringArt des Pronomensdemo, pers, rel, indef, inter, poss
fb_wortartString (nullable)Erweiterte Wortartinformationmeist leer
fb_indekl_partString (nullable)Indeklinabler Bestandteilnull
morphJSONMorphologische Formen als JSON
morph_modeIntegerMorphologisierungsmodus0 (auto)
bedeutungStringDeutsche Bedeutungdieser, der(jenige), er
bedeutungen_alleText (nullable)Alle Bedeutungennull
statusIntegerVerifizierungsstatus0-3
created_atTimestampErstellungszeitpunkt
updated_atTimestampAktualisierungszeitpunkt
deleted_atTimestamp (nullable)Löschzeitpunkt (Soft Delete)
created_by_idInteger (nullable)Ersteller-ID
updated_by_idInteger (nullable)Bearbeiter-ID

Erforderliche Felder

php
public array $RequiredFields = [
    'lemma',        // Grundform des Pronomens
    'fb_art',       // Art des Pronomens
    'bedeutung'     // Deutsche Bedeutung
];

Wichtig: fb_wortart ist NICHT erforderlich und wird meist nicht verwendet.

Typische Fehler und Hinweise zum Ausfüllen

Pronomina erfordern präzise Eingaben, da ihre komplexe Morphologie automatisch generiert wird. Fehlerhafte Einträge führen zu fehlgeschlagener Morphologisierung oder falschen Formen. Die folgende Tabelle zeigt häufige Probleme:

FeldTypischer FehlerAuswirkungRichtigHinweis
lemmaGroßschreibung: "Is"Formenerkennung versagt, Morphologisierung fehlerhaftisPronomina IMMER kleinschreiben
lemmaDeklinierte Form: "ei" statt GrundformMorphologisierung produziert falsche FormenisImmer Nominativ Singular maskulin als Lemma
lemmaPartikel als Pronomen: "aliquando"Keine Morphologisierung möglich, Systemfehleraliquis"aliquando" ist Adverb, nicht Pronomen
fb_artFalsche Art: "is" als "pers" statt "demo"Falsche Paradigmen, unpassende Formenis mit "demo""is" ist Demonstrativ-, kein Personalpronomen
fb_artLeer gelassenValidierung schlägt fehl, kein Speichern möglichdemo, pers, rel, indef, inter, possfb_art ist Pflichtfeld
fb_wortartAusgefüllt statt leerKonflikte mit automatischer KlassifikationLeer lassenfb_wortart wird bei Pronomina NICHT verwendet
AllgemeinPronominaladjektiv als Pronomen: "ullus"Flexibilität eingeschränkt, falsche Zuordnungullus als AdjektivPronominaladjektive in glossarium_adjektive
AllgemeinNicht morphologisierbares Pronomen manuell: "quis" mit morph_mode=1Systemfehler, keine manuelle Morphologisierungmorph_mode=0 (automatisch)Pronomina sind NICHT manuell morphologisierbar
bedeutungNur eine Teilbedeutung: "dieser" statt vollständigUnvollständige Information für Lernendedieser, der(jenige), erAlle Hauptbedeutungen angeben
lemmaMehrere Formen mit Schrägstrich falsch: "ego / me"Inkonsistente Schreibweiseego/mihi/meSchrägstriche OHNE Leerzeichen

Checkliste für korrekte Pronomina-Einträge

Vor dem Speichern eines Pronomens sollten folgende Punkte geprüft werden:

  • Ist das Lemma kleingeschrieben?
  • Steht im Lemma die Grundform (Nom. Sg. m.) und nicht eine deklinierte Form?
  • Ist fb_art korrekt ausgefüllt (demo/pers/rel/indef/inter/poss)?
  • Ist fb_wortart leer (wird bei Pronomina nicht verwendet)?
  • Handelt es sich wirklich um ein Pronomen und nicht um ein Pronominaladjektiv?
  • Ist morph_mode auf 0 gesetzt (automatische Morphologisierung)?
  • Sind alle Hauptbedeutungen in bedeutung erfasst?
  • Wurde geprüft, ob das Pronomen nicht bereits als andere Wortart existiert?

Morphologisierung

Morphologisierbarkeit

php
public bool $IsManuellMorphologisierbar = false;  // Keine manuelle Morphologisierung!
public bool $IsMorphologisierbar = true;          // Automatische Morphologisierung möglich

Pronomina werden ausschließlich automatisch morphologisiert. Die manuelle Eingabe von Formen ist nicht vorgesehen, da die Morphologie komplex und regelbasiert erfolgt.

Validierung

php
public function IsValid(): bool
{
    if (
        ! empty($this->lemma) &&
        ! empty($this->fb_art)
    ) {
        return true;
    }

    return false;
}

Ein Pronomen ist valide, wenn lemma und fb_art vorhanden sind.

Morphologie-Struktur

JSON-Schema

Die Morphologie von Pronomina hat eine besondere Struktur mit normal als oberster Ebene:

json
{
  "normal": {
    "1_sg": {
      "1_mask": {
        "1_nom": "is",
        "2_gen": "eius",
        "3_dat": "ei",
        "4_akk": "eum",
        "5_vok": "is",
        "6_abl": "eo"
      },
      "2_fem": {
        "1_nom": "ea",
        "2_gen": "eius",
        "3_dat": "ei",
        "4_akk": "eam",
        "5_vok": "ea",
        "6_abl": "ea"
      },
      "3_neutr": {
        "1_nom": "id",
        "2_gen": "eius",
        "3_dat": "ei",
        "4_akk": "id",
        "5_vok": "id",
        "6_abl": "eo"
      }
    },
    "2_pl": {
      "1_mask": {
        "1_nom": "ii",
        "2_gen": "eorum",
        "3_dat": "eis",
        "4_akk": "eos",
        "5_vok": "ii",
        "6_abl": "eis"
      },
      "2_fem": {
        "1_nom": "eae",
        "2_gen": "eorum",
        "3_dat": "eis",
        "4_akk": "eas",
        "5_vok": "eae",
        "6_abl": "eis"
      },
      "3_neutr": {
        "1_nom": "ea",
        "2_gen": "eorum",
        "3_dat": "eis",
        "4_akk": "ea",
        "5_vok": "ea",
        "6_abl": "eis"
      }
    }
  },
  "alternativ": {
    // Optionale alternative Formen (z.B. "iis / is" statt "eis")
  }
}

Wichtig: Die Hauptebene heißt normal, NICHT direkt 1_sg und 2_pl wie bei Nomina!

Zugriff auf Morphologie

php
// Zugriff auf eine Form
$pronomen = Pronomen::find(1);
$forms = $pronomen->getMorphArrayAttribute();

// Nominativ Singular maskulin von "is"
echo $forms['normal']['1_sg']['1_mask']['1_nom']; // "is"

// Akkusativ Singular feminin
echo $forms['normal']['1_sg']['2_fem']['4_akk']; // "eam"

// Genitiv Plural neutrum
echo $forms['normal']['2_pl']['3_neutr']['2_gen']; // "eorum"

Pronomen-Arten (fb_art)

Art-KürzelBeschreibungBeispiele
demoDemonstrativpronomenis, ille, hic, iste, idem, ipse
persPersonalpronomenego, tu, nos, vos
relRelativpronomenqui, quae, quod
indefIndefinitpronomenaliquis, quidam, quispiam
interInterrogativpronomenquis, qui
possPossessivpronomenmeus, tuus, suus, noster, vester

getLemmaInfo()

Die Methode getLemmaInfo() gibt nur für bestimmte Pronomina zusätzliche Informationen zurück:

php
public function getLemmaInfo()
{
    if (in_array($this->lemma, ['ille', 'ipse', 'idem', 'hic', 'alius', 'aliquis', 'iste', 'uterque', 'ullus', 'is'])) {
        try {
            if ($this->morph) {
                return ", " . $this->getMorphArrayAttribute()['normal']['1_sg']['2_fem']['1_nom']
                     . ", " . $this->getMorphArrayAttribute()['normal']['1_sg']['3_neutr']['1_nom']
                     . $this->getInfoColumn();
            }
        } catch (\Exception $exception) {
            return parent::getInfoColumn();
        }
    }
}

Ausgabe:

  • is → "is, ea, id"
  • ille → "ille, illa, illud"
  • hic → "hic, haec, hoc"
  • ego → "" (keine Ausgabe, da nicht in Liste)

Verwendungsbeispiele

Pronomen abrufen

php
use App\Models\Pronomen;

// Pronomen laden
$is = Pronomen::where('lemma', 'is')->first();

// Lemma-Info anzeigen
echo $is->lemma . $is->getLemmaInfo();
// Output: is, ea, id

// Morphologische Form abrufen
$formen = $is->getMorphArrayAttribute();
$akkFem = $formen['normal']['1_sg']['2_fem']['4_akk'];
echo $akkFem; // Output: eam

Neues Pronomen erstellen

php
use App\Models\Pronomen;

$pronomen = Pronomen::create([
    'lemma' => 'quidam',
    'fb_art' => 'indef',
    'bedeutung' => 'ein gewisser, irgendein',
    'status' => 1,
    'created_by_id' => auth()->id()
]);

// Morphologisieren
$pronomen->morphologisieren();

Pronomina nach Art filtern

php
// Alle Demonstrativpronomen
$demonstrativa = Pronomen::where('fb_art', 'demo')->get();

// Alle Personalpronomen
$personalia = Pronomen::where('fb_art', 'pers')->get();

// Verifizierte Pronomina
$verified = Pronomen::where('status', '>=', 2)->get();

Alle Formen eines Pronomens durchlaufen

php
$pronomen = Pronomen::find(1);
$formen = $pronomen->getMorphArrayAttribute();

// Alle Singularformen (alle Genera)
foreach (['1_mask', '2_fem', '3_neutr'] as $genus) {
    echo "Genus: $genus\n";
    foreach ($formen['normal']['1_sg'][$genus] as $kasus => $form) {
        echo "  $kasus: $form\n";
    }
}

Beispieldaten aus der Datenbank

is, ea, id (Demonstrativpronomen)

php
[
    'id' => 1,
    'lemma' => 'is',
    'fb_art' => 'demo',
    'bedeutung' => 'dieser, der(jenige), er',
    'status' => 2
]

Ausgewählte Formen:

  • Nom. Sg. m.: is
  • Nom. Sg. f.: ea
  • Nom. Sg. n.: id
  • Gen. Sg. (alle): eius
  • Dat. Sg. (alle): ei
  • Akk. Sg. m.: eum
  • Akk. Sg. f.: eam
  • Akk. Sg. n.: id

vos (Personalpronomen, 2. Person Plural)

php
[
    'id' => 37,
    'lemma' => 'vos',
    'fb_art' => 'pers',
    'bedeutung' => 'Nom. ihr / Akk. euch',
    'status' => 2
]

Besonderheit: Personalpronomen haben oft vereinfachte Paradigmen, da sie für Singular und Plural getrennte Lemmata haben.

ego/mihi/me (Personalpronomen, 1. Person Singular)

php
[
    'id' => 120,
    'lemma' => 'ego/mihi/me',
    'fb_art' => 'pers',
    'bedeutung' => 'ich/mir/mich',
    'status' => 2
]

Besonderheit: Lemma enthält mehrere Hauptformen durch Schrägstrich getrennt.

Besonderheiten

Keine manuelle Morphologisierung

Im Gegensatz zu Nomina und Verben können Pronomina nicht manuell morphologisiert werden. Der Grund liegt in der Komplexität der Paradigmen und der Vielzahl von Sonderformen. Die automatische Morphologisierung erfolgt durch PronomenMorpher.

Morphologie-Ebene "normal"

Die zusätzliche Ebene normal in der JSON-Struktur erlaubt die spätere Erweiterung um alternative Formen (alternativ-Ebene), die im System bereits teilweise genutzt wird.

getLemmaInfo() nur für deklinierbare Pronomina

Nur deklinierbare Demonstrativ- und einige Indefinitpronomen erhalten durch getLemmaInfo() die Ausgabe der femininen und neutralen Nominativform. Personalpronomen und andere Arten haben keine solche Ausgabe.

Indeklinable Bestandteile

Das Feld fb_indekl_part kann indeklinable Anteile eines Pronomens speichern (z.B. bei zusammengesetzten Formen). Dieses Feld wird jedoch selten genutzt.

Konstanten

php
const ROUTE_NAME = 'pronomina';
const MODEL_NAME = 'pronomen';
const CLASS_NAME = 'Pronomen';
const MORPHER = PronomenMorpher::class;
const MORPH_INFO_HANDLER = PronomenMorphInfoHandler::class;

Vererbungshierarchie

Vocab (Basis-Model)
  └── Pronomen

Pronomina erben von Vocab und nutzen folgende Traits:

  • HasAlleFormenAttribute
  • Morphable
  • Reportable
  • Verifiable
  • hasStatus
  • hasVerweise
  • belongsToLerneinheiten

Weitere Informationen

Für Details zur Morphologisierung siehe:

Für allgemeine Glossarium-Informationen siehe: