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_description - ../slots/has_label - ../slots/has_type 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_component: - has_type: StreetNumber has_label: "1" long_name: "1" short_name: "1" ``` slots: - has_type - has_label - has_description slot_usage: has_type: range: ComponentType multivalued: true required: false examples: - value: StreetNumber - value: Route - value: Locality has_label: # range: string required: false examples: - value: "1" - value: "Museumstraat" 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: (Flattened) migration_source_slot: component_type migration_date: "2026-01-22" migration_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_type: StreetNumber has_label: "1" - value: has_type: Locality has_label: "Amsterdam"