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

720 lines
22 KiB
YAML

# =============================================================================
# GLAM-NER: TEI P5 CRITICAL APPARATUS MODULE
# =============================================================================
# Module: modules/advanced/tei/textcrit.yaml
# Parent: entity_annotation_rules_v1.7.0_unified.yaml
# Purpose: LinkML schema for TEI P5 Chapter 13 - Critical Apparatus
# Source: TEI P5 4.10.2 (September 2025) - textcrit module
# =============================================================================
# This module provides LinkML class definitions for encoding textual variants,
# critical apparatus, and scholarly editorial practices. Essential for digital
# scholarly editions, manuscript collation, and philological research.
# =============================================================================
id: https://w3id.org/glam/ner/tei/textcrit
name: glam-ner-tei-textcrit
title: TEI P5 Critical Apparatus 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/
frbr: http://purl.org/vocab/frbr/core#
frbroo: http://iflastandards.info/ns/fr/frbr/frbroo/
oa: http://www.w3.org/ns/oa#
xsd: http://www.w3.org/2001/XMLSchema#
default_prefix: glam
default_range: string
# =============================================================================
# IMPORTS
# =============================================================================
imports:
- linkml:types
# =============================================================================
# ENUMS
# =============================================================================
enums:
# ---------------------------------------------------------------------------
# Variant Type
# ---------------------------------------------------------------------------
VariantType:
description: Classification of textual variants
permissible_values:
substantive:
description: Variant affecting meaning or interpretation
orthographic:
description: Variant affecting spelling only
punctuation:
description: Variant in punctuation
word_order:
description: Different word order
addition:
description: Text added in witness
omission:
description: Text omitted in witness
substitution:
description: Text replaced in witness
transposition:
description: Text moved to different location
# ---------------------------------------------------------------------------
# Variant Cause
# ---------------------------------------------------------------------------
VariantCause:
description: Classification of causes for variant readings
permissible_values:
homeoteleuton:
description: Similar word endings causing scribal error
homeoarchy:
description: Similar word beginnings causing scribal error
paleographic_confusion:
description: Misreading of similar letter forms
haplography:
description: Single writing of repeated text
dittography:
description: Double writing of single text
false_emendation:
description: Incorrect editorial correction
metathesis:
description: Transposition of letters or words
contamination:
description: Influence from another manuscript tradition
conjecture:
description: Editorial guess without manuscript support
interpolation:
description: Later addition to text
lacuna:
description: Gap in text due to damage
illegibility:
description: Text unreadable in source
# ---------------------------------------------------------------------------
# Apparatus Entry Type
# ---------------------------------------------------------------------------
AppType:
description: Types of apparatus entries
permissible_values:
positive:
description: Entry records readings for all witnesses
negative:
description: Entry records only variants from base text
parallel:
description: Entry presents parallel passages
source:
description: Entry identifies sources
# ---------------------------------------------------------------------------
# Witness Reliability
# ---------------------------------------------------------------------------
WitnessReliability:
description: Classification of witness reliability
permissible_values:
primary:
description: Primary/authoritative witness
secondary:
description: Secondary/derived witness
tertiary:
description: Tertiary/indirect witness
fragmentary:
description: Incomplete witness
lost:
description: No longer extant witness
hypothetical:
description: Reconstructed/hypothetical witness
# ---------------------------------------------------------------------------
# Reading Certainty
# ---------------------------------------------------------------------------
ReadingCertainty:
description: Certainty of a textual reading
permissible_values:
certain:
description: Reading is certain
probable:
description: Reading is probable
possible:
description: Reading is possible but uncertain
uncertain:
description: Reading is highly uncertain
illegible:
description: Reading cannot be determined
# ---------------------------------------------------------------------------
# Edition Method
# ---------------------------------------------------------------------------
EditionMethod:
description: Method used in preparing critical edition
permissible_values:
eclectic:
description: Best reading selected from multiple witnesses
copy_text:
description: Single witness used as base with variants
documentary:
description: Single witness transcribed exactly
genetic:
description: Witnesses arranged in genetic sequence
parallel:
description: Witnesses presented in parallel
# =============================================================================
# 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
# ---------------------------------------------------------------------------
# Critical Apparatus Slots
# ---------------------------------------------------------------------------
wit:
description: Space-delimited list of witness sigla
range: string
slot_uri: tei:wit
wit_detail:
description: Detailed witness information
range: string
source:
description: Source of reading or emendation
range: uriorcurie
resp:
description: Person responsible for reading/emendation
range: uriorcurie
slot_uri: tei:resp
cert:
description: Certainty of the reading
range: ReadingCertainty
hand:
description: Hand responsible for variant in manuscript
range: uriorcurie
variant_type:
description: Type of variant
range: VariantType
variant_cause:
description: Cause of variant
range: VariantCause
var_seq:
description: Position in sequence of variants
range: integer
location:
description: Location in text where variant occurs
range: string
from_loc:
description: Start location for inline apparatus
range: uriorcurie
to_loc:
description: End location for inline apparatus
range: uriorcurie
# =============================================================================
# CLASSES
# =============================================================================
classes:
# ---------------------------------------------------------------------------
# Apparatus Entry
# ---------------------------------------------------------------------------
App:
description: |
Apparatus entry (app) contains one entry in a critical apparatus,
with an optional lemma and at least one reading or reading group.
This is the primary container for textual variants.
class_uri: tei:app
slots:
- xml_id
- from_loc
- to_loc
- location
attributes:
app_type:
description: Type of apparatus entry
range: AppType
lem:
description: Lemma (base text reading)
range: Lem
readings:
description: Variant readings
range: Rdg
multivalued: true
reading_groups:
description: Groups of related readings
range: RdgGrp
multivalued: true
notes:
description: Notes on the apparatus entry
range: Note
multivalued: true
wit_details:
description: Detailed witness information
range: WitDetail
multivalued: true
exact_mappings:
- crm:E33_Linguistic_Object
annotations:
tei_element: app
tei_module: textcrit
glam_hypernym: TXT.VAR
# ---------------------------------------------------------------------------
# Lemma
# ---------------------------------------------------------------------------
Lem:
description: |
Lemma (lem) contains the base text reading against which variants
are recorded in an apparatus entry.
class_uri: tei:lem
slots:
- xml_id
- wit
- resp
- source
- hand
- cert
attributes:
lem_text:
description: The lemma text
range: string
variant_type:
description: Type classification
range: VariantType
wit_refs:
description: References to supporting witnesses
range: uriorcurie
multivalued: true
exact_mappings:
- crm:E33_Linguistic_Object
annotations:
tei_element: lem
tei_module: textcrit
glam_hypernym: TXT.VAR
# ---------------------------------------------------------------------------
# Reading
# ---------------------------------------------------------------------------
Rdg:
description: |
Reading (rdg) contains a single variant reading within a textual
variation. Each reading represents a distinct textual state.
class_uri: tei:rdg
slots:
- xml_id
- wit
- resp
- source
- hand
- cert
- var_seq
attributes:
rdg_text:
description: The variant reading text
range: string
variant_type:
description: Type of variant
range: VariantType
variant_cause:
description: Cause of the variant
range: VariantCause
wit_refs:
description: References to supporting witnesses
range: uriorcurie
multivalued: true
exact_mappings:
- crm:E33_Linguistic_Object
annotations:
tei_element: rdg
tei_module: textcrit
glam_hypernym: TXT.VAR
# ---------------------------------------------------------------------------
# Reading Group
# ---------------------------------------------------------------------------
RdgGrp:
description: |
Reading group (rdgGrp) groups two or more readings perceived to have
a genetic relationship or other affinity within a textual variation.
class_uri: tei:rdgGrp
slots:
- xml_id
attributes:
rdg_grp_type:
description: Type of reading group
range: string
readings:
description: Readings in this group
range: Rdg
multivalued: true
required: true
nested_groups:
description: Nested reading groups
range: RdgGrp
multivalued: true
annotations:
tei_element: rdgGrp
tei_module: textcrit
glam_hypernym: TXT.VAR
# ---------------------------------------------------------------------------
# Witness
# ---------------------------------------------------------------------------
Witness:
description: |
Witness (witness) contains either a description or a bibliographic
reference for a witness to the text.
class_uri: tei:witness
slots:
- xml_id
- xml_lang
attributes:
witness_text:
description: Description of the witness
range: string
bibl:
description: Bibliographic reference
range: Bibl
ms_desc_ref:
description: Reference to manuscript description
range: uriorcurie
reliability:
description: Reliability classification
range: WitnessReliability
exact_mappings:
- frbroo:F4_Manifestation_Singleton
- crm:E22_Human-Made_Object
annotations:
tei_element: witness
tei_module: textcrit
glam_hypernym: THG.OBJ
# ---------------------------------------------------------------------------
# List of Witnesses
# ---------------------------------------------------------------------------
ListWit:
description: |
List of witnesses (listWit) contains a list of witnesses used in
the critical apparatus.
class_uri: tei:listWit
slots:
- xml_id
attributes:
head:
description: Heading for the list
range: string
witnesses:
description: Witness entries
range: Witness
multivalued: true
required: true
nested_lists:
description: Nested witness lists (for grouping)
range: ListWit
multivalued: true
annotations:
tei_element: listWit
tei_module: textcrit
glam_hypernym: THG.OBJ
# ---------------------------------------------------------------------------
# Witness Detail
# ---------------------------------------------------------------------------
WitDetail:
description: |
Witness detail (witDetail) provides additional information about
a witness's reading in a specific apparatus entry.
class_uri: tei:witDetail
slots:
- xml_id
- wit
- resp
attributes:
wit_detail_type:
description: Type of witness detail
range: string
target:
description: Target reading or lemma
range: uriorcurie
detail_text:
description: Detail description
range: string
annotations:
tei_element: witDetail
tei_module: textcrit
glam_hypernym: DOC.MET
# ---------------------------------------------------------------------------
# Witness Start
# ---------------------------------------------------------------------------
WitStart:
description: |
Witness start (witStart) indicates the beginning of a text's
presence in a fragmentary witness.
class_uri: tei:witStart
slots:
- xml_id
- wit
annotations:
tei_element: witStart
tei_module: textcrit
glam_hypernym: DOC.MET
# ---------------------------------------------------------------------------
# Witness End
# ---------------------------------------------------------------------------
WitEnd:
description: |
Witness end (witEnd) indicates the end of a text's presence in
a fragmentary witness.
class_uri: tei:witEnd
slots:
- xml_id
- wit
annotations:
tei_element: witEnd
tei_module: textcrit
glam_hypernym: DOC.MET
# ---------------------------------------------------------------------------
# Lacuna Start
# ---------------------------------------------------------------------------
LacunaStart:
description: |
Lacuna start (lacunaStart) indicates the beginning of a lacuna
in the text of a particular witness.
class_uri: tei:lacunaStart
slots:
- xml_id
- wit
attributes:
lacuna_cause:
description: Cause of lacuna
range: string
annotations:
tei_element: lacunaStart
tei_module: textcrit
glam_hypernym: DOC.MET
# ---------------------------------------------------------------------------
# Lacuna End
# ---------------------------------------------------------------------------
LacunaEnd:
description: |
Lacuna end (lacunaEnd) indicates the end of a lacuna in the text
of a particular witness.
class_uri: tei:lacunaEnd
slots:
- xml_id
- wit
annotations:
tei_element: lacunaEnd
tei_module: textcrit
glam_hypernym: DOC.MET
# ---------------------------------------------------------------------------
# Variant Encoding
# ---------------------------------------------------------------------------
VarReadings:
description: |
Variant readings configuration defining how variants are encoded
in the edition.
class_uri: tei:variantEncoding
slots:
- xml_id
attributes:
method:
description: Method of variant encoding
range: EditionMethod
location:
description: Location of apparatus (internal/external)
range: string
annotations:
tei_element: variantEncoding
tei_module: textcrit
glam_hypernym: DOC.MET
# ---------------------------------------------------------------------------
# Note Element (for textcrit context)
# ---------------------------------------------------------------------------
Note:
description: |
Note containing editorial commentary on apparatus entries.
class_uri: tei:note
slots:
- xml_id
- xml_lang
- resp
attributes:
note_text:
description: Note content
range: string
note_type:
description: Type of note (editorial, textual, etc.)
range: string
target:
description: Target of note
range: uriorcurie
exact_mappings:
- oa:Annotation
annotations:
tei_element: note
tei_module: core
glam_hypernym: DOC.MET
# ---------------------------------------------------------------------------
# Bibliographic Reference (for textcrit context)
# ---------------------------------------------------------------------------
Bibl:
description: |
Bibliographic reference for witnesses or sources.
class_uri: tei:bibl
slots:
- xml_id
- xml_lang
attributes:
bibl_text:
description: Citation text
range: string
ref:
description: Reference to full record
range: uriorcurie
exact_mappings:
- dcterms:bibliographicCitation
annotations:
tei_element: bibl
tei_module: core
glam_hypernym: WRK
# ---------------------------------------------------------------------------
# List of Apps (for external apparatus)
# ---------------------------------------------------------------------------
ListApp:
description: |
List of apparatus entries (listApp) for external apparatus files.
class_uri: tei:listApp
slots:
- xml_id
attributes:
head:
description: Heading for apparatus section
range: string
apps:
description: Apparatus entries
range: App
multivalued: true
annotations:
tei_element: listApp
tei_module: textcrit
glam_hypernym: DOC.MET
# =============================================================================
# GLAM-NER HYPERNYM MAPPINGS SUMMARY
# =============================================================================
#
# This module covers critical apparatus elements from TEI Chapter 13.
# Primary GLAM-NER hypernym mappings:
#
# TXT.VAR (Textual Variant):
# - App (apparatus entry)
# - Lem (lemma/base text)
# - Rdg (variant reading)
# - RdgGrp (reading group)
#
# THG.OBJ (Physical Object - Manuscript Witnesses):
# - Witness (textual witness)
# - ListWit (witness list)
#
# DOC.MET (Document Metadata):
# - WitDetail, WitStart, WitEnd
# - LacunaStart, LacunaEnd
# - VarReadings (encoding configuration)
# - Note, ListApp
#
# WRK (Creative Work):
# - Bibl (bibliographic reference)
#
# =============================================================================
# ONTOLOGY MAPPINGS
# =============================================================================
#
# CIDOC-CRM:
# - App, Lem, Rdg → crm:E33_Linguistic_Object
# - Witness → crm:E22_Human-Made_Object
#
# FRBRoo:
# - Witness → frbroo:F4_Manifestation_Singleton
# (Each witness is a unique physical manifestation)
#
# Dublin Core:
# - Bibl → dcterms:bibliographicCitation
#
# Web Annotation:
# - Note → oa:Annotation
# (Editorial notes function as annotations on text)
#
# =============================================================================
# USAGE NOTES
# =============================================================================
#
# Critical apparatus is used for:
# 1. Scholarly editions with variant readings
# 2. Manuscript collation projects
# 3. Philological analysis
# 4. Genetic criticism (tracking composition stages)
# 5. Digital humanities text analysis
#
# Key patterns:
# - <app> contains one lemma (<lem>) and multiple readings (<rdg>)
# - @wit attribute references witnesses supporting each reading
# - <listWit> in header defines all witnesses
# - @type, @cause classify variants for analysis
# - External apparatus via <listApp> in separate file
#
# Integration with NER:
# - Person names in witnesses → AGT.PER
# - Place names in witnesses → GEO
# - Date references → TMP.DAT
# - Work titles in witnesses → WRK
#
# =============================================================================
# VERSION HISTORY
# =============================================================================
#
# Version 1.0.0 (2025-12-03):
# - Initial release covering TEI P5 Chapter 13 (Critical Apparatus)
# - 16 class definitions
# - 6 enum definitions for variant classification
# - Ontology mappings to CIDOC-CRM, FRBRoo, Dublin Core, Web Annotation
# - GLAM-NER hypernym annotations for all relevant elements
# - Support for both inline and external apparatus
# - Comprehensive variant cause classification
#
# =============================================================================