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
normalals 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
| Feld | Typ | Beschreibung | Beispiel |
|---|---|---|---|
id | Integer | Primärschlüssel | 1 |
lemma | String | Grundform des Pronomens | is, ego, qui |
info | String (nullable) | Zusätzliche Informationen | null |
fb_art | String | Art des Pronomens | demo, pers, rel, indef, inter, poss |
fb_wortart | String (nullable) | Erweiterte Wortartinformation | meist leer |
fb_indekl_part | String (nullable) | Indeklinabler Bestandteil | null |
morph | JSON | Morphologische Formen als JSON | |
morph_mode | Integer | Morphologisierungsmodus | 0 (auto) |
bedeutung | String | Deutsche Bedeutung | dieser, der(jenige), er |
bedeutungen_alle | Text (nullable) | Alle Bedeutungen | null |
status | Integer | Verifizierungsstatus | 0-3 |
created_at | Timestamp | Erstellungszeitpunkt | |
updated_at | Timestamp | Aktualisierungszeitpunkt | |
deleted_at | Timestamp (nullable) | Löschzeitpunkt (Soft Delete) | |
created_by_id | Integer (nullable) | Ersteller-ID | |
updated_by_id | Integer (nullable) | Bearbeiter-ID |
Erforderliche Felder
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:
| Feld | Typischer Fehler | Auswirkung | Richtig | Hinweis |
|---|---|---|---|---|
lemma | Großschreibung: "Is" | Formenerkennung versagt, Morphologisierung fehlerhaft | is | Pronomina IMMER kleinschreiben |
lemma | Deklinierte Form: "ei" statt Grundform | Morphologisierung produziert falsche Formen | is | Immer Nominativ Singular maskulin als Lemma |
lemma | Partikel als Pronomen: "aliquando" | Keine Morphologisierung möglich, Systemfehler | aliquis | "aliquando" ist Adverb, nicht Pronomen |
fb_art | Falsche Art: "is" als "pers" statt "demo" | Falsche Paradigmen, unpassende Formen | is mit "demo" | "is" ist Demonstrativ-, kein Personalpronomen |
fb_art | Leer gelassen | Validierung schlägt fehl, kein Speichern möglich | demo, pers, rel, indef, inter, poss | fb_art ist Pflichtfeld |
fb_wortart | Ausgefüllt statt leer | Konflikte mit automatischer Klassifikation | Leer lassen | fb_wortart wird bei Pronomina NICHT verwendet |
| Allgemein | Pronominaladjektiv als Pronomen: "ullus" | Flexibilität eingeschränkt, falsche Zuordnung | ullus als Adjektiv | Pronominaladjektive in glossarium_adjektive |
| Allgemein | Nicht morphologisierbares Pronomen manuell: "quis" mit morph_mode=1 | Systemfehler, keine manuelle Morphologisierung | morph_mode=0 (automatisch) | Pronomina sind NICHT manuell morphologisierbar |
bedeutung | Nur eine Teilbedeutung: "dieser" statt vollständig | Unvollständige Information für Lernende | dieser, der(jenige), er | Alle Hauptbedeutungen angeben |
lemma | Mehrere Formen mit Schrägstrich falsch: "ego / me" | Inkonsistente Schreibweise | ego/mihi/me | Schrä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_artkorrekt ausgefüllt (demo/pers/rel/indef/inter/poss)? - Ist
fb_wortartleer (wird bei Pronomina nicht verwendet)? - Handelt es sich wirklich um ein Pronomen und nicht um ein Pronominaladjektiv?
- Ist
morph_modeauf 0 gesetzt (automatische Morphologisierung)? - Sind alle Hauptbedeutungen in
bedeutungerfasst? - Wurde geprüft, ob das Pronomen nicht bereits als andere Wortart existiert?
Morphologisierung
Morphologisierbarkeit
public bool $IsManuellMorphologisierbar = false; // Keine manuelle Morphologisierung!
public bool $IsMorphologisierbar = true; // Automatische Morphologisierung möglichPronomina werden ausschließlich automatisch morphologisiert. Die manuelle Eingabe von Formen ist nicht vorgesehen, da die Morphologie komplex und regelbasiert erfolgt.
Validierung
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:
{
"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
// 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ürzel | Beschreibung | Beispiele |
|---|---|---|
demo | Demonstrativpronomen | is, ille, hic, iste, idem, ipse |
pers | Personalpronomen | ego, tu, nos, vos |
rel | Relativpronomen | qui, quae, quod |
indef | Indefinitpronomen | aliquis, quidam, quispiam |
inter | Interrogativpronomen | quis, qui |
poss | Possessivpronomen | meus, tuus, suus, noster, vester |
getLemmaInfo()
Die Methode getLemmaInfo() gibt nur für bestimmte Pronomina zusätzliche Informationen zurück:
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
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: eamNeues Pronomen erstellen
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
// 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
$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)
[
'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)
[
'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)
[
'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
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)
└── PronomenPronomina erben von Vocab und nutzen folgende Traits:
HasAlleFormenAttributeMorphableReportableVerifiablehasStatushasVerweisebelongsToLerneinheiten
Weitere Informationen
Für Details zur Morphologisierung siehe:
- PronomenMorpher-Dokumentation (falls vorhanden)
Für allgemeine Glossarium-Informationen siehe:
- Glossarium-Übersicht (falls vorhanden)