689 lines
22 KiB
YAML
689 lines
22 KiB
YAML
# =============================================================================
|
|
# 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 <lg> 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 <l> 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 <l> 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 <seg> 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 <rhyme> 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 <metSym> 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 <rhyme>
|
|
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 <caesura> 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 <encodingDesc> 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:
|
|
# - <lg type="stanza"> for stanza groupings
|
|
# - <l n="1" met="-+-+-+-+-+"> for individual lines
|
|
# - <seg type="foot"> for metrical feet
|
|
# - <rhyme label="a"> for rhyming words
|
|
# - <caesura/> 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
|
|
#
|
|
# =============================================================================
|
|
|