glam/schemas/20251121/linkml/modules/classes/Component.yaml
kempersc 1516d509cf Add metadata to LinkML class definitions and update prefixes
- Added `id`, `name`, `title`, and `description` fields to multiple LinkML class YAML files.
- Standardized prefixes across all class definitions.
- Introduced a new script `fix_linkml_metadata.py` to automate the addition of metadata to class files.
- Updated existing class files to ensure compliance with the new metadata structure.
2026-01-29 17:40:47 +01:00

130 lines
3.7 KiB
YAML

id: https://nde.nl/ontology/hc/class/Component
name: Component
title: Component
description: LinkML class definition for Component
prefixes:
linkml: https://w3id.org/linkml/
schema: http://schema.org/
skos: http://www.w3.org/2004/02/skos/core#
rico: https://www.ica.org/standards/RiC/ontology#
wd: http://www.wikidata.org/entity/
# Component class
# Created per slot_fixes.yaml revision for: component_type
#
# MIGRATION NOTE (2026-01-22): Created as part of component_type migration per Rule 53.
# Provides base class for component/part entities.
id: https://nde.nl/ontology/hc/class/Component
name: component_class
title: Component 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
- ../metadata
- ../slots/has_or_had_type
- ../slots/has_or_had_label
- ../slots/has_or_had_description
default_prefix: hc
classes:
Component:
class_uri: schema:ItemList
description: |
A component or part of a larger entity.
**MIGRATION NOTE** (2026-01-22):
Created per slot_fixes.yaml migration from `component_type` string
to structured Component class per Rule 53.
**Purpose**:
Provides base class for components/parts including:
- Type classification via ComponentType hierarchy
- Value/label for the component
- Additional metadata
**Ontological Alignment**:
- **Primary** (`class_uri`): `schema:ItemList` - Schema.org (component as list item)
- **Close**: `dcterms:hasPart` - Dublin Core part relationship
**Use Cases**:
- Address components (street, city, country)
- System components
- Document components
**Pattern**:
```yaml
has_or_had_component:
- has_or_had_type: StreetNumber
has_or_had_label: "1"
long_name: "1"
short_name: "1"
```
slots:
- has_or_had_type
- has_or_had_label
- has_or_had_description
slot_usage:
has_or_had_type:
description: |
The type classification of this component.
Range narrowed to ComponentType class hierarchy.
range: ComponentType
multivalued: true
required: false
examples:
- value: StreetNumber
description: House/building number
- value: Route
description: Street name
- value: Locality
description: City/town
has_or_had_label:
description: The value/content of this component.
range: string
required: false
examples:
- value: "1"
description: Street number value
- value: "Museumstraat"
description: Street name value
exact_mappings:
- schema:ItemList
close_mappings:
- dcterms:hasPart
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Components applicable across all heritage domains.
custodian_types_primary: M
specificity_score: 0.30
specificity_rationale: >-
Broadly applicable - component modeling fundamental to many domains.
migration_info:
source_slot: component_type
migration_date: "2026-01-22"
rule: "Rule 53"
comments:
- "Base class for component/part entities"
- "Type classification via ComponentType hierarchy"
- "Created 2026-01-22 from component_type migration (Rule 53)"
examples:
- value:
has_or_had_type: StreetNumber
has_or_had_label: "1"
description: Street number component
- value:
has_or_had_type: Locality
has_or_had_label: "Amsterdam"
description: City component