# ============================================================================= # GLAM-NER: TEI P5 VERSE MODULE # ============================================================================= # Module: modules/advanced/tei/verse.yaml # Parent: entity_annotation_rules_v1.7.0_unified.yaml # Purpose: LinkML schema for TEI P5 Chapter 6 - Verse # Source: TEI P5 4.10.2 (September 2025) - verse module # ============================================================================= # This module provides LinkML class definitions for encoding verse texts # including verse lines, line groups (stanzas), rhyme, meter, caesura, and # metrical analysis. Essential for poetry collections, literary archives, # manuscript transcription, and text analysis. # ============================================================================= id: https://w3id.org/glam/ner/tei/verse name: glam-ner-tei-verse title: TEI P5 Verse Module for GLAM-NER version: "1.0.0" license: https://creativecommons.org/licenses/by/4.0/ prefixes: tei: http://www.tei-c.org/ns/1.0/ glam: https://w3id.org/glam/ner/ linkml: https://w3id.org/linkml/ crm: http://www.cidoc-crm.org/cidoc-crm/ schema: http://schema.org/ dcterms: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ xsd: http://www.w3.org/2001/XMLSchema# default_prefix: glam default_range: string # ============================================================================= # IMPORTS # ============================================================================= imports: - linkml:types # ============================================================================= # ENUMS # ============================================================================= enums: # --------------------------------------------------------------------------- # Line Group Type # --------------------------------------------------------------------------- LineGroupType: description: | Types of verse line groupings. Used on @type attribute of element. permissible_values: stanza: description: Standard stanza grouping couplet: description: Two-line grouping tercet: description: Three-line grouping quatrain: description: Four-line grouping sestet: description: Six-line grouping octave: description: Eight-line grouping (as in sonnet) sonnet: description: Fourteen-line sonnet form verse_paragraph: description: Verse paragraph (blank verse) refrain: description: Repeated refrain section envoi: description: Closing stanza (as in ballade) strophe: description: Strophe in classical verse antistrophe: description: Antistrophe in classical verse epode: description: Epode in classical verse free: description: Free verse section # --------------------------------------------------------------------------- # Line Part Type # --------------------------------------------------------------------------- LinePartType: description: | Indicates whether a verse line is complete or partial. Used on @part attribute of element. permissible_values: "Y": description: Line is partial (yes) "N": description: Line is complete (no, default) I: description: Initial part of incomplete line M: description: Middle part of incomplete line F: description: Final part of incomplete line # --------------------------------------------------------------------------- # Enjambment Type # --------------------------------------------------------------------------- EnjambmentType: description: | Indicates whether enjambment occurs at end of line. Used on @enjamb attribute of element. permissible_values: "yes": description: Enjambment present "no": description: No enjambment (end-stopped line) weak: description: Weak enjambment strong: description: Strong enjambment # --------------------------------------------------------------------------- # Metrical Pattern Type # --------------------------------------------------------------------------- MetricalPatternType: description: | Common metrical feet types for verse analysis. Values for @type on when marking feet. permissible_values: iamb: description: Unstressed-stressed (u/) trochee: description: Stressed-unstressed (/u) dactyl: description: Stressed-unstressed-unstressed (/uu) anapest: description: Unstressed-unstressed-stressed (uu/) spondee: description: Stressed-stressed (//) pyrrhic: description: Unstressed-unstressed (uu) amphibrach: description: Unstressed-stressed-unstressed (u/u) cretic: description: Stressed-unstressed-stressed (/u/) bacchius: description: Unstressed-stressed-stressed (u//) antibacchius: description: Stressed-stressed-unstressed (//u) molossus: description: Stressed-stressed-stressed (///) tribrach: description: Unstressed-unstressed-unstressed (uuu) # --------------------------------------------------------------------------- # Rhyme Label Type # --------------------------------------------------------------------------- RhymeLabelType: description: | Standard rhyme scheme labels. Used on @label attribute of element. permissible_values: a: description: First rhyme sound b: description: Second rhyme sound c: description: Third rhyme sound d: description: Fourth rhyme sound e: description: Fifth rhyme sound f: description: Sixth rhyme sound g: description: Seventh rhyme sound x: description: Unrhymed line # --------------------------------------------------------------------------- # Metrical Terminal Type # --------------------------------------------------------------------------- MetricalTerminalType: description: | Types of metrical notation terminals. Used on @terminal attribute of element. permissible_values: "true": description: Symbol is terminal (represents actual pattern) "false": description: Symbol is non-terminal (expandable) # ============================================================================= # SLOTS (Attributes) # ============================================================================= slots: # --------------------------------------------------------------------------- # Global TEI Attributes # --------------------------------------------------------------------------- xml_id: description: Unique identifier for the element (xml:id) range: string slot_uri: tei:id xml_lang: description: Language of the element content (xml:lang) range: string slot_uri: tei:lang n: description: | Number or label for the element (@n). Used for line numbers, stanza numbers, etc. range: string slot_uri: tei:n # --------------------------------------------------------------------------- # Metrical Attributes # --------------------------------------------------------------------------- met: description: | Metrical pattern or scheme (@met). Contains notation describing the meter of a line, stanza, or poem. Common notation: + for stressed, - for unstressed, | for foot boundary. range: string slot_uri: tei:met real: description: | Actual metrical realization (@real). The actual stress pattern as realized, which may differ from @met. range: string slot_uri: tei:real rhyme: description: | Rhyme scheme pattern (@rhyme). Uses letters to indicate rhyme scheme (e.g., "abab cdcd efef gg"). range: string slot_uri: tei:rhyme # --------------------------------------------------------------------------- # Line Attributes # --------------------------------------------------------------------------- part: description: | Indicates partial line status (@part). Values: Y (partial), N (complete), I (initial), M (middle), F (final). range: LinePartType slot_uri: tei:part enjamb: description: | Indicates enjambment (@enjamb). Whether the line runs on syntactically to the next. range: EnjambmentType slot_uri: tei:enjamb # --------------------------------------------------------------------------- # Type Attribute # --------------------------------------------------------------------------- element_type: description: | Classification of element (@type). range: string slot_uri: tei:type # --------------------------------------------------------------------------- # Rhyme Element Attributes # --------------------------------------------------------------------------- label: description: | Rhyme label (@label). Identifies the rhyme class of a rhyming word. range: string slot_uri: tei:label # --------------------------------------------------------------------------- # Metrical Declaration Attributes # --------------------------------------------------------------------------- pattern: description: | Metrical pattern definition (@pattern). Defines the pattern associated with a metrical symbol. range: string slot_uri: tei:pattern terminal: description: | Whether symbol is terminal (@terminal). Terminal symbols represent actual patterns; non-terminals expand. range: boolean slot_uri: tei:terminal value: description: | Symbol value (@value). The character(s) used for the metrical symbol. range: string slot_uri: tei:value # ============================================================================= # CLASSES - VERSE LINE ELEMENTS # ============================================================================= classes: # --------------------------------------------------------------------------- # l - Verse Line # --------------------------------------------------------------------------- VerseLine: class_uri: tei:l description: | Verse line (l) contains a single, possibly incomplete, line of verse. The verse line is the fundamental unit of metrical composition. Lines may be complete or partial (when split across stanzas or speakers). Key attributes: - @n: Line number - @met: Metrical pattern - @real: Actual metrical realization - @rhyme: Rhyme scheme position - @part: Whether line is partial (Y/N/I/M/F) - @enjamb: Whether enjambment occurs TEI P5 Chapter 6.2 (Components of the Verse Line) slots: - xml_id - n - met - real - rhyme - part - enjamb - xml_lang attributes: line_content: description: Text content of the verse line range: string required: true segments: description: Metrical segments within the line range: VerseSegment multivalued: true rhyming_words: description: Rhyming portions marked with range: Rhyme multivalued: true caesura_point: description: Location of caesura within line range: Caesura exact_mappings: - crm:E33_Linguistic_Object - schema:CreativeWork annotations: tei_element: l tei_module: core glam_hypernym: TXT.VRS.LIN # --------------------------------------------------------------------------- # lg - Line Group (Stanza) # --------------------------------------------------------------------------- LineGroup: class_uri: tei:lg description: | Line group (lg) contains one or more verse lines functioning as a formal unit, e.g. a stanza, refrain, verse paragraph, etc. Line groups can be nested hierarchically to represent complex stanza structures (e.g., a Spenserian stanza with internal couplet). Key attributes: - @type: Type of line group (stanza, couplet, tercet, etc.) - @n: Stanza number - @met: Metrical pattern for the stanza - @rhyme: Rhyme scheme for the stanza TEI P5 Chapter 6.1 (Structural Divisions of Verse Texts) slots: - xml_id - n - element_type - met - rhyme - xml_lang attributes: lg_type: description: Type of line group range: LineGroupType lines: description: Verse lines in this group range: VerseLine multivalued: true nested_groups: description: Nested line groups (sub-stanzas) range: LineGroup multivalued: true head: description: Optional heading for the stanza range: string exact_mappings: - crm:E33_Linguistic_Object annotations: tei_element: lg tei_module: core glam_hypernym: TXT.VRS.STZ # --------------------------------------------------------------------------- # seg - Verse Segment (Metrical Unit) # --------------------------------------------------------------------------- VerseSegment: class_uri: tei:seg description: | Segment (seg) represents any segmentation of text below the 'chunk' level. In verse contexts, used to mark metrical units such as feet, half-lines, syllables, or other prosodic divisions. Segments can be nested hierarchically (e.g., feet containing syllables). Key attributes: - @type: Type of segment (foot, half-line, syllable) - @met: Metrical pattern for the segment - @real: Actual metrical realization - @n: Segment number or identifier TEI P5 Chapter 6.2 (Components of the Verse Line) slots: - xml_id - n - element_type - met - real - part attributes: seg_content: description: Text content of the segment range: string required: true foot_type: description: Type of metrical foot (if segment is a foot) range: MetricalPatternType nested_segments: description: Nested segments (e.g., syllables within foot) range: VerseSegment multivalued: true exact_mappings: - crm:E33_Linguistic_Object annotations: tei_element: seg tei_module: linking glam_hypernym: TXT.VRS.SEG # ============================================================================= # CLASSES - RHYME AND CAESURA ELEMENTS # ============================================================================= # --------------------------------------------------------------------------- # rhyme - Rhyming Portion # --------------------------------------------------------------------------- Rhyme: class_uri: tei:rhyme description: | Rhyme (rhyme) marks the rhyming part of a metrical line. Used to identify and classify rhyming words within verse, allowing systematic analysis of rhyme schemes and sound patterns. Key attributes: - @label: Identifies the rhyme class (a, b, c, etc.) - @type: Type of rhyme (end, internal, slant, etc.) TEI P5 Chapter 6.5 (Rhyme) slots: - xml_id - label - element_type attributes: rhyme_text: description: The rhyming text range: string required: true rhyme_type: description: Type of rhyme range: string exact_mappings: - crm:E33_Linguistic_Object annotations: tei_element: rhyme tei_module: verse glam_hypernym: TXT.VRS.RHY # --------------------------------------------------------------------------- # caesura - Caesura Point # --------------------------------------------------------------------------- Caesura: class_uri: tei:caesura description: | Caesura (caesura) marks the point at which a metrical line may be divided. An empty element indicating position within a verse line. In classical prosody, distinguishes: - Caesura: break within a foot - Diaeresis: break on foot boundary TEI uses for both types, as modern usage conflates them. TEI P5 Chapter 6.2 (Components of the Verse Line) slots: - xml_id attributes: caesura_type: description: Type of caesura (masculine, feminine, etc.) range: string annotations: tei_element: caesura tei_module: verse glam_hypernym: TXT.VRS.CES # ============================================================================= # CLASSES - METRICAL DECLARATION ELEMENTS # ============================================================================= # --------------------------------------------------------------------------- # metDecl - Metrical Notation Declaration # --------------------------------------------------------------------------- MetricalDeclaration: class_uri: tei:metDecl description: | Metrical notation declaration (metDecl) documents the notation employed to represent a metrical pattern when this is specified as the value of a @met, @real, or @rhyme attribute. Placed within in the TEI header to provide a key for interpreting metrical notation used throughout the document. TEI P5 Chapter 6.6 (Metrical Notation Declaration) slots: - xml_id - element_type attributes: metrical_type: description: Type of metrics being declared (met, real, rhyme) range: string pattern_info: description: Prose description of the metrical notation system range: string symbols: description: Metrical symbols defined in this declaration range: MetricalSymbol multivalued: true annotations: tei_element: metDecl tei_module: verse glam_hypernym: DOC.MET # --------------------------------------------------------------------------- # metSym - Metrical Symbol Definition # --------------------------------------------------------------------------- MetricalSymbol: class_uri: tei:metSym description: | Metrical symbol (metSym) documents the intended significance of a particular character or character sequence within a metrical notation, either explicitly or in terms of other defined symbols. Key attributes: - @value: The symbol character(s) - @terminal: Whether symbol is terminal (true) or expandable (false) TEI P5 Chapter 6.6 (Metrical Notation Declaration) slots: - xml_id - value - terminal attributes: symbol_meaning: description: Description of what the symbol represents range: string required: true expansion: description: Pattern expansion for non-terminal symbols range: string annotations: tei_element: metSym tei_module: verse glam_hypernym: DOC.MET.SYM # ============================================================================= # GLAM-NER HYPERNYM MAPPINGS SUMMARY # ============================================================================= # # This module covers verse encoding from TEI Chapter 6. # Primary GLAM-NER hypernym mappings: # # TXT.VRS (Verse): # - Parent category for all verse-related elements # # TXT.VRS.LIN (Verse Line): # - VerseLine - Individual line of verse # # TXT.VRS.STZ (Stanza/Line Group): # - LineGroup - Stanza, couplet, tercet, etc. # # TXT.VRS.SEG (Verse Segment): # - VerseSegment - Metrical unit (foot, syllable, half-line) # # TXT.VRS.RHY (Rhyme): # - Rhyme - Rhyming portion of verse # # TXT.VRS.CES (Caesura): # - Caesura - Break point in verse line # # DOC.MET (Document Metadata): # - MetricalDeclaration - Metrical notation system # # DOC.MET.SYM (Metrical Symbol): # - MetricalSymbol - Symbol definition # # ============================================================================= # ONTOLOGY MAPPINGS # ============================================================================= # # CIDOC-CRM: # - VerseLine → crm:E33_Linguistic_Object # - LineGroup → crm:E33_Linguistic_Object # - VerseSegment → crm:E33_Linguistic_Object # - Rhyme → crm:E33_Linguistic_Object # # Schema.org: # - VerseLine → schema:CreativeWork # - LineGroup → schema:CreativeWork (with @type "Poem" or "Verse") # # Dublin Core: # - MetricalDeclaration → dcterms:description (of encoding) # # ============================================================================= # USAGE NOTES # ============================================================================= # # Verse module is used for: # 1. Poetry collections and anthologies # 2. Literary manuscript transcription # 3. Metrical and prosodic analysis # 4. Rhyme scheme documentation # 5. Critical editions of verse texts # 6. Digital humanities text analysis # 7. Heritage institution literary archives # # Key encoding patterns: # - for stanza groupings # - for individual lines # - for metrical feet # - for rhyming words # - for mid-line breaks # - @met for expected pattern, @real for actual realization # - @rhyme="abab" for rhyme scheme notation # # Metrical notation conventions: # - + or / : stressed syllable # - - or u : unstressed syllable # - | : foot boundary # - ( ) : optional or elided syllable # # Integration with other modules: # - namesdates: Author/poet names # - msdescription: Manuscript containing verse # - linking: Standoff annotation of verse features # - transcr: Primary source verse transcription # # Heritage Institution Applications: # - Literary archive cataloging # - Poetry manuscript transcription # - Verse anthology digitization # - Prosodic research databases # - Author studies and concordances # # ============================================================================= # VERSION HISTORY # ============================================================================= # # Version 1.0.0 (2025-12-03): # - Initial release covering TEI P5 Chapter 6 (Verse) # - 7 class definitions for verse elements # - 6 enum definitions for verse classification # - Core verse elements: l, lg, seg, rhyme, caesura # - Metrical declaration: metDecl, metSym # - Ontology mappings to CIDOC-CRM, Schema.org # - GLAM-NER hypernym annotations # - Metrical and rhyme attribute support # # =============================================================================