feat: Migrate and standardize measurement units; introduce Area and MeasureUnit classes

This commit is contained in:
kempersc 2026-01-14 17:04:33 +01:00
parent 913a1a41a7
commit bdf3ceafb8
13 changed files with 706 additions and 40 deletions

View file

@ -1,5 +1,5 @@
{
"generated": "2026-01-14T15:58:50.548Z",
"generated": "2026-01-14T15:59:47.525Z",
"schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 2888,
"categoryCounts": {

View file

@ -1,5 +1,5 @@
{
"generated": "2026-01-14T15:59:47.525Z",
"generated": "2026-01-14T16:04:33.686Z",
"schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 2888,
"categoryCounts": {

View file

@ -0,0 +1,195 @@
id: https://nde.nl/ontology/hc/class/area
name: area_class
title: Area Class
description: >-
Class representing an area measurement with value, unit, and context.
**RULE 53 COMPLIANT**: This is the authoritative class for area measurements,
replacing domain-specific float slots like area_hectares, building_floor_area_sqm,
and has_area_in_hectare.
**REPLACES**:
- area_hectares (OutdoorSite) - float in hectares
- building_floor_area_sqm (HistoricBuilding) - float in square meters
- has_area_in_hectare (bespoke, incorrectly created)
**ADVANTAGES OVER SIMPLE FLOAT**:
- Explicit unit specification (no ambiguity between m² and hectares)
- Temporal context (measurement date for historic facilities)
- Provenance (measurement method, source)
- Estimation flag (is_estimate for approximate values)
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
qudt: http://qudt.org/schema/qudt/
geosparql: http://www.opengis.net/ont/geosparql#
imports:
- linkml:types
- ./MeasureUnit
- ../slots/has_or_had_unit
- ../slots/has_or_had_label
default_prefix: hc
classes:
Area:
description: >-
A measurement of spatial extent (area) with value, unit, and metadata.
Captures area measurements for heritage facilities including outdoor sites,
buildings, rooms, and storage areas. Supports multiple units (m², hectares,
acres) with explicit unit specification.
**TEMPORAL ASPECT**: Areas can change over time (building extensions,
site acquisitions). The measurement_date captures when the area was measured.
**ESTIMATION SUPPORT**: Heritage facilities often have estimated areas,
especially for historic buildings. The is_estimate flag indicates uncertainty.
class_uri: qudt:QuantityValue
exact_mappings:
- qudt:QuantityValue
close_mappings:
- schema:QuantitativeValue
- geosparql:hasArea
slots:
- area_value
- has_or_had_unit
- measurement_date
- is_estimate
- measurement_method
- has_or_had_label
slot_usage:
area_value:
description: >-
The numeric value of the area measurement.
MIGRATED from area_hectares, building_floor_area_sqm (Rule 53).
range: float
required: true
examples:
- value: 25.0
description: 25 hectares (outdoor site)
- value: 5000.0
description: 5000 square meters (building)
has_or_had_unit:
description: >-
The unit of measurement for this area.
MIGRATED from implicit unit assumptions (Rule 53).
range: MeasureUnit
required: true
inlined: true
examples:
- value:
unit_type: HECTARE
unit_symbol: "ha"
description: Hectare unit for outdoor site
- value:
unit_type: SQUARE_METER
unit_symbol: "m²"
description: Square meter unit for building floor
measurement_date:
description: >-
Date when the area was measured or recorded.
range: date
required: false
examples:
- value: "2024-01-15"
description: Recent measurement
- value: "1985-06-01"
description: Historic measurement
is_estimate:
description: >-
Whether the area is an estimate (true) or precise measurement (false).
range: boolean
required: false
examples:
- value: true
description: Estimated area for historic building
- value: false
description: Precise surveyed measurement
measurement_method:
description: >-
Method used to measure the area (survey, GIS, historical records, etc.).
range: string
required: false
examples:
- value: "GIS analysis"
description: Geographic Information System measurement
- value: "Land survey"
description: Professional survey
- value: "Historical records"
description: From archival documents
has_or_had_label:
description: >-
Human-readable label for the area measurement.
range: string
examples:
- value: "Total site area"
description: Label for outdoor site
- value: "Building floor area"
description: Label for building
examples:
- value:
area_value: 25.0
has_or_had_unit:
unit_type: HECTARE
unit_symbol: "ha"
has_or_had_label: "Sculpture garden area"
description: Outdoor site area in hectares (replaces area_hectares)
- value:
area_value: 5000.0
has_or_had_unit:
unit_type: SQUARE_METER
unit_symbol: "m²"
measurement_date: "2023-03-15"
is_estimate: false
measurement_method: "Architectural survey"
has_or_had_label: "Total floor area"
description: Building floor area in square meters (replaces building_floor_area_sqm)
- value:
area_value: 650.0
has_or_had_unit:
unit_type: HECTARE
unit_symbol: "ha"
is_estimate: true
measurement_method: "Historical records"
has_or_had_label: "Estate grounds"
description: Historic estate grounds with estimated area
annotations:
custodian_types: '["*"]'
custodian_types_rationale: >-
Area measurements applicable to all heritage custodian types.
specificity_score: 0.4
specificity_rationale: >-
Broadly useful class - area measurements relevant for site planning,
collection storage, visitor capacity, and facility management.
slots:
area_value:
description: >-
The numeric value of an area measurement.
range: float
slot_uri: qudt:numericValue
exact_mappings:
- qudt:numericValue
- schema:value
measurement_date:
description: >-
Date when a measurement was taken or recorded.
range: date
slot_uri: schema:dateCreated
is_estimate:
description: >-
Whether a value is an estimate (true) or precise measurement (false).
range: boolean
slot_uri: hc:isEstimate
measurement_method:
description: >-
Method used to obtain a measurement.
range: string
slot_uri: hc:measurementMethod

View file

@ -6,10 +6,12 @@ imports:
- ./ReconstructedEntity
- ./CustodianObservation
- ./ReconstructionActivity
- ./Area
- ../enums/FeatureTypeEnum
- ../slots/has_or_had_architect
- ../slots/has_architectural_style
- ../slots/building_floor_area_sqm
# REMOVED 2026-01-15: ../slots/building_floor_area_sqm - migrated to has_or_had_area + Area (Rule 53)
- ../slots/has_or_had_area
- ../slots/complex_name
- ../slots/condition_status
- ../slots/construction_date
@ -78,7 +80,7 @@ classes:
slots:
- has_or_had_architect
- has_architectural_style
- building_floor_area_sqm
- has_or_had_area
- complex_name
- condition_status
- construction_date
@ -207,11 +209,30 @@ classes:
description: Monastery complex
- value: Paleis Het Loo ensemble
description: Palace complex
building_floor_area_sqm:
range: float
has_or_had_area:
description: >-
Floor area of the historic building.
MIGRATED from building_floor_area_sqm (Rule 53).
range: Area
inlined: true
multivalued: true
examples:
- value: 450.0
description: Building floor area
- value:
area_value: 450.0
has_or_had_unit:
unit_type: SQUARE_METER
unit_symbol: "m²"
has_or_had_label: "Building floor area"
description: 450 square meters floor area
- value:
area_value: 1200.0
has_or_had_unit:
unit_type: SQUARE_METER
unit_symbol: "m²"
is_estimate: true
measurement_method: "Historical records"
has_or_had_label: "Total floor area"
description: 1200 square meters (estimated from historical records)
current_use:
range: string
examples:
@ -239,6 +260,7 @@ classes:
- Links to FeatureTypeEnum for Wikidata-sourced building classification
- Distinguished from CustodianPlace (main headquarters)
- May be open to public or used for operations/events
- "MIGRATION NOTE: has_or_had_area replaced building_floor_area_sqm (Rule 53)"
see_also:
- http://vocab.getty.edu/aat/300005425
- https://schema.org/LandmarksOrHistoricalBuildings
@ -252,12 +274,18 @@ classes:
feature_type_classification: HISTORIC_HOUSE_MUSEUM
construction_date: '1650'
construction_date_precision: APPROXIMATE
architectural_style: Dutch Golden Age
has_architectural_style: Dutch Golden Age
heritage_status: Rijksmonument
monument_number: '16284'
is_open_to_public: false
current_use: Administrative offices and events
condition_status: EXCELLENT
has_or_had_area:
- area_value: 450.0
has_or_had_unit:
unit_type: SQUARE_METER
unit_symbol: "m²"
has_or_had_label: "Total floor area"
description: Historic canal house as secondary property
- value:
historic_building_id: https://nde.nl/ontology/hc/aux/kasteel-amerongen
@ -266,14 +294,21 @@ classes:
feature_type_classification: CASTLE
construction_date: 13th century
construction_date_precision: CENTURY
architectural_style: Dutch Classical
architect: Maurits Post
has_architectural_style: Dutch Classical
has_or_had_architect: Maurits Post
heritage_status: Rijksmonument
monument_number: '521814'
is_open_to_public: true
visiting_hours: Tu-Su 11:00-17:00
visiting_hour: Tu-Su 11:00-17:00
is_part_of_complex: true
complex_name: Kasteel Amerongen landgoed
current_use: Museum and events
condition_status: GOOD
has_or_had_area:
- area_value: 2500.0
has_or_had_unit:
unit_type: SQUARE_METER
unit_symbol: "m²"
is_estimate: true
has_or_had_label: "Castle floor area"
description: Castle as heritage property

View file

@ -0,0 +1,133 @@
id: https://nde.nl/ontology/hc/class/measure-unit
name: measure_unit_class
title: MeasureUnit Class
description: >-
Class representing a unit of measurement for quantities.
**RULE 53 COMPLIANT**: Generic class for standardized unit representation,
used by Area, Quantity, and other measurement classes.
**ONTOLOGY ALIGNMENT**:
- QUDT (Quantities, Units, Dimensions and Types)
- schema:unitCode / schema:unitText
- OM (Ontology of Units of Measure)
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
qudt: http://qudt.org/schema/qudt/
om: http://www.ontology-of-units-of-measure.org/resource/om-2/
imports:
- linkml:types
- ../enums/MeasureUnitEnum
- ../slots/has_or_had_label
default_prefix: hc
classes:
MeasureUnit:
description: >-
A unit of measurement for expressing quantities.
Captures the unit type (from MeasureUnitEnum), symbol, and optional
conversion factors. Used as the range for has_or_had_unit slot.
**EXAMPLES**:
- Hectare (ha) for outdoor site area
- Square meter (m²) for building floor area
- Linear meter (m) for archival shelf extent
class_uri: qudt:Unit
exact_mappings:
- qudt:Unit
- om:Unit
close_mappings:
- schema:unitCode
slots:
- unit_type
- unit_symbol
- unit_code
- has_or_had_label
slot_usage:
unit_type:
description: >-
The type of unit from MeasureUnitEnum (e.g., HECTARE, SQUARE_METER).
range: MeasureUnitEnum
required: true
unit_symbol:
description: >-
The symbol for the unit (e.g., "ha", "m²", "km").
range: string
required: false
examples:
- value: "ha"
description: Hectare symbol
- value: "m²"
description: Square meter symbol
- value: "m"
description: Meter symbol
unit_code:
description: >-
Standard code for the unit (UCUM or QUDT code).
range: string
required: false
examples:
- value: "har"
description: UCUM code for hectare
- value: "m2"
description: UCUM code for square meter
has_or_had_label:
description: >-
Human-readable label for the unit.
range: string
examples:
- value: "hectare"
description: Hectare label
- value: "square meter"
description: Square meter label
examples:
- value:
unit_type: HECTARE
unit_symbol: "ha"
unit_code: "har"
has_or_had_label: "hectare"
description: Hectare unit for outdoor site area
- value:
unit_type: SQUARE_METER
unit_symbol: "m²"
unit_code: "m2"
has_or_had_label: "square meter"
description: Square meter unit for building floor area
- value:
unit_type: LINEAR_METER
unit_symbol: "m"
unit_code: "m"
has_or_had_label: "linear meter"
description: Linear meter for archival shelf extent
annotations:
custodian_types: '["*"]'
custodian_types_rationale: >-
Measurement units applicable to all heritage custodian types.
specificity_score: 0.3
specificity_rationale: >-
Foundational class - highly reusable across many contexts.
slots:
unit_type:
description: >-
The enumerated type of measurement unit.
range: MeasureUnitEnum
slot_uri: qudt:unit
unit_symbol:
description: >-
The symbol representing the unit (e.g., "ha", "m²").
range: string
slot_uri: qudt:symbol
unit_code:
description: >-
Standard code for the unit from UCUM or QUDT vocabularies.
range: string
slot_uri: qudt:ucumCode

View file

@ -6,6 +6,7 @@ imports:
- ./ReconstructedEntity
- ./CustodianObservation
- ./ReconstructionActivity
- ./Area
- ../enums/BioCustodianTypeEnum
- ../enums/FeatureTypeEnum
- ../enums/OutdoorSiteTypeEnum
@ -15,8 +16,9 @@ imports:
- ../slots/outdoor_site_type
- ../slots/bio_type_classification
- ../slots/feature_type_classification
# REMOVED 2026-01-15: ../slots/area_hectares - migrated to has_area_in_hectare
- ../slots/has_area_in_hectare
# REMOVED 2026-01-15: ../slots/area_hectares - migrated to has_or_had_area + Area (Rule 53)
# REMOVED 2026-01-15: ../slots/has_area_in_hectare - BESPOKE SLOT INCORRECTLY CREATED, replaced with has_or_had_area + Area (Rule 53)
- ../slots/has_or_had_area
- ../slots/has_or_had_artwork_count
- ../slots/plant_species_count
- ../slots/has_or_had_animal_species_count
@ -64,8 +66,8 @@ classes:
\ ruins\n4. **Botanical Collections**: Arboreta, plant collections\n5. **Nature Reserves**: Managed natural areas\n\
6. **Castle/Estate Grounds**: Historic landscape parks\n7. **Cemeteries**: Historic burial grounds\n\n**USE CASES**:\n\
\n1. **Museum Sculpture Garden**:\n ```yaml\n OutdoorSite:\n outdoor_site_id: \"https://nde.nl/ontology/hc/aux/kroller-muller-sculpture\"\
\n outdoor_site_name: \"Kröller-Müller Beeldentuin\"\n feature_type_classification: SCULPTURE_GARDEN\n has_area_in_hectare:\
\ 25\n has_or_had_artwork_count: 160\n ```\n\n2. **Historic Estate Grounds**:\n ```yaml\n OutdoorSite:\n outdoor_site_name:\
\n outdoor_site_name: \"Kröller-Müller Beeldentuin\"\n feature_type_classification: SCULPTURE_GARDEN\n has_or_had_area:\
\n - area_value: 25.0\n has_or_had_unit:\n unit_type: HECTARE\n unit_symbol: \"ha\"\n has_or_had_artwork_count: 160\n ```\n\n2. **Historic Estate Grounds**:\n ```yaml\n OutdoorSite:\n outdoor_site_name:\
\ \"Paleis Het Loo Tuinen\"\n bio_type_classification: GARDEN\n feature_type_classification: FORMAL_GARDEN\n\
\ historic_garden_designation: true\n ```\n\n3. **Archaeological Site**:\n ```yaml\n OutdoorSite:\n outdoor_site_name:\
\ \"Archeologisch Park Matilo\"\n feature_type_classification: ARCHAEOLOGICAL_SITE\n period_covered: \"Roman\
@ -84,7 +86,7 @@ classes:
- has_or_had_accessibility_feature
- has_or_had_admission_fee
- has_or_had_animal_species_count
- has_area_in_hectare
- has_or_had_area
- has_or_had_artwork_count
- bio_type_classification
- conservation_status
@ -151,11 +153,29 @@ classes:
description: Sculpture garden
- value: ARCHAEOLOGICAL_SITE
description: Archaeological site
has_area_in_hectare:
range: float
has_or_had_area:
description: >-
Area of the outdoor site.
MIGRATED from area_hectares and has_area_in_hectare (Rule 53).
range: Area
inlined: true
multivalued: true
examples:
- value: 25.0
description: 25 hectares
- value:
area_value: 25.0
has_or_had_unit:
unit_type: HECTARE
unit_symbol: "ha"
has_or_had_label: "Sculpture garden area"
description: 25 hectares sculpture garden
- value:
area_value: 650.0
has_or_had_unit:
unit_type: HECTARE
unit_symbol: "ha"
is_estimate: true
has_or_had_label: "Estate grounds"
description: 650 hectares historic estate (estimated)
has_or_had_artwork_count:
range: integer
examples:
@ -229,6 +249,7 @@ classes:
- Links to BOTH BioCustodianTypeEnum AND FeatureTypeEnum
- BioCustodianTypeEnum for botanical/zoo classifications
- FeatureTypeEnum for landscape/archaeological features
- "MIGRATION NOTE: has_or_had_area replaced area_hectares and has_area_in_hectare (Rule 53)"
see_also:
- https://schema.org/Park
- https://www.wikidata.org/wiki/Q22698
@ -241,11 +262,16 @@ classes:
National Park.
outdoor_site_type: SCULPTURE_GARDEN
feature_type_classification: SCULPTURE_GARDEN
has_area_in_hectare: 25.0
has_or_had_area:
- area_value: 25.0
has_or_had_unit:
unit_type: HECTARE
unit_symbol: "ha"
has_or_had_label: "Total site area"
has_or_had_artwork_count: 160
is_open_to_public: true
admission_fee: Included with museum ticket
opening_hours: Tu-Su 10:00-17:00
has_or_had_admission_fee: Included with museum ticket
opening_hour: Tu-Su 10:00-17:00
has_or_had_accessibility_feature:
- Paved paths
- Wheelchair routes available
@ -256,10 +282,16 @@ classes:
outdoor_site_description: Formal baroque gardens restored to 17th-century design. Part of royal palace complex.
outdoor_site_type: FORMAL_GARDEN
bio_type_classification: GARDEN
has_area_in_hectare: 650.0
has_or_had_area:
- area_value: 650.0
has_or_had_unit:
unit_type: HECTARE
unit_symbol: "ha"
is_estimate: true
has_or_had_label: "Estate grounds"
is_open_to_public: true
admission_fee: Included with palace ticket
seasonal_hours: Summer 10:00-18:00; Winter 10:00-16:00
has_or_had_admission_fee: Included with palace ticket
seasonal_hour: Summer 10:00-18:00; Winter 10:00-16:00
historic_garden_designation: true
description: Historic palace gardens
- value:
@ -268,8 +300,13 @@ classes:
outdoor_site_description: Archaeological park on site of Roman fort Matilo with reconstructed structures.
outdoor_site_type: ARCHAEOLOGICAL_SITE
feature_type_classification: ARCHAEOLOGICAL_SITE
has_area_in_hectare: 3.5
has_or_had_area:
- area_value: 3.5
has_or_had_unit:
unit_type: HECTARE
unit_symbol: "ha"
has_or_had_label: "Archaeological park area"
is_open_to_public: true
admission_fee: Free
has_or_had_admission_fee: Free
period_covered: Roman period (50-400 CE)
description: Roman archaeological park

View file

@ -7,7 +7,7 @@ imports:
- ./SocialMediaPostTypes
- ../slots/language
- ../slots/has_aspect_ratio
- ../slots/available_caption_languages
# REMOVED 2026-01-15: ../slots/available_caption_languages - migrated to has_available_caption_language
- ../slots/caption_available
- ../slots/comment_author
- ../slots/comment_author_channel_id
@ -193,7 +193,7 @@ classes:
- wikidata:Q604644
slots:
- has_aspect_ratio
- available_caption_languages
- has_available_caption_language
- caption_available
- comment_count
- comments_fetched

View file

@ -0,0 +1,118 @@
id: https://nde.nl/ontology/hc/enum/MeasureUnitEnum
name: measure_unit_enum
title: Measure Unit Enum
description: >-
Enumeration of measurement units for area, length, and related quantities.
**RULE 53 COMPLIANT**: Supports the MeasureUnit class for standardized
unit representation in Area and other measurement classes.
**STANDARDS ALIGNMENT**:
- ISO 80000-1 (Quantities and units)
- QUDT (Quantities, Units, Dimensions and Types)
- UCUM (Unified Code for Units of Measure)
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
qudt: http://qudt.org/vocab/unit/
ucum: http://unitsofmeasure.org/ucum/
imports:
- linkml:types
default_prefix: hc
enums:
MeasureUnitEnum:
description: >-
Standard measurement units for heritage custodian facility metrics.
Covers area (m², hectares, acres), length (m, km, linear meters),
and related quantities for buildings, sites, and collections.
permissible_values:
# Area units
SQUARE_METER:
description: Square meter (m²) - SI unit for area
meaning: qudt:M2
annotations:
ucum_code: m2
unit_type: area
conversion_to_m2: 1.0
SQUARE_KILOMETER:
description: Square kilometer (km²)
meaning: qudt:KiloM2
annotations:
ucum_code: km2
unit_type: area
conversion_to_m2: 1000000.0
HECTARE:
description: Hectare (ha) - 10,000 m²
meaning: qudt:HA
annotations:
ucum_code: har
unit_type: area
conversion_to_m2: 10000.0
ACRE:
description: Acre - 4,046.86 m² (imperial)
meaning: qudt:AC
annotations:
ucum_code: "[acr_us]"
unit_type: area
conversion_to_m2: 4046.8564224
SQUARE_FOOT:
description: Square foot (ft²) - imperial area unit
meaning: qudt:FT2
annotations:
ucum_code: "[sft_i]"
unit_type: area
conversion_to_m2: 0.09290304
# Length units
METER:
description: Meter (m) - SI unit for length
meaning: qudt:M
annotations:
ucum_code: m
unit_type: length
KILOMETER:
description: Kilometer (km)
meaning: qudt:KiloM
annotations:
ucum_code: km
unit_type: length
LINEAR_METER:
description: Linear meter - for archival shelf measurement
meaning: qudt:M
annotations:
ucum_code: m
unit_type: length
usage_context: archival_shelving
FOOT:
description: Foot (ft) - imperial length unit
meaning: qudt:FT
annotations:
ucum_code: "[ft_i]"
unit_type: length
# Special units for heritage context
RUNNING_METER:
description: Running meter - linear extent of collection material
meaning: qudt:M
annotations:
ucum_code: m
unit_type: length
usage_context: collection_extent
SHELF_METER:
description: Shelf meter - archival/library shelving measurement
meaning: qudt:M
annotations:
ucum_code: m
unit_type: length
usage_context: storage_capacity
# Unknown/unspecified
UNKNOWN:
description: Unit not specified or unknown
annotations:
unit_type: unknown

View file

@ -1,3 +1,11 @@
# ARCHIVED: 2026-01-15
# REASON: Migrated to has_available_caption_language (RiC-O style naming convention)
# MIGRATION: slot_fixes.yaml entry for available_caption_languages
# AFFECTED CLASS: VideoPost.yaml
# NEW SLOT: has_available_caption_language (multivalued string)
#
# Original slot definition preserved below for reference:
# ---
id: https://nde.nl/ontology/hc/slot/available_caption_languages
name: available_caption_languages_slot
title: Available Caption Languages Slot

View file

@ -0,0 +1,41 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_beneficiary
name: has_or_had_beneficiary_slot
title: Has or Had Beneficiary Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_beneficiary:
description: >-
Who benefits or benefited from the organization's programs and services.
Identifies target populations with temporal semantics (RiC-O style naming).
Beneficiary categories include:
- **Heritage organizations**: Museums, archives, libraries, societies
- **Heritage professionals**: Conservators, curators, archivists, educators
- **Local communities**: Residents near heritage sites, indigenous peoples
- **Policy makers**: Government officials, legislators, planners
- **Students and researchers**: Academic community, early-career professionals
- **General public**: Tourists, volunteers, heritage enthusiasts
- **Property owners**: Private owners of heritage buildings
- **Emergency responders**: First responders, military, disaster relief
Beneficiary identification clarifies organizational impact over time.
Examples:
- "Heritage organizations, Local communities, Policy makers, General public"
- "Conservation professionals, Students, Heritage property owners"
- "Museums and libraries, Heritage managers, Volunteers"
- "Indigenous communities, Cultural rights holders, Traditional practitioners"
range: string
multivalued: true
slot_uri: schema:audience
exact_mappings:
- schema:audience
annotations:
migration_note: "Renamed from beneficiary_group to follow RiC-O style naming convention (has_or_had_* pattern)"

View file

@ -0,0 +1,47 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_unit
name: has_or_had_unit_slot
title: Has Or Had Unit Slot
description: >-
Generic slot for associating a measurement with its unit.
**RULE 53 COMPLIANT**: This is the authoritative slot for unit references,
used by Area, Quantity, and other measurement classes.
**RiC-O NAMING**: Follows "has_or_had_*" pattern for temporal relationships
(Rule 39) - units of measurement can change based on context or standards.
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
qudt: http://qudt.org/schema/qudt/
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_unit:
description: >-
Unit of measurement associated with a quantity or measurement value.
Generic slot for linking measurements to their units. Range should be
narrowed to MeasureUnit class in slot_usage.
range: string
slot_uri: qudt:unit
inlined: true
exact_mappings:
- qudt:unit
- schema:unitCode
close_mappings:
- schema:unitText
annotations:
custodian_types: '["*"]'
custodian_types_rationale: >-
Unit specification applicable to all heritage custodian types
for standardized measurement reporting.
custodian_types_primary: "*"
specificity_score: 0.3
specificity_rationale: >-
Foundational slot - highly reusable for any quantity measurement.

View file

@ -26,7 +26,7 @@
"auxiliary_places.yaml",
"auxiliary_platform_id.yaml",
"auxiliary_platforms.yaml",
"available_caption_languages.yaml",
"backup_status.yaml",
"base_surname.yaml",
"bay_number.yaml",

View file

@ -660,15 +660,13 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/available_caption_languages
processed:
status: false
timestamp: null
session: null
notes: "Maps to existing Language class"
status: true
timestamp: '2026-01-15T00:15:00Z'
session: "session-2026-01-15-slot-migrations"
notes: "FULLY MIGRATED: VideoPost.yaml updated to use existing has_available_caption_language slot (multivalued string). Removed available_caption_languages from imports and slots list. Archived to archive/available_caption_languages_archived_20260115.yaml."
revision:
- label: is_or_was_available_in_language
- label: has_available_caption_language
type: slot
- label: Language
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/backup_status
processed:
@ -2230,4 +2228,58 @@ fixes:
type: slot
- label: Description
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/total_storage
- original_slot_id: https://nde.nl/ontology/hc/slot/traveling_venue
revision:
- label: has_or_had_venue
type: slot
- label: Venue
type: class
- label: has_or_had_type
type: slot
- label: VenueType
type: class
- label: includes_or_included
type: slot
- label: VenueTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/transition_types_detected
revision:
- label: has_or_had_type
type: slot
- label: TransitionType
type: class
- label: includes_or_included
type: slot
- label: TransitionTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/transfer_to_collection_date
revision:
- label: is_or_was_transferred
type: slot
- label: TransferEvent
type: class
- label: temporal_extent
type: slot
- label: TimeSpan
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/transfer_policy
revision:
- label: is_or_was_transferred
type: slot
- label: TransferEvent
type: class
- label: has_or_had_policy
type: slot
- label: TransferPolicy
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/transfer_location_text
revision:
- label: is_or_was_transferred
type: slot
- label: TransferEvent
type: class
- label: starts_or_started_at_location
type: slot
- label: Location
type: class