glam/schemas/20251121/linkml/modules/classes/VideoChapterList.yaml
kempersc 3da90b940e
All checks were successful
Deploy Frontend / build-and-deploy (push) Successful in 2m4s
feat(schema): complete multiple slot_fixes.yaml migrations
Session 2026-01-19: Completed remaining migrations per Rules 53/56/60.

Major migrations:
1. claim_type → has_or_had_type + ClaimType/ClaimTypes (60+ concrete types in 11 categories)
2. circumstances_of_death → is_deceased + DeceasedStatus + CauseOfDeath
3. claims_count → has_or_had_quantity + Quantity (with based_on_claim for provenance)
4. classification_status → has_or_had_type + ClassificationStatusType

Created files:
- ClaimType.yaml, ClaimTypes.yaml (abstract base + 60+ concrete subclasses)
- DeceasedStatus.yaml, CauseOfDeath.yaml, CauseOfDeathTypeEnum.yaml
- ClassificationStatus.yaml, ClassificationStatusType.yaml, ClassificationStatusTypes.yaml
- CITESAppendix.yaml, City.yaml, CertaintyLevel.yaml
- is_deceased.yaml, is_or_was_caused_by.yaml, based_on_claim.yaml

Archived slots:
- claim_type, circumstances_of_death, claims_count, classification_status

Added Rule 60 to AGENTS.md: No Migration Deferral - agents MUST execute all migrations.

All 527 slot_fixes.yaml entries now complete (100%).
2026-01-19 13:05:53 +01:00

170 lines
6.2 KiB
YAML

id: https://nde.nl/ontology/hc/class/VideoChapterList
name: video_chapter_list_class
title: Video Chapter List Class
imports:
- linkml:types
- ./VideoChapter
- ../slots/specificity_annotation
- ./SpecificityAnnotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17)
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
# REMOVED 2026-01-19: ChapterSourceEnum - migrated to Source class (Rule 53)
# - ../enums/ChapterSourceEnum
# REMOVED - migrated to has_or_had_identifier with VideoIdentifier (2026-01-14, Rule 53)
# - ../slots/video_id
- ../slots/has_or_had_identifier
- ./VideoIdentifier
- ../slots/has_or_had_chapter
# REMOVED 2026-01-14: ../slots/total_chapter - migrated to has_or_had_quantity with Quantity
- ../slots/has_or_had_quantity
- ./Quantity
# REMOVED 2026-01-19: chapters_source - migrated to has_or_had_source + Source (Rule 53)
# - ../slots/chapters_source
- ../slots/has_or_had_source
- ./Source
# REMOVED 2026-01-19: chapters_generated_at - migrated to is_or_was_generated_by + GenerationEvent (Rule 53)
# - ../slots/chapters_generated_at
- ../slots/is_or_was_generated_by
- ./GenerationEvent
- ./Provenance
- ./TimeSpan
- ../slots/covers_full_video
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
prov: http://www.w3.org/ns/prov#
default_prefix: hc
classes:
VideoChapterList:
class_uri: schema:ItemList
description: 'A collection of chapters for a video.
Groups all chapters for a video with metadata about the chapter set.
Enables bulk operations on chapters:
- Import/export of chapter lists
- Validation of chapter coverage
- Source tracking for entire chapter set
'
exact_mappings:
- schema:ItemList
slots:
- has_or_had_chapter
# REMOVED 2026-01-19: chapters_generated_at - migrated to is_or_was_generated_by + GenerationEvent (Rule 53)
# - chapters_generated_at
- is_or_was_generated_by
# REMOVED 2026-01-19: chapters_source - migrated to has_or_had_source + Source (Rule 53)
# - chapters_source
- has_or_had_source
- covers_full_video
- has_or_had_quantity # ADDED 2026-01-14: replaces total_chapter
- specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
# REMOVED 2026-01-14: total_chapter - migrated to has_or_had_quantity
# REMOVED - migrated to has_or_had_identifier (2026-01-14, Rule 53)
# - video_id
- has_or_had_identifier
slot_usage:
# MIGRATED from video_id (2026-01-14, Rule 53)
# video_id:
# range: string
# required: true
has_or_had_identifier:
description: Reference to the parent video
range: VideoIdentifier
required: true
inlined: true
examples:
- value: '{"has_or_had_code": "dQw4w9WgXcQ", "platform": "YouTube"}'
description: YouTube video identifier
has_or_had_chapter:
range: VideoChapter
multivalued: true
required: true
inlined_as_list: true
# REMOVED 2026-01-14: total_chapter - migrated to has_or_had_quantity
# total_chapter:
# range: integer
# required: false
# minimum_value: 0
has_or_had_quantity:
range: Quantity
required: false
inlined: true
description: |
Total number of chapters in this list.
MIGRATED 2026-01-14: Replaces total_chapter slot.
examples:
- value:
quantity_value: 12
quantity_type: CHAPTER_COUNT
has_or_had_measurement_unit:
has_or_had_type: CHAPTER
has_or_had_symbol: "chapters"
description: 12 chapters in this video
# REMOVED 2026-01-19: chapters_source - migrated to has_or_had_source + Source (Rule 53)
# chapters_source:
# range: ChapterSourceEnum
# required: false
has_or_had_source:
description: >-
Primary source for this chapter list. Uses Source class to capture
how chapters were generated (manual, AI, imported, etc.).
range: Source
required: false
inlined: true
examples:
- value:
has_or_had_type: MANUAL
has_or_had_label: "Creator-defined chapters"
description: Manually defined chapters
- value:
has_or_had_type: YOUTUBE_AI
has_or_had_label: "YouTube Auto-Chapters"
description: YouTube AI-generated chapters
- value:
has_or_had_type: WHISPER_CHAPTERS
has_or_had_label: "Whisper Analysis"
has_or_had_description: "Generated from transcript topic segmentation"
description: Whisper-derived chapters
# REMOVED 2026-01-19: chapters_generated_at - migrated to is_or_was_generated_by + GenerationEvent (Rule 53)
# chapters_generated_at:
# range: datetime
# required: false
is_or_was_generated_by:
description: >-
Generation event capturing when and how the chapter list was created.
MIGRATED 2026-01-19: Replaces chapters_generated_at slot (Rule 53).
range: GenerationEvent
required: false
inlined: true
examples:
- value:
temporal_extent:
begin_of_the_begin: "2024-01-15T10:30:00Z"
end_of_the_end: "2024-01-15T10:30:00Z"
has_or_had_provenance:
has_or_had_agent:
has_or_had_type: SOFTWARE
has_or_had_name: "YouTube Auto-Chapters"
has_or_had_description: "AI-generated chapters from video analysis"
description: AI chapter generation event with timestamp and provenance
- value:
temporal_extent:
begin_of_the_begin: "2024-03-20T14:00:00Z"
has_or_had_description: "Manually created by content creator"
description: Manual chapter creation event
covers_full_video:
range: boolean
required: false