Refactor chapter slots and migrate to generic slots

- Deleted obsolete chapter slots: chapter_description, chapter_end_seconds, chapter_end_time, chapter_id, chapter_index, chapter_source, chapter_start_seconds, chapter_start_time, humidity_tolerance, parent_chapter_id.
- Archived previous versions of deleted slots for reference.
- Introduced new generic slots: end_seconds, end_time, has_or_had_parent, has_or_had_sequence_index to streamline schema and improve consistency.
- Updated descriptions and mappings for new slots to ensure clarity and maintain functionality.
This commit is contained in:
kempersc 2026-01-28 12:16:48 +01:00
parent d69227897b
commit c51b3e1cbf
21 changed files with 314 additions and 111 deletions

View file

@ -18097,8 +18097,8 @@ fixes:
type: class
processed:
status: true
date: '2026-01-27'
notes: 'Auto-marked: Targets exist: slot has_or_had_policy exists, class Humidity exists, slot has_or_had_tolerance exists, class HumidityTolerance exists'
date: '2026-01-28'
notes: 'FULLY MIGRATED: Humidity.yaml updated to use has_or_had_tolerance -> HumidityTolerance. humidity_tolerance.yaml archived.'
- original_slot_id: https://nde.nl/ontology/hc/slot/hypernym_event_type
revision:
- label: has_or_had_hypernym

View file

@ -1,5 +1,5 @@
{
"generated": "2026-01-28T09:49:50.019Z",
"generated": "2026-01-28T11:06:05.939Z",
"schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 3000,
"categoryCounts": {

View file

@ -1,5 +1,5 @@
{
"generated": "2026-01-28T11:06:05.939Z",
"generated": "2026-01-28T11:16:49.256Z",
"schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 3000,
"categoryCounts": {

View file

@ -23,16 +23,8 @@ imports:
- ./TemplateSpecificityTypes
- ../slots/environmental_zone_type_code
- ../slots/has_or_had_uri
- ../slots/humidity_target
- ../slots/max_annual_light_exposure
- ../slots/max_light_lux
- ../slots/requires_dark_storage
- ../slots/requires_dust_free
- ../slots/requires_esd_protection
- ../slots/requires_uv_filter
- ../slots/environmental_zone_type_code
- ../slots/has_or_had_uri
- ../slots/humidity_target
- ../slots/has_or_had_setpoint # MIGRATED 2026-01-28: replaced humidity_target, temperature_target
# - ../slots/humidity_target - REMOVED 2026-01-28
- ../slots/max_annual_light_exposure
- ../slots/max_light_lux
- ../slots/requires_dark_storage
@ -40,20 +32,10 @@ imports:
- ../slots/requires_esd_protection
- ../slots/requires_uv_filter
- ../slots/specificity_annotation
- ../slots/temperature_target
- ../slots/has_or_had_score
- ../slots/environmental_zone_type_code
- ../slots/has_or_had_uri
- ../slots/humidity_target
- ../slots/max_annual_light_exposure
- ../slots/max_light_lux
- ../slots/requires_dark_storage
- ../slots/requires_dust_free
- ../slots/requires_esd_protection
- ../slots/requires_uv_filter
- ../slots/specificity_annotation
- ../slots/temperature_target
# - ../slots/temperature_target - REMOVED 2026-01-28
- ../slots/has_or_had_score
- ../classes/Setpoint
classes:
ArchiveStandardStorageEnvironment:
is_a: EnvironmentalZoneType
@ -69,15 +51,30 @@ classes:
slot_usage:
environmental_zone_type_code:
equals_string: ARCHIVE_STANDARD
temperature_target:
equals_number: 18.0
humidity_target:
equals_number: 50.0
has_or_had_setpoint:
range: Setpoint
multivalued: true
inlined: true
inlined_as_list: true
examples:
- value:
- setpoint_type: TEMPERATURE
setpoint_value: 18.0
setpoint_min: 16.0
setpoint_max: 20.0
- setpoint_type: RELATIVE_HUMIDITY
setpoint_value: 50.0
setpoint_min: 45.0
setpoint_max: 55.0
# temperature_target: REMOVED 2026-01-28 - migrated to has_or_had_setpoint
# humidity_target: REMOVED 2026-01-28 - migrated to has_or_had_setpoint
max_light_lux:
equals_number: 50.0
has_or_had_uri:
equals_string: hc:StandardArchiveEnvironment
slots:
- has_or_had_setpoint
- specificity_annotation
- has_or_had_score
comments:
@ -111,10 +108,19 @@ classes:
slot_usage:
environmental_zone_type_code:
equals_string: COLD_STORAGE
temperature_target:
equals_number: -5.0
humidity_target:
equals_number: 30.0
has_or_had_setpoint:
range: Setpoint
multivalued: true
inlined: true
inlined_as_list: true
examples:
- value:
- setpoint_type: TEMPERATURE
setpoint_value: -5.0
- setpoint_type: RELATIVE_HUMIDITY
setpoint_value: 30.0
setpoint_min: 25.0
setpoint_max: 35.0
max_light_lux:
equals_number: 0.0
requires_dark_storage:
@ -122,6 +128,8 @@ classes:
has_or_had_uri:
equals_string: hc:ColdStorageEnvironment
slots:
- has_or_had_setpoint
- specificity_annotation
- has_or_had_score
comments:
@ -148,15 +156,28 @@ classes:
slot_usage:
environmental_zone_type_code:
equals_string: FROZEN_STORAGE
temperature_target:
equals_number: -20.0
humidity_target:
equals_number: 30.0
has_or_had_setpoint:
range: Setpoint
multivalued: true
inlined: true
inlined_as_list: true
examples:
- value:
- setpoint_type: TEMPERATURE
setpoint_value: -20.0
setpoint_min: -25.0
setpoint_max: -18.0
- setpoint_type: RELATIVE_HUMIDITY
setpoint_value: 30.0
setpoint_min: 25.0
setpoint_max: 35.0
max_light_lux:
equals_number: 0.0
requires_dark_storage:
equals_expression: 'true'
slots:
- has_or_had_setpoint
- specificity_annotation
- has_or_had_score
comments:
@ -187,10 +208,21 @@ classes:
slot_usage:
environmental_zone_type_code:
equals_string: PHOTOGRAPHIC
temperature_target:
equals_number: 15.0
humidity_target:
equals_number: 35.0
has_or_had_setpoint:
range: Setpoint
multivalued: true
inlined: true
inlined_as_list: true
examples:
- value:
- setpoint_type: TEMPERATURE
setpoint_value: 15.0
setpoint_min: 10.0
setpoint_max: 18.0
- setpoint_type: RELATIVE_HUMIDITY
setpoint_value: 35.0
setpoint_min: 30.0
setpoint_max: 40.0
max_light_lux:
equals_number: 50.0
requires_uv_filter:
@ -198,6 +230,8 @@ classes:
has_or_had_uri:
equals_string: hc:PhotographicMaterialsEnvironment
slots:
- has_or_had_setpoint
- specificity_annotation
- has_or_had_score
comments:
@ -227,10 +261,21 @@ classes:
slot_usage:
environmental_zone_type_code:
equals_string: TEXTILE
temperature_target:
equals_number: 18.0
humidity_target:
equals_number: 50.0
has_or_had_setpoint:
range: Setpoint
multivalued: true
inlined: true
inlined_as_list: true
examples:
- value:
- setpoint_type: TEMPERATURE
setpoint_value: 18.0
setpoint_min: 15.0
setpoint_max: 20.0
- setpoint_type: RELATIVE_HUMIDITY
setpoint_value: 50.0
setpoint_min: 45.0
setpoint_max: 55.0
max_light_lux:
equals_number: 50.0
max_annual_light_exposure:
@ -240,6 +285,8 @@ classes:
has_or_had_uri:
equals_string: hc:TextileStorageEnvironment
slots:
- has_or_had_setpoint
- specificity_annotation
- has_or_had_score
comments:
@ -268,11 +315,24 @@ classes:
slot_usage:
environmental_zone_type_code:
equals_string: ART_STORAGE
temperature_target:
equals_number: 20.0
humidity_target:
equals_number: 50.0
has_or_had_setpoint:
range: Setpoint
multivalued: true
inlined: true
inlined_as_list: true
examples:
- value:
- setpoint_type: TEMPERATURE
setpoint_value: 20.0
setpoint_min: 18.0
setpoint_max: 22.0
- setpoint_type: RELATIVE_HUMIDITY
setpoint_value: 50.0
setpoint_min: 45.0
setpoint_max: 55.0
slots:
- has_or_had_setpoint
- specificity_annotation
- has_or_had_score
comments:
@ -299,11 +359,23 @@ classes:
slot_usage:
environmental_zone_type_code:
equals_string: METAL_OBJECTS
temperature_target:
equals_number: 20.0
humidity_target:
equals_number: 30.0
has_or_had_setpoint:
range: Setpoint
multivalued: true
inlined: true
inlined_as_list: true
examples:
- value:
- setpoint_type: TEMPERATURE
setpoint_value: 20.0
setpoint_min: 15.0
setpoint_max: 25.0
- setpoint_type: RELATIVE_HUMIDITY
setpoint_value: 30.0
setpoint_max: 35.0
slots:
- has_or_had_setpoint
- specificity_annotation
- has_or_had_score
comments:
@ -324,11 +396,24 @@ classes:
slot_usage:
environmental_zone_type_code:
equals_string: NATURAL_HISTORY
temperature_target:
equals_number: 20.0
humidity_target:
equals_number: 45.0
has_or_had_setpoint:
range: Setpoint
multivalued: true
inlined: true
inlined_as_list: true
examples:
- value:
- setpoint_type: TEMPERATURE
setpoint_value: 20.0
setpoint_min: 18.0
setpoint_max: 22.0
- setpoint_type: RELATIVE_HUMIDITY
setpoint_value: 45.0
setpoint_min: 40.0
setpoint_max: 50.0
slots:
- has_or_had_setpoint
- specificity_annotation
- has_or_had_score
comments:
@ -353,13 +438,26 @@ classes:
slot_usage:
environmental_zone_type_code:
equals_string: BOOK_STORAGE
temperature_target:
equals_number: 18.0
humidity_target:
equals_number: 50.0
has_or_had_setpoint:
range: Setpoint
multivalued: true
inlined: true
inlined_as_list: true
examples:
- value:
- setpoint_type: TEMPERATURE
setpoint_value: 18.0
setpoint_min: 16.0
setpoint_max: 19.0
- setpoint_type: RELATIVE_HUMIDITY
setpoint_value: 50.0
setpoint_min: 45.0
setpoint_max: 55.0
max_light_lux:
equals_number: 50.0
slots:
- has_or_had_setpoint
- specificity_annotation
- has_or_had_score
comments:
@ -386,13 +484,26 @@ classes:
slot_usage:
environmental_zone_type_code:
equals_string: AUDIOVISUAL
temperature_target:
equals_number: 18.0
humidity_target:
equals_number: 45.0
has_or_had_setpoint:
range: Setpoint
multivalued: true
inlined: true
inlined_as_list: true
examples:
- value:
- setpoint_type: TEMPERATURE
setpoint_value: 18.0
setpoint_min: 18.0
setpoint_max: 20.0
- setpoint_type: RELATIVE_HUMIDITY
setpoint_value: 45.0
setpoint_min: 40.0
setpoint_max: 50.0
requires_dust_free:
equals_expression: 'true'
slots:
- has_or_had_setpoint
- specificity_annotation
- has_or_had_score
comments:
@ -417,13 +528,26 @@ classes:
slot_usage:
environmental_zone_type_code:
equals_string: DIGITAL_MEDIA
temperature_target:
equals_number: 20.0
humidity_target:
equals_number: 40.0
has_or_had_setpoint:
range: Setpoint
multivalued: true
inlined: true
inlined_as_list: true
examples:
- value:
- setpoint_type: TEMPERATURE
setpoint_value: 20.0
setpoint_min: 18.0
setpoint_max: 22.0
- setpoint_type: RELATIVE_HUMIDITY
setpoint_value: 40.0
setpoint_min: 35.0
setpoint_max: 45.0
requires_esd_protection:
equals_expression: 'true'
slots:
- has_or_had_setpoint
- specificity_annotation
- has_or_had_score
comments:
@ -446,11 +570,24 @@ classes:
slot_usage:
environmental_zone_type_code:
equals_string: GENERAL
temperature_target:
equals_number: 20.0
humidity_target:
equals_number: 50.0
has_or_had_setpoint:
range: Setpoint
multivalued: true
inlined: true
inlined_as_list: true
examples:
- value:
- setpoint_type: TEMPERATURE
setpoint_value: 20.0
setpoint_min: 18.0
setpoint_max: 22.0
- setpoint_type: RELATIVE_HUMIDITY
setpoint_value: 50.0
setpoint_min: 45.0
setpoint_max: 55.0
slots:
- has_or_had_setpoint
- specificity_annotation
- has_or_had_score
comments:
@ -588,11 +725,24 @@ classes:
slot_usage:
environmental_zone_type_code:
equals_string: CONSERVATION_LAB
temperature_target:
equals_number: 20.0
humidity_target:
equals_number: 50.0
has_or_had_setpoint:
range: Setpoint
multivalued: true
inlined: true
inlined_as_list: true
examples:
- value:
- setpoint_type: TEMPERATURE
setpoint_value: 20.0
setpoint_min: 18.0
setpoint_max: 22.0
- setpoint_type: RELATIVE_HUMIDITY
setpoint_value: 50.0
setpoint_min: 45.0
setpoint_max: 55.0
slots:
- has_or_had_setpoint
- specificity_annotation
- has_or_had_score
comments:

View file

@ -12,9 +12,11 @@ imports:
- ../slots/maximum_of_maximum
- ../slots/minimum_of_minimum
- ../slots/has_or_had_target
- ../slots/has_or_had_tolerance
- ./MaximumHumidity
- ./MinimumHumidity
- ./TargetHumidity
- ./HumidityTolerance
classes:
Humidity:
class_uri: schema:StructuredValue
@ -23,6 +25,7 @@ classes:
- maximum_of_maximum
- minimum_of_minimum
- has_or_had_target
- has_or_had_tolerance
slot_usage:
maximum_of_maximum:
range: MaximumHumidity
@ -33,6 +36,9 @@ classes:
has_or_had_target:
range: TargetHumidity
description: Target humidity setpoint.
has_or_had_tolerance:
range: HumidityTolerance
description: Acceptable deviation (+/-). MIGRATED from humidity_tolerance (Rule 53).
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class.

View file

@ -1,7 +1,7 @@
id: https://nde.nl/ontology/hc/class/HumidityTolerance
name: HumidityTolerance
title: HumidityTolerance
description: Acceptable range or tolerance for humidity.
title: Humidity Tolerance Class
description: "Acceptable deviation from target humidity.\n\n**MIGRATED** from humidity_tolerance (Rule 53).\n\nUsed in storage condition policies."
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
@ -14,13 +14,21 @@ imports:
classes:
HumidityTolerance:
class_uri: schema:QuantitativeValue
description: Humidity tolerance.
description: "Allowed humidity fluctuation (+/-)."
slots:
- has_or_had_value
- has_or_had_unit
slot_usage:
has_or_had_value:
range: float
required: true
description: Allowed fluctuation in percentage points (e.g. 5.0 for +/- 5%).
has_or_had_unit:
range: string
ifabsent: string(%)
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
specificity_rationale: Generic utility class.
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
custodian_types_rationale: Universal utility concept.

View file

@ -13,14 +13,14 @@ imports:
- ./AutoGeneration
- ../enums/ChapterSourceEnum
- ../slots/is_or_was_created_through
- ../slots/chapter_description
- ../slots/chapter_end_seconds
- ../slots/chapter_end_time
- ../slots/chapter_id
- ../slots/chapter_index
- ../slots/chapter_source
- ../slots/chapter_start_seconds
- ../slots/chapter_start_time
- ../slots/has_or_had_description
- ../slots/end_seconds
- ../slots/end_time
- ../slots/has_or_had_identifier
- ../slots/has_or_had_sequence_index
- ../slots/has_or_had_source
- ../slots/start_seconds
- ../slots/start_time
- ../slots/has_or_had_thumbnail
- ./Thumbnail
- ./Video
@ -28,7 +28,7 @@ imports:
- ../slots/has_or_had_label
- ./Label
- ../slots/nesting_level
- ../slots/parent_chapter_id
- ../slots/has_or_had_parent
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
@ -56,24 +56,25 @@ classes:
- wikidata:Q1454986
slots:
- is_or_was_created_through
- chapter_description
- chapter_end_seconds
- chapter_end_time
- chapter_id
- chapter_index
- chapter_source
- chapter_start_seconds
- chapter_start_time
- has_or_had_description
- end_seconds
- end_time
- has_or_had_identifier
- has_or_had_sequence_index
- has_or_had_source
- start_seconds
- start_time
- has_or_had_thumbnail
- has_or_had_label
- nesting_level
- parent_chapter_id
- has_or_had_parent
- specificity_annotation
- has_or_had_score
slot_usage:
chapter_id:
has_or_had_identifier:
range: string
required: true
description: 'MIGRATED from chapter_id per Rule 53 (2026-01-28).'
examples:
- value: ABC123_chapter_0
description: First chapter of video ABC123
@ -99,50 +100,56 @@ classes:
has_or_had_label: 'Curator Interview: Conservation Process'
language: en
description: Interview segment chapter
chapter_index:
has_or_had_sequence_index:
range: integer
required: true
minimum_value: 0
description: 'MIGRATED from chapter_index per Rule 53 (2026-01-28).'
examples:
- value: 0
description: First chapter
- value: 5
description: Sixth chapter (zero-indexed)
chapter_description:
has_or_had_description:
range: string
required: false
description: 'MIGRATED from chapter_description per Rule 53 (2026-01-28).'
examples:
- value: Dr. Dibbits discusses the restoration of Rembrandt's masterpiece, including the controversial 2019 operation.
description: Detailed chapter description
chapter_start_seconds:
start_seconds:
range: float
required: true
minimum_value: 0.0
description: 'MIGRATED from chapter_start_seconds per Rule 53 (2026-01-28).'
examples:
- value: 0.0
description: First chapter starts at video beginning
- value: 120.5
description: Chapter starts at 2:00.5
chapter_end_seconds:
end_seconds:
range: float
required: false
minimum_value: 0.0
description: 'MIGRATED from chapter_end_seconds per Rule 53 (2026-01-28).'
examples:
- value: 120.0
description: Chapter ends at 2:00
chapter_start_time:
start_time:
range: string
required: false
pattern: ^PT(\d+H)?(\d+M)?(\d+(\.\d+)?S)?$
description: 'MIGRATED from chapter_start_time per Rule 53 (2026-01-28).'
examples:
- value: PT0S
description: Start of video
- value: PT10M30S
description: 10 minutes 30 seconds
chapter_end_time:
end_time:
range: string
required: false
pattern: ^PT(\d+H)?(\d+M)?(\d+(\.\d+)?S)?$
description: 'MIGRATED from chapter_end_time per Rule 53 (2026-01-28).'
examples:
- value: PT5M0S
description: 5 minutes
@ -155,9 +162,10 @@ classes:
description: Manual creator-defined chapter
- value: true
description: YouTube AI auto-generated
chapter_source:
has_or_had_source:
range: ChapterSourceEnum
required: false
description: 'MIGRATED from chapter_source per Rule 53 (2026-01-28).'
examples:
- value: MANUAL
description: Creator manually added chapters
@ -200,9 +208,10 @@ classes:
duration_value: PT2M2.5S
duration_description: 'Frame at 2:02.5 (was chapter_thumbnail_timestamp: 122.5)'
description: Thumbnail with source video and timestamp (replaces chapter_thumbnail_timestamp)
parent_chapter_id:
has_or_had_parent:
range: string
required: false
description: 'MIGRATED from parent_chapter_id per Rule 53 (2026-01-28).'
examples:
- value: ABC123_chapter_0
description: This is a sub-chapter of chapter 0

View file

@ -0,0 +1,8 @@
name: end_seconds
description: >-
The end time in seconds (float).
Generic slot for media/temporal segments.
MIGRATED from chapter_end_seconds (Rule 53).
range: float
slot_uri: ma:duration
multivalued: false

View file

@ -0,0 +1,8 @@
name: end_time
description: >-
The end time in ISO 8601 duration format (e.g. PT5M).
Generic slot for media/temporal segments.
MIGRATED from chapter_end_time (Rule 53).
range: string
slot_uri: schema:endTime
multivalued: false

View file

@ -0,0 +1,7 @@
name: has_or_had_parent
description: >-
The parent entity of this entity.
MIGRATED from parent_chapter_id (Rule 53).
range: Any
slot_uri: schema:parent
multivalued: false

View file

@ -0,0 +1,7 @@
name: has_or_had_sequence_index
description: >-
The sequence index or order of an item (e.g. chapter number, page number).
MIGRATED from chapter_index (Rule 53).
range: integer
slot_uri: schema:position
multivalued: false