The Leipzig Glossing Rules
pyigt supports the notation for morpheme/gloss structure proposed by the Leipzig Glossing Rules.
According to LGR Rule 1, object language and gloss lines have to be word-aligned. Such aligned
pairs of a word and a corresponding gloss are modeled via the GlossedWord
class.
If an IGT conforms to Rule 2, glossed words are lists of aligned
GlossedMorpheme
pairs.
The provisions of Rule 4 (and following), i.e. the structure of morpheme glosses, is implemented
as subclasses of GlossElement
.
- class pyigt.lgrmorphemes.GlossElement(s)[source]
Rule 4. Gloss elements are separated by “.”.
- Variables:
start – Specifies the separator to use when combining a GlossElement with another.
- class pyigt.lgrmorphemes.GlossElementAfterSemicolon(s)[source]
Rule 4B. Distinct gloss elements can be separated by “;”.
- class pyigt.lgrmorphemes.GlossElementAfterColon(s)[source]
Rule 4C. Gloss element corresponding to “hidden” object language elements are separated by “:”.
- class pyigt.lgrmorphemes.GlossElementAfterBackslash(s)[source]
Rule 4D. Morphophonological change is marked with a leading “".
- class pyigt.lgrmorphemes.PatientlikeArgument(s)[source]
Rule 4E. Patient-like arguments are marked with a leading “>”.
Note: Infer the agent-like argument by looking up the prev property.
- class pyigt.lgrmorphemes.NonovertElement(s)[source]
Rule 6. Non-overt elements can be enclosed in square brackets.
- class pyigt.lgrmorphemes.InherentCategory(s)[source]
Rule 7. Inherent categories can be enclosed in round brackets.
- class pyigt.lgrmorphemes.GlossedWord(word, gloss, glossed_morphemes=_Nothing.NOTHING, strict=False)[source]
A (word, gloss) pair, corresponding to two aligned items from IGT according to LGR.
Provides list-like access to its
GlossedMorpheme
s.- property form: str
Removes sentence-level markup and morpheme separators from .word.
>>> from pyigt.lgrmorphemes import GlossedWord >>> gw = GlossedWord(word='"An-fangs', gloss="a-b") >>> gw.form 'Anfangs'
- class pyigt.lgrmorphemes.GlossedMorpheme(morpheme, gloss, sep, prev=None, next=None)[source]
A (morpheme, gloss) pair.
- Variables:
morpheme – The morpheme form.
gloss – The literal gloss.
sep – The morpheme separator preceding this morpheme.
prev – Points to the previous GlossedMorpheme in a word, or None.
next – Points to the next GlossedMorpheme in a word, or None.
- property form: str
Removes sentence-level markup (i.e. punctuation etc.) from .morpheme.
>>> from pyigt.lgrmorphemes import GlossedMorpheme >>> gm = GlossedMorpheme(morpheme='"[ab.c', gloss="abc", sep='-') >>> gm.form 'abc'
- property grammatical_concepts: List[str]
Grammatical concepts, referenced with category labels according to Rule 3, used in morpheme gloss.
Note
Gloss element separators according to Rule 4B and 4C are interpreted as signaling a separate concept.
>>> from pyigt.lgrmorphemes import GlossedMorpheme >>> gm = GlossedMorpheme(morpheme='abc', gloss='ABC.DEF:GHI;JKL', sep='.') >>> gm.grammatical_concepts ['ABC.DEF', 'GHI', 'JKL']
- property lexical_concepts: List[str]
Gloss elements not recognized as category labels are interpreted as lexical concepts.
>>> from pyigt.lgrmorphemes import GlossedMorpheme >>> gm = GlossedMorpheme(morpheme='çık', gloss='come_out', sep='.') >>> gm.lexical_concepts ['come out']