feat: Migrate capacity_value and cut_count to structured has_or_had_quantity; archive previous slots and update related schemas

This commit is contained in:
kempersc 2026-01-22 22:16:35 +01:00
parent 3c9926956e
commit 4efaef60e4
18 changed files with 795 additions and 45 deletions

View file

@ -1,5 +1,5 @@
{
"generated": "2026-01-22T19:41:07.059Z",
"generated": "2026-01-22T21:08:05.291Z",
"schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 3037,
"categoryCounts": {

View file

@ -1,5 +1,5 @@
{
"generated": "2026-01-22T21:08:05.291Z",
"generated": "2026-01-22T21:16:36.017Z",
"schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 3037,
"categoryCounts": {

View file

@ -24,7 +24,9 @@ imports:
- ../slots/has_or_had_status
- ./BudgetStatus
- ../slots/has_or_had_type
- ../slots/capital_budget
# MIGRATED 2026-01-22: capital_budget → has_or_had_main_part + MainPart per slot_fixes.yaml revision
- ../slots/has_or_had_main_part
- ./MainPart
- ./BudgetType
- ../slots/digitization_budget
- ../slots/documented_by
@ -115,7 +117,8 @@ classes:
# - budget_status
- has_or_had_status
- has_or_had_type
- capital_budget
# MIGRATED 2026-01-22: capital_budget → has_or_had_main_part + MainPart per slot_fixes.yaml revision
- has_or_had_main_part
- digitization_budget
- documented_by
- endowment_draw
@ -258,9 +261,22 @@ classes:
operating_budget:
range: decimal
required: false
capital_budget:
range: decimal
# MIGRATED 2026-01-22: capital_budget → has_or_had_main_part + MainPart per slot_fixes.yaml revision
has_or_had_main_part:
range: MainPart
inlined: true
required: false
description: |
Capital budget allocation (infrastructure, equipment, major purchases).
MIGRATED from capital_budget per slot_fixes.yaml (Rule 53, 2026-01-22).
MainPart provides structured representation with Quantity for amount and currency metadata.
examples:
- value:
has_or_had_quantity:
quantity_value: 3000000.0
part_type: capital_budget
currency_code: EUR
description: Capital budget of 3 million EUR
has_or_had_acquisition_budget:
range: decimal
required: false
@ -389,7 +405,11 @@ classes:
has_or_had_label: Euro
currency_symbol:
operating_budget: 38000000.0
capital_budget: 3000000.0
has_or_had_main_part:
has_or_had_quantity:
quantity_value: 3000000.0
part_type: capital_budget
currency_code: EUR
acquisition_budget: 2000000.0
personnel_budget: 22000000.0
preservation_budget: 1500000.0
@ -421,7 +441,11 @@ classes:
has_or_had_label: Euro
currency_symbol:
operating_budget: 7500000.0
capital_budget: 500000.0
has_or_had_main_part:
has_or_had_quantity:
quantity_value: 500000.0
part_type: capital_budget
currency_code: EUR
personnel_budget: 5200000.0
digitization_budget: 800000.0
external_funding: 6000000.0

View file

@ -0,0 +1,153 @@
# DataFormat - Class for data format specifications
#
# Created per slot_fixes.yaml migration for: data_format
# Creation date: 2026-01-22
# Rule compliance: 39 (RiC-O naming), 50 (ontology mapping), 53 (generic slot reuse), 0b (Type/Types)
id: https://nde.nl/ontology/hc/class/DataFormat
name: data_format_class
title: Data Format
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dct: http://purl.org/dc/terms/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_type
- ../slots/has_or_had_label
- ../slots/has_or_had_description
classes:
DataFormat:
class_uri: hc:DataFormat
description: |
Specification of a data format for files, APIs, or data streams.
**DEFINITION**:
DataFormat captures format characteristics including type, media type,
schema references, and encoding specifications.
**USAGE**:
- API response formats (JSON, XML, RDF)
- File formats (CSV, Excel, PDF, TIFF)
- Streaming protocols (MQTT, WebSocket payloads)
- Archival formats (METS, EAD, MARC)
**ONTOLOGY ALIGNMENT**:
- **Primary** (`class_uri`): `hc:DataFormat` - Heritage Custodian class
- **Close**: `dct:MediaTypeOrExtent` - Dublin Core media type
- **Close**: `schema:encodingFormat` - Schema.org encoding
**Common Format Types**:
| Type | Media Type | Use Case |
|------|------------|----------|
| JSON | application/json | API responses, config |
| XML | application/xml | Legacy APIs, metadata |
| CSV | text/csv | Data exports, tabular |
| RDF | application/rdf+xml | Linked data |
| SensorML | application/xml | Sensor metadata |
**Example**:
```yaml
has_or_had_format:
has_or_had_type: JsonFormat
has_or_had_media_type: "application/json"
has_or_had_encoding: "UTF-8"
```
close_mappings:
- dct:MediaTypeOrExtent
- schema:encodingFormat
slots:
- has_or_had_type
- has_or_had_label
- has_or_had_description
- has_or_had_media_type
- has_or_had_encoding
- has_or_had_schema_url
slot_usage:
has_or_had_type:
range: DataFormatType
description: |
The format type classification.
Links to DataFormatType taxonomy (JSON, XML, CSV, etc.).
examples:
- value: JsonFormat
description: JSON format type
- value: CsvFormat
description: CSV format type
has_or_had_label:
range: Label
inlined: true
description: Human-readable name for the format.
examples:
- value:
label_text: "JSON"
description: Format label
has_or_had_media_type:
range: string
description: |
IANA media type (MIME type) for the format.
See: https://www.iana.org/assignments/media-types/
examples:
- value: "application/json"
description: JSON media type
- value: "text/csv"
description: CSV media type
has_or_had_encoding:
range: string
description: Character encoding used (e.g., UTF-8, ISO-8859-1).
examples:
- value: "UTF-8"
description: Unicode encoding
has_or_had_schema_url:
range: uri
description: URL to schema definition (JSON Schema, XSD, etc.).
examples:
- value: "https://api.museum.nl/schemas/v1/climate.json"
description: JSON Schema URL
attributes:
has_or_had_media_type:
range: string
description: IANA media type (MIME type).
has_or_had_encoding:
range: string
description: Character encoding (e.g., UTF-8).
has_or_had_schema_url:
range: uri
description: URL to schema definition.
annotations:
custodian_types: '["*"]'
custodian_types_rationale: "Data format specifications apply to all custodian types with digital systems."
specificity_score: 0.55
specificity_rationale: "Moderately specific to digital platform and API contexts."
# Type class for format taxonomy (Rule 0b: Type/Types pattern)
DataFormatType:
class_uri: hc:DataFormatType
abstract: true
description: |
Abstract base class for data format type taxonomy.
**Type/Types Pattern** (Rule 0b):
- `DataFormatType` (this file): Abstract base class
- `DataFormatTypes.yaml`: Concrete subclasses (JsonFormat, XmlFormat, etc.)
Subclasses define specific format types used in heritage data systems.
slots:
- has_or_had_label
- has_or_had_description
annotations:
custodian_types: '["*"]'
custodian_types_rationale: "Format types applicable universally."

View file

@ -0,0 +1,217 @@
# DataFormatTypes - Concrete subclasses for data format taxonomy
#
# Created per slot_fixes.yaml migration for: data_format
# Creation date: 2026-01-22
# Rule compliance: 0b (Type/Types pattern), 39 (RiC-O naming)
id: https://nde.nl/ontology/hc/class/DataFormatTypes
name: data_format_types
title: Data Format Types
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
default_prefix: hc
imports:
- linkml:types
- ./DataFormat
classes:
# ===== Common Data Interchange Formats =====
JsonFormat:
is_a: DataFormatType
class_uri: hc:JsonFormat
description: |
JavaScript Object Notation (JSON) format.
Media type: application/json
Common for APIs, configuration, and data exchange.
annotations:
media_type: "application/json"
XmlFormat:
is_a: DataFormatType
class_uri: hc:XmlFormat
description: |
Extensible Markup Language (XML) format.
Media type: application/xml
Common for legacy APIs, metadata standards.
annotations:
media_type: "application/xml"
CsvFormat:
is_a: DataFormatType
class_uri: hc:CsvFormat
description: |
Comma-Separated Values (CSV) format.
Media type: text/csv
Common for tabular data exports.
annotations:
media_type: "text/csv"
# ===== Linked Data Formats =====
RdfXmlFormat:
is_a: DataFormatType
class_uri: hc:RdfXmlFormat
description: |
RDF/XML serialization format.
Media type: application/rdf+xml
W3C standard for RDF serialization.
annotations:
media_type: "application/rdf+xml"
TurtleFormat:
is_a: DataFormatType
class_uri: hc:TurtleFormat
description: |
Turtle (Terse RDF Triple Language) format.
Media type: text/turtle
Human-readable RDF serialization.
annotations:
media_type: "text/turtle"
JsonLdFormat:
is_a: DataFormatType
class_uri: hc:JsonLdFormat
description: |
JSON for Linked Data (JSON-LD) format.
Media type: application/ld+json
JSON-based linked data serialization.
annotations:
media_type: "application/ld+json"
NTriplesFormat:
is_a: DataFormatType
class_uri: hc:NTriplesFormat
description: |
N-Triples format for RDF.
Media type: application/n-triples
Line-based RDF serialization.
annotations:
media_type: "application/n-triples"
# ===== Sensor/IoT Formats =====
SensorMlFormat:
is_a: DataFormatType
class_uri: hc:SensorMlFormat
description: |
Sensor Model Language (SensorML) format.
OGC standard for sensor metadata and processes.
annotations:
media_type: "application/xml"
standard: "OGC SensorML"
MqttPayloadFormat:
is_a: DataFormatType
class_uri: hc:MqttPayloadFormat
description: |
MQTT message payload format.
Used for IoT device communication.
Actual payload typically JSON or binary.
annotations:
protocol: "MQTT"
# ===== Heritage Metadata Formats =====
EadFormat:
is_a: DataFormatType
class_uri: hc:EadFormat
description: |
Encoded Archival Description (EAD) format.
Media type: application/xml
Standard for archival finding aids.
annotations:
media_type: "application/xml"
standard: "EAD3"
MarcXmlFormat:
is_a: DataFormatType
class_uri: hc:MarcXmlFormat
description: |
MARC 21 XML format.
Media type: application/marcxml+xml
Library bibliographic record format.
annotations:
media_type: "application/marcxml+xml"
standard: "MARC21"
MetsFormat:
is_a: DataFormatType
class_uri: hc:MetsFormat
description: |
Metadata Encoding and Transmission Standard (METS).
Media type: application/xml
Digital library object packaging.
annotations:
media_type: "application/xml"
standard: "METS"
LidoFormat:
is_a: DataFormatType
class_uri: hc:LidoFormat
description: |
Lightweight Information Describing Objects (LIDO).
Media type: application/xml
Museum object description harvesting.
annotations:
media_type: "application/xml"
standard: "LIDO"
DublinCoreFormat:
is_a: DataFormatType
class_uri: hc:DublinCoreFormat
description: |
Dublin Core metadata format (DC or qualified DC).
Media type: application/xml
General-purpose metadata standard.
annotations:
media_type: "application/xml"
standard: "Dublin Core"
# ===== Document Formats =====
PdfFormat:
is_a: DataFormatType
class_uri: hc:PdfFormat
description: |
Portable Document Format (PDF).
Media type: application/pdf
Document distribution and archival.
annotations:
media_type: "application/pdf"
HtmlFormat:
is_a: DataFormatType
class_uri: hc:HtmlFormat
description: |
HyperText Markup Language (HTML).
Media type: text/html
Web page content.
annotations:
media_type: "text/html"
PlainTextFormat:
is_a: DataFormatType
class_uri: hc:PlainTextFormat
description: |
Plain text format.
Media type: text/plain
Unformatted text content.
annotations:
media_type: "text/plain"
# ===== Binary/Media Formats =====
BinaryFormat:
is_a: DataFormatType
class_uri: hc:BinaryFormat
description: |
Generic binary data format.
Media type: application/octet-stream
Raw binary data streams.
annotations:
media_type: "application/octet-stream"

View file

@ -0,0 +1,80 @@
id: https://nde.nl/ontology/hc/class/MainPart
name: main_part_class
title: Main Part Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
imports:
- linkml:types
- ../slots/has_or_had_quantity
- ./Quantity
default_prefix: hc
classes:
MainPart:
class_uri: schema:QuantitativeValue
description: >-
Represents a principal/primary portion of something with quantified value.
**PURPOSE**:
MainPart provides structured representation for primary allocations such as:
- Capital budget (principal budget for infrastructure/equipment)
- Primary funding amount
- Main portion of a larger whole
**ONTOLOGY ALIGNMENT**:
| Ontology | Mapping | Rationale |
|----------|---------|-----------|
| Schema.org | schema:QuantitativeValue | Quantified value |
**USE CASES**:
- Capital budget allocation in institutional budgets
- Primary collection value
- Main funding allocation
MIGRATED 2026-01-22: Created per slot_fixes.yaml revision for capital_budget.
Replaces simple decimal capital_budget with structured class.
exact_mappings:
- schema:QuantitativeValue
slots:
- has_or_had_quantity
slot_usage:
has_or_had_quantity:
range: Quantity
required: true
inlined: true
description: >-
The quantified value of this main part.
For capital budget: Quantity.quantity_value = amount, currency in metadata.
attributes:
part_type:
range: string
required: false
description: >-
Type of main part (e.g., "capital_budget", "primary_allocation", "main_funding").
currency_code:
range: string
required: false
description: >-
ISO 4217 currency code for financial values (e.g., "EUR", "USD", "GBP").
examples:
- value:
has_or_had_quantity:
quantity_value: 3000000.0
part_type: capital_budget
currency_code: EUR
description: Capital budget of 3 million EUR
- value:
has_or_had_quantity:
quantity_value: 500000.0
part_type: capital_budget
currency_code: USD
description: Capital budget of 500,000 USD
annotations:
specificity_score: 0.40
specificity_rationale: >-
Main parts are moderately specific, relevant for budget and allocation queries.

View file

@ -0,0 +1,124 @@
# OutputData - Class for device/service output specifications
#
# Created per slot_fixes.yaml migration for: data_format
# Creation date: 2026-01-22
# Rule compliance: 39 (RiC-O naming), 50 (ontology mapping), 53 (generic slot reuse)
id: https://nde.nl/ontology/hc/class/OutputData
name: output_data
title: Output Data
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
sosa: http://www.w3.org/ns/sosa/
dct: http://purl.org/dc/terms/
default_prefix: hc
imports:
- linkml:types
- ./DataFormat
- ../slots/has_or_had_format
- ../slots/has_or_had_description
- ../slots/has_or_had_identifier
classes:
OutputData:
class_uri: hc:OutputData
description: |
Specification of output produced by a device, service, or process.
**DEFINITION**:
OutputData captures the characteristics of data or signals emitted by
systems, including format, structure, destination, and metadata.
**USAGE**:
- IoT device data (sensor readings, beacon signals)
- API responses (JSON, XML, RDF)
- Export files (CSV, Excel, PDF)
- Streaming data (MQTT, WebSocket)
**ONTOLOGY ALIGNMENT**:
- **Primary** (`class_uri`): `hc:OutputData` - Heritage Custodian class
- **Close**: `sosa:Result` - SOSA observation result
- **Close**: `schema:DataDownload` - Schema.org data download
**Example**:
```yaml
has_or_had_output:
- has_or_had_format:
has_or_had_type: JsonFormat
has_or_had_media_type: "application/json"
has_or_had_description: "Climate sensor readings"
destination_url: "https://analytics.museum.nl/climate"
```
close_mappings:
- sosa:Result
- schema:DataDownload
slots:
- has_or_had_format
- has_or_had_description
- has_or_had_identifier
- destination_url
- schema_url
- is_streaming
slot_usage:
has_or_had_format:
range: DataFormat
inlined: true
description: |
The format specification for this output.
Uses DataFormat class to capture format type, media type, and schema.
examples:
- value:
has_or_had_type: JsonFormat
has_or_had_media_type: "application/json"
description: JSON output format
has_or_had_description:
range: string
description: Human-readable description of the output data.
examples:
- value: "Temperature and humidity readings from conservation sensors"
description: Sensor data description
destination_url:
range: uri
description: URL where output is sent or published.
examples:
- value: "https://analytics.museum.nl/data"
description: Analytics platform destination
schema_url:
range: uri
description: URL to schema definition for the output data structure.
examples:
- value: "https://api.museum.nl/schemas/climate-v1.json"
description: JSON Schema for climate data
is_streaming:
range: boolean
description: Whether this output is continuous/streaming vs batch/discrete.
examples:
- value: true
description: Real-time streaming data
- value: false
description: Batch data export
attributes:
destination_url:
range: uri
description: URL where output is sent or published.
schema_url:
range: uri
description: URL to schema definition for the output data.
is_streaming:
range: boolean
description: Whether this output is streaming vs batch.
annotations:
custodian_types: '["*"]'
custodian_types_rationale: "Output data specifications apply to all custodian types with digital systems."
specificity_score: 0.65
specificity_rationale: "Fairly specific to IoT and digital platform contexts."

View file

@ -225,27 +225,30 @@ classes:
Uses Capacity class with capacity_type and has_or_had_measurement_unit.
examples:
- value:
- capacity_value: 8000.0
capacity_type: SHELF_LENGTH
has_or_had_measurement_unit:
has_or_had_type: LINEAR_METER
has_or_had_symbol: "m"
- has_or_had_quantity:
has_or_had_numeric_value: 8000.0
has_or_had_unit:
has_or_had_type: LinearMeter
has_or_had_symbol: "m"
has_or_had_type: ShelfLength
has_or_had_description: Total linear meters of shelving
description: Was capacity_linear_meters
description: Was capacity_linear_meters (capacity_value → has_or_had_quantity)
- value:
- capacity_value: 2500.0
capacity_type: VOLUME
has_or_had_measurement_unit:
has_or_had_type: CUBIC_METER
has_or_had_symbol: "m³"
description: Was capacity_cubic_meters
- has_or_had_quantity:
has_or_had_numeric_value: 2500.0
has_or_had_unit:
has_or_had_type: CubicMeter
has_or_had_symbol: "m³"
has_or_had_type: Volume
description: Was capacity_cubic_meters (capacity_value → has_or_had_quantity)
- value:
- capacity_value: 50000
capacity_type: ITEM_COUNT
has_or_had_measurement_unit:
has_or_had_type: ITEM
has_or_had_symbol: "archive boxes"
description: Was capacity_item
- has_or_had_quantity:
has_or_had_numeric_value: 50000
has_or_had_unit:
has_or_had_type: Item
has_or_had_symbol: "archive boxes"
has_or_had_type: ItemCount
description: Was capacity_item (capacity_value → has_or_had_quantity)
- value:
- has_or_had_description: "Approximately 5,000 linear meters of shelving across 3 floors"
is_estimate: true
@ -376,11 +379,12 @@ classes:
label_text: Rijksmuseum Depot Amersfoort
language: nl
has_or_had_capacity: # was: capacity_linear_meters - migrated per Rule 53
- capacity_value: 8000.0
capacity_type: SHELF_LENGTH
has_or_had_measurement_unit:
has_or_had_type: LINEAR_METER
has_or_had_symbol: "m"
- has_or_had_quantity:
has_or_had_numeric_value: 8000.0
has_or_had_unit:
has_or_had_type: LinearMeter
has_or_had_symbol: "m"
has_or_had_type: ShelfLength
has_or_had_description: Total linear shelf capacity
current_utilization_percent: 78.5
standards_applied:

View file

@ -9,7 +9,7 @@ imports:
- ./Methodology
- ../slots/person_id
- ../slots/has_average_scene_duration_seconds
- ../slots/cut_count
# REMOVED 2026-01-22: cut_count migrated to has_or_had_quantity + Quantity (Rule 53)
- ../slots/has_or_had_detected_face
- ../slots/has_or_had_detected_landmark
- ../slots/has_or_had_detected_logo
@ -196,7 +196,7 @@ classes:
- schema:Clip
slots:
- has_average_scene_duration_seconds
- cut_count
- has_or_had_quantity # was: cut_count - migrated per Rule 53 (2026-01-22)
- detection_level
- dissolve_count
- fade_count
@ -253,13 +253,21 @@ classes:
examples:
- value: '[{has_or_had_label: "CUT"}, {has_or_had_label: "FADE_IN"}]'
description: Transition types found in video
cut_count:
range: integer
has_or_had_quantity: # was: cut_count - migrated per Rule 53 (2026-01-22)
range: Quantity
required: false
minimum_value: 0
inlined: true
description: |
Number of hard cuts (instantaneous transitions) as a Quantity.
MIGRATED from cut_count per slot_fixes.yaml (Rule 53).
Uses Quantity class with Unit type "Cut".
examples:
- value: 42
description: 42 cuts detected
- value:
has_or_had_numeric_value: 42
has_or_had_unit:
has_or_had_type: Cut
has_or_had_symbol: "cuts"
description: 42 cuts detected (was cut_count)
fade_count:
range: integer
required: false

View file

@ -306,7 +306,8 @@ classes:
description: Dutch subtitles in VTT format
- value:
is_available: false
description: No captions available (migrated from caption_available: false)
language: null
description: No captions available (migrated from caption_available false)
default_language:
range: string
required: false

View file

@ -0,0 +1,35 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_main_part
name: has_or_had_main_part_slot
title: Has or Had Main Part Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
imports:
- linkml:types
default_range: string
slots:
has_or_had_main_part:
slot_uri: schema:hasPart
description: >-
Links to a MainPart representing the principal/primary portion of something.
**USE CASES**:
- Capital budget (primary budget allocation for infrastructure/equipment)
- Primary collection holdings
- Main organizational unit
**ONTOLOGY ALIGNMENT**:
- slot_uri: schema:hasPart (primary)
- Represents a significant/main portion of a larger whole
MIGRATED 2026-01-22: Created per slot_fixes.yaml revision for capital_budget.
range: MainPart
inlined: true
exact_mappings:
- schema:hasPart
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Main parts are universal across organizational contexts

View file

@ -0,0 +1,66 @@
# has_or_had_output - Output/emission slot for devices and services
#
# Created per slot_fixes.yaml migration for: data_format
# Creation date: 2026-01-22
# Rule compliance: 39 (RiC-O naming), 50 (ontology mapping), 53 (generic slot reuse)
id: https://nde.nl/ontology/hc/slot/has_or_had_output
name: has_or_had_output
title: Has or Had Output
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
sosa: http://www.w3.org/ns/sosa/
default_prefix: hc
imports:
- linkml:types
slots:
has_or_had_output:
slot_uri: hc:hasOrHadOutput
description: |
Output produced by a device, service, or process.
**USAGE**:
Represents data, signals, or artifacts emitted by:
- IoT devices (sensor readings, beacon signals)
- APIs and services (data responses)
- Processing pipelines (transformed data)
- Software systems (reports, exports)
**ONTOLOGY ALIGNMENT**:
- **Primary** (`slot_uri`): `hc:hasOrHadOutput` - Heritage Custodian property
- **Close**: `sosa:hasResult` - SOSA observation result
- **Close**: `schema:produces` - Schema.org production relationship
**RANGE**: `OutputData` class
The OutputData class captures output specifications including format,
frequency, destination, and data characteristics.
range: OutputData
multivalued: true
inlined_as_list: true
close_mappings:
- sosa:hasResult
- schema:produces
examples:
- value:
has_or_had_format:
has_or_had_type: JsonFormat
has_or_had_description: "Climate sensor readings in JSON format"
description: IoT device output specification
- value:
has_or_had_format:
has_or_had_type: CsvFormat
destination_url: "https://analytics.museum.nl/data"
description: Data export output
annotations:
custodian_types: '["*"]'
custodian_types_rationale: "Output specifications applicable to all custodian types with digital systems."

View file

@ -20,9 +20,8 @@
"has_or_had_notation.yaml",
"has_or_had_canonical_form.yaml",
"capacity_type.yaml",
"capacity_value.yaml",
"capital_budget.yaml",
"caption_available.yaml",
"has_or_had_main_part.yaml",
"has_or_had_caption.yaml",
"card_image_url.yaml",
"card_title.yaml",
"card_title_en.yaml",
@ -175,7 +174,7 @@
"custodian_type_related.yaml",
"custody_history.yaml",
"custody_received_by.yaml",
"cut_count.yaml",
"__ARCHIVED_20260122__cut_count.yaml",
"data_format.yaml",
"data_license_policy.yaml",
"data_repository.yaml",

View file

@ -8096,7 +8096,8 @@ fixes:
would enhance semantic clarity and allow for richer metadata about each budget amount.
This would align with best practices for financial data modeling.'
done: false
done: true
response: "Completed 2026-01-22 by claude-sonnet-4. Per revision: created has_or_had_main_part slot and MainPart class. Migrated Budget.yaml to use MainPart with Quantity for capital budget amount. MainPart.part_type='capital_budget' and currency_code attribute. Archived capital_budget.yaml."
- original_slot_id: https://nde.nl/ontology/hc/slot/caption_available
revision:
- label: has_or_had_caption
@ -8133,7 +8134,8 @@ fixes:
would enhance semantic clarity and allow for richer metadata about caption availability.
This would align with best practices for accessibility data modeling.'
done: false
done: true
response: "Completed 2026-01-22 by claude-sonnet-4. Created has_or_had_caption slot and Caption class. Migrated VideoPost.yaml to use structured Caption with is_available, language, caption_format, caption_url attributes. Archived caption_available.yaml."
- original_slot_id: https://nde.nl/ontology/hc/slot/card_description
revision:
- label: has_or_had_description
@ -11368,6 +11370,24 @@ fixes:
type: slot
- label: Unit
type: class
processed:
status: true
date: '2026-01-22'
agent: claude-claude-sonnet-4-20250514
notes: |
**Migration #60: capacity_value** ✅ COMPLETE
**Pattern**: capacity_value → has_or_had_quantity + Quantity + has_or_had_unit + Unit
**Files Used** (pre-existing):
- has_or_had_quantity.yaml, Quantity.yaml
- has_or_had_unit.yaml, Unit.yaml
**Files Modified**:
- Capacity.yaml: Replaced capacity_value with has_or_had_quantity (required field)
- Storage.yaml: Updated examples to use has_or_had_quantity pattern
**Archived**: modules/slots/archive/capacity_value_archived_20260122.yaml
- original_slot_id: https://nde.nl/ontology/hc/slot/cut_count
revision:
- label: has_or_had_quantity
@ -11379,6 +11399,25 @@ fixes:
- label: Unit
type: class
value: cut
processed:
status: true
date: '2026-01-22'
agent: claude-claude-sonnet-4-20250514
notes: |
**Migration #61: cut_count** ✅ COMPLETE
**Pattern**: cut_count → has_or_had_quantity + Quantity + has_or_had_unit + Unit (value: cut)
**Files Used** (pre-existing):
- has_or_had_quantity.yaml, Quantity.yaml
- has_or_had_unit.yaml, Unit.yaml
**Files Modified**:
- VideoAnnotationTypes.yaml: Replaced cut_count with has_or_had_quantity in VideoSceneAnnotation class
- Updated imports, slots list, and slot_usage section
- Unit type set to "Cut" per revision value specification
**Archived**: modules/slots/archive/cut_count_archived_20260122.yaml
- original_slot_id: https://nde.nl/ontology/hc/slot/data_format
revision:
- label: has_or_had_output