glam/data/entity_annotation/modules/advanced/tei/drama.yaml
2025-12-05 15:30:23 +01:00

781 lines
25 KiB
YAML

# =============================================================================
# GLAM-NER: TEI P5 DRAMA MODULE
# =============================================================================
# Module: modules/advanced/tei/drama.yaml
# Parent: entity_annotation_rules_v1.7.0_unified.yaml
# Purpose: LinkML schema for TEI P5 Chapter 7 - Performance Texts
# Source: TEI P5 4.10.2 (September 2025) - drama module
# =============================================================================
# This module provides LinkML class definitions for encoding performance texts
# including plays, screenplays, radio scripts, and other dramatic works. Covers
# cast lists, speeches, stage directions, scene divisions, and performance records.
# Essential for theater archives, literary collections, and dramatic text analysis.
# =============================================================================
id: https://w3id.org/glam/ner/tei/drama
name: glam-ner-tei-drama
title: TEI P5 Drama 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#
frbr: http://purl.org/vocab/frbr/core#
default_prefix: glam
default_range: string
# =============================================================================
# IMPORTS
# =============================================================================
imports:
- linkml:types
# =============================================================================
# ENUMS
# =============================================================================
enums:
# ---------------------------------------------------------------------------
# Stage Direction Type
# ---------------------------------------------------------------------------
StageDirectionType:
description: |
Types of stage directions in performance texts.
Used on @type attribute of <stage> element.
permissible_values:
setting:
description: Description of scene setting
entrance:
description: Character entrance
exit:
description: Character exit
business:
description: Stage business (action)
novelistic:
description: Novelistic description of character thought/feeling
delivery:
description: Manner of speech delivery
modifier:
description: Modifies preceding element
location:
description: Location specification
mixed:
description: Combination of types
tech:
description: Technical direction (lighting, sound)
prop:
description: Property/set piece instruction
costume:
description: Costume or appearance note
music:
description: Musical cue or direction
sound:
description: Sound effect direction
# ---------------------------------------------------------------------------
# Move Type
# ---------------------------------------------------------------------------
MoveType:
description: |
Types of character movement on stage.
Used on @type attribute of <move> element.
permissible_values:
entrance:
description: Character enters stage
exit:
description: Character exits stage
onStage:
description: Movement within stage area
# ---------------------------------------------------------------------------
# Cast Item Type
# ---------------------------------------------------------------------------
CastItemType:
description: |
Types of cast list entries.
Used on @type attribute of <castItem> element.
permissible_values:
role:
description: Single named role
list:
description: List of minor/unnamed roles
# ---------------------------------------------------------------------------
# Performance Type
# ---------------------------------------------------------------------------
PerformanceType:
description: |
Types of performance records.
Used on @type attribute of <performance> element.
permissible_values:
premiere:
description: First performance
revival:
description: Revival production
tour:
description: Touring production
broadcast:
description: Radio or television broadcast
recording:
description: Recorded performance
reading:
description: Staged reading
# =============================================================================
# SLOTS (Attributes)
# =============================================================================
slots:
# ---------------------------------------------------------------------------
# Global TEI Attributes
# ---------------------------------------------------------------------------
xml_id:
description: Unique identifier for the element (xml:id)
range: string
slot_uri: tei:id
n:
description: |
Number or label for the element (@n).
range: string
slot_uri: tei:n
# ---------------------------------------------------------------------------
# Speaker/Role Attributes
# ---------------------------------------------------------------------------
who:
description: |
Identifies the speaker(s) of a speech (@who).
Points to role, person, or character element(s).
Space-separated list of URI references.
range: string
slot_uri: tei:who
# ---------------------------------------------------------------------------
# Type Attribute
# ---------------------------------------------------------------------------
element_type:
description: |
Classification of element (@type).
range: string
slot_uri: tei:type
# ---------------------------------------------------------------------------
# Performance Attributes
# ---------------------------------------------------------------------------
perf:
description: |
Identifies specific performance (@perf).
Points to performance element for stage-historical tracking.
range: uriorcurie
slot_uri: tei:perf
where_attr:
description: |
Location on stage for movement (@where).
range: string
slot_uri: tei:where
# ---------------------------------------------------------------------------
# Reference Attributes
# ---------------------------------------------------------------------------
ref:
description: |
Reference to external resource (@ref).
URI pointing to authority record for person, role, etc.
range: uriorcurie
slot_uri: tei:ref
# =============================================================================
# CLASSES - CAST LIST ELEMENTS
# =============================================================================
classes:
# ---------------------------------------------------------------------------
# castList - Cast List
# ---------------------------------------------------------------------------
CastList:
class_uri: tei:castList
description: |
Cast list (castList) contains a single cast list or dramatis personae.
Typically found in front matter of printed plays, listing all speaking
and non-speaking roles, often with descriptions and actor names.
TEI P5 Chapter 7.1.4 (Cast Lists)
slots:
- xml_id
attributes:
head:
description: Heading for the cast list
range: string
cast_items:
description: Individual cast entries
range: CastItem
multivalued: true
cast_groups:
description: Grouped cast entries
range: CastGroup
multivalued: true
exact_mappings:
- schema:ItemList
annotations:
tei_element: castList
tei_module: drama
glam_hypernym: DOC.CST
# ---------------------------------------------------------------------------
# castGroup - Cast Group
# ---------------------------------------------------------------------------
CastGroup:
class_uri: tei:castGroup
description: |
Cast group (castGroup) groups one or more individual castItem elements
within a cast list.
Used for thematic or functional groupings of characters (e.g., "The
Nobles", "Servants", "The French Court").
TEI P5 Chapter 7.1.4 (Cast Lists)
slots:
- xml_id
attributes:
head:
description: Heading for the group
range: string
cast_items:
description: Cast items in this group
range: CastItem
multivalued: true
role_desc:
description: Description applying to all members
range: string
annotations:
tei_element: castGroup
tei_module: drama
glam_hypernym: DOC.CST.GRP
# ---------------------------------------------------------------------------
# castItem - Cast Item
# ---------------------------------------------------------------------------
CastItem:
class_uri: tei:castItem
description: |
Cast item (castItem) contains a single entry within a cast list,
describing either a single role or a list of non-speaking roles.
May contain role name, role description, and actor name.
TEI P5 Chapter 7.1.4 (Cast Lists)
slots:
- xml_id
- element_type
attributes:
item_type:
description: Type of cast item (role, list)
range: CastItemType
role:
description: The dramatic role
range: Role
role_desc:
description: Description of the role
range: RoleDesc
actor:
description: Actor playing the role
range: Actor
annotations:
tei_element: castItem
tei_module: drama
glam_hypernym: DOC.CST.ITM
# ---------------------------------------------------------------------------
# role - Dramatic Role
# ---------------------------------------------------------------------------
Role:
class_uri: tei:role
description: |
Role (role) contains the name of a dramatic role, as given in a cast list.
The @xml:id attribute may be used to link speeches to roles via @who.
TEI P5 Chapter 7.1.4 (Cast Lists)
slots:
- xml_id
attributes:
role_name:
description: Name of the dramatic role
range: string
required: true
gender:
description: Gender of the role (if specified)
range: string
exact_mappings:
- schema:PerformanceRole
annotations:
tei_element: role
tei_module: drama
glam_hypernym: ROL.DRM
# ---------------------------------------------------------------------------
# roleDesc - Role Description
# ---------------------------------------------------------------------------
RoleDesc:
class_uri: tei:roleDesc
description: |
Role description (roleDesc) describes a character's role in a drama.
May contain character descriptions, relationships, or social status.
TEI P5 Chapter 7.1.4 (Cast Lists)
slots:
- xml_id
attributes:
description_text:
description: Description of the role
range: string
required: true
annotations:
tei_element: roleDesc
tei_module: drama
glam_hypernym: ROL.DRM.DSC
# ---------------------------------------------------------------------------
# actor - Actor Name
# ---------------------------------------------------------------------------
Actor:
class_uri: tei:actor
description: |
Actor (actor) contains the name of an actor appearing within a cast list.
The @ref attribute may link to biographical information.
TEI P5 Chapter 7.1.4 (Cast Lists)
slots:
- xml_id
- ref
attributes:
actor_name:
description: Name of the actor
range: string
required: true
exact_mappings:
- schema:Person
- foaf:Person
annotations:
tei_element: actor
tei_module: drama
glam_hypernym: AGT.PER
# =============================================================================
# CLASSES - SPEECH ELEMENTS
# =============================================================================
# ---------------------------------------------------------------------------
# sp - Speech
# ---------------------------------------------------------------------------
Speech:
class_uri: tei:sp
description: |
Speech (sp) contains an individual speech in a performance text, or a
passage presented as such in a prose or verse text.
Key attributes:
- @who: Points to role/person delivering the speech
TEI P5 Chapter 7.2.2 (Speeches and Speakers)
slots:
- xml_id
- who
attributes:
speaker:
description: Speaker label as printed
range: Speaker
speech_content:
description: Content of the speech (prose, verse, or mixed)
range: string
stage_directions:
description: Embedded stage directions
range: StageDirection
multivalued: true
exact_mappings:
- crm:E33_Linguistic_Object
annotations:
tei_element: sp
tei_module: core
glam_hypernym: TXT.SPH
# ---------------------------------------------------------------------------
# speaker - Speaker Label
# ---------------------------------------------------------------------------
Speaker:
class_uri: tei:speaker
description: |
Speaker (speaker) contains a specialized form of heading or label,
giving the name of one or more speakers in a dramatic text.
Records the actual text used in the source to indicate the speaker,
which may differ from the normalized @who reference.
TEI P5 Chapter 7.2.2 (Speeches and Speakers)
slots:
- xml_id
attributes:
speaker_text:
description: Speaker label as printed
range: string
required: true
annotations:
tei_element: speaker
tei_module: core
glam_hypernym: TXT.SPH.LBL
# ---------------------------------------------------------------------------
# spGrp - Speech Group
# ---------------------------------------------------------------------------
SpeechGroup:
class_uri: tei:spGrp
description: |
Speech group (spGrp) contains a group of speeches or songs in a
performance text presented in a source as constituting a single
unit or 'number'.
Used for musical numbers, songs, ensemble pieces, etc.
TEI P5 Chapter 7.2.3 (Grouped Speeches)
slots:
- xml_id
- element_type
attributes:
head:
description: Heading for the speech group (song title, etc.)
range: string
speeches:
description: Individual speeches in the group
range: Speech
multivalued: true
annotations:
tei_element: spGrp
tei_module: drama
glam_hypernym: TXT.SPH.GRP
# =============================================================================
# CLASSES - STAGE DIRECTION ELEMENTS
# =============================================================================
# ---------------------------------------------------------------------------
# stage - Stage Direction
# ---------------------------------------------------------------------------
StageDirection:
class_uri: tei:stage
description: |
Stage direction (stage) contains any kind of stage direction within
a dramatic text or fragment.
Key @type values:
- setting: Scene description
- entrance/exit: Character movement
- business: Stage action
- delivery: Speech manner
- tech: Technical cues
TEI P5 Chapter 7.2.4 (Stage Directions)
slots:
- xml_id
- element_type
attributes:
direction_type:
description: Type of stage direction
range: StageDirectionType
direction_content:
description: Text of the stage direction
range: string
required: true
exact_mappings:
- crm:E33_Linguistic_Object
annotations:
tei_element: stage
tei_module: core
glam_hypernym: TXT.STG
# ---------------------------------------------------------------------------
# move - Character Movement
# ---------------------------------------------------------------------------
Move:
class_uri: tei:move
description: |
Move (move) marks the actual movement of one or more characters.
Used to track entrances, exits, and on-stage movement independently
of stage directions, allowing precise reconstruction of who is on
stage at any moment.
Key attributes:
- @who: Character(s) moving
- @type: entrance/exit/onStage
- @where: Location on stage
- @perf: Specific performance
TEI P5 Chapter 7.2.4 (Stage Directions)
slots:
- xml_id
- who
- element_type
- where_attr
- perf
attributes:
move_type:
description: Type of movement
range: MoveType
annotations:
tei_element: move
tei_module: drama
glam_hypernym: TXT.STG.MOV
# =============================================================================
# CLASSES - FRONT/BACK MATTER ELEMENTS
# =============================================================================
# ---------------------------------------------------------------------------
# set - Setting Description
# ---------------------------------------------------------------------------
Set:
class_uri: tei:set
description: |
Setting (set) contains a description of the setting, time, locale,
appearance, etc., of the action of a play, typically found in the
front matter of a printed performance text.
Distinct from stage directions which appear in the body.
TEI P5 Chapter 7.1.2 (Front and Back Matter)
slots:
- xml_id
attributes:
setting_description:
description: Description of the setting
range: string
required: true
annotations:
tei_element: set
tei_module: drama
glam_hypernym: DOC.SET
# ---------------------------------------------------------------------------
# prologue - Prologue
# ---------------------------------------------------------------------------
Prologue:
class_uri: tei:prologue
description: |
Prologue (prologue) contains the prologue to a drama, typically spoken
by an actor out of character, possibly in association with a particular
performance or venue.
TEI P5 Chapter 7.1.2 (Front and Back Matter)
slots:
- xml_id
- perf
attributes:
prologue_content:
description: Text of the prologue
range: string
required: true
performance_ref:
description: Reference to specific performance
range: uriorcurie
annotations:
tei_element: prologue
tei_module: drama
glam_hypernym: TXT.PRO
# ---------------------------------------------------------------------------
# epilogue - Epilogue
# ---------------------------------------------------------------------------
Epilogue:
class_uri: tei:epilogue
description: |
Epilogue (epilogue) contains the epilogue to a drama, typically spoken
by an actor out of character, possibly in association with a particular
performance or venue.
TEI P5 Chapter 7.1.2 (Front and Back Matter)
slots:
- xml_id
- perf
attributes:
epilogue_content:
description: Text of the epilogue
range: string
required: true
performance_ref:
description: Reference to specific performance
range: uriorcurie
annotations:
tei_element: epilogue
tei_module: drama
glam_hypernym: TXT.EPI
# ---------------------------------------------------------------------------
# performance - Performance Record
# ---------------------------------------------------------------------------
Performance:
class_uri: tei:performance
description: |
Performance (performance) contains a section of front or back matter
describing how a dramatic piece is to be performed in general or how
it was performed on some specific occasion.
May include cast lists, venue, date, and production details for
specific historical performances.
TEI P5 Chapter 7.1.3 (Records of Performances)
slots:
- xml_id
- element_type
attributes:
performance_type:
description: Type of performance (premiere, revival, etc.)
range: PerformanceType
venue:
description: Theater or venue name
range: string
date:
description: Date of performance
range: string
location:
description: City/location of performance
range: string
cast_list:
description: Cast list for this performance
range: CastList
notes:
description: Additional performance notes
range: string
exact_mappings:
- schema:TheaterEvent
- crm:E7_Activity
annotations:
tei_element: performance
tei_module: drama
glam_hypernym: TMP.EVT.PRF
# =============================================================================
# GLAM-NER HYPERNYM MAPPINGS SUMMARY
# =============================================================================
#
# This module covers performance text encoding from TEI Chapter 7.
# Primary GLAM-NER hypernym mappings:
#
# DOC.CST (Cast List):
# - CastList - Dramatis personae
# - CastGroup - Grouped cast entries
# - CastItem - Individual cast entry
#
# ROL.DRM (Dramatic Role):
# - Role - Character name
# - RoleDesc - Role description
#
# AGT.PER (Person):
# - Actor - Actor name
#
# TXT.SPH (Speech):
# - Speech - Dramatic speech
# - Speaker - Speaker label
# - SpeechGroup - Grouped speeches (songs, etc.)
#
# TXT.STG (Stage Direction):
# - StageDirection - Stage direction text
# - Move - Character movement
#
# DOC.SET (Setting):
# - Set - Setting description
#
# TXT.PRO (Prologue):
# - Prologue - Prologue text
#
# TXT.EPI (Epilogue):
# - Epilogue - Epilogue text
#
# TMP.EVT.PRF (Performance Event):
# - Performance - Performance record
#
# =============================================================================
# ONTOLOGY MAPPINGS
# =============================================================================
#
# CIDOC-CRM:
# - Speech → crm:E33_Linguistic_Object
# - StageDirection → crm:E33_Linguistic_Object
# - Performance → crm:E7_Activity
#
# Schema.org:
# - CastList → schema:ItemList
# - Role → schema:PerformanceRole
# - Actor → schema:Person
# - Performance → schema:TheaterEvent
#
# FOAF:
# - Actor → foaf:Person
#
# FRBRoo:
# - Performance → frbroo:F31_Performance
#
# =============================================================================
# USAGE NOTES
# =============================================================================
#
# Drama module is used for:
# 1. Play text encoding (theater, radio, film scripts)
# 2. Theater archive cataloging
# 3. Performance history documentation
# 4. Dramatic text analysis
# 5. Cast and character databases
# 6. Stage direction markup
# 7. Digital critical editions of plays
#
# Key encoding patterns:
# - <castList>/<castItem>/<role> for cast lists
# - <sp who="#charID">/<speaker> for speeches
# - <stage type="entrance"> for stage directions
# - <move who="#charID" type="exit"/> for movement tracking
# - <performance>/<castList> for specific performance records
# - @who attribute links speeches to roles/characters
#
# Integration with other modules:
# - namesdates: Actor biographical data
# - verse: Verse speeches
# - linking: Standoff annotation
# - header: Performance metadata
# - spoken: Oral performance transcription
#
# Heritage Institution Applications:
# - Theater archives and special collections
# - Performance studies databases
# - Playwright manuscript collections
# - Historical theater research
# - Digital humanities drama projects
#
# =============================================================================
# VERSION HISTORY
# =============================================================================
#
# Version 1.0.0 (2025-12-03):
# - Initial release covering TEI P5 Chapter 7 (Performance Texts)
# - 15 class definitions for drama elements
# - 4 enum definitions for drama classification
# - Cast list elements: castList, castGroup, castItem, role, roleDesc, actor
# - Speech elements: sp, speaker, spGrp
# - Stage direction: stage, move
# - Front/back matter: set, prologue, epilogue, performance
# - Ontology mappings: CIDOC-CRM, Schema.org, FOAF
# - GLAM-NER hypernym annotations
#
# =============================================================================