diff --git a/frontend/public/schemas/20251121/linkml/manifest.json b/frontend/public/schemas/20251121/linkml/manifest.json index f6dd9fb34f..0b24f7fd3c 100644 --- a/frontend/public/schemas/20251121/linkml/manifest.json +++ b/frontend/public/schemas/20251121/linkml/manifest.json @@ -1,5 +1,5 @@ { - "generated": "2026-01-19T12:05:24.104Z", + "generated": "2026-01-19T12:05:53.461Z", "schemaRoot": "/schemas/20251121/linkml", "totalFiles": 2969, "categoryCounts": { diff --git a/schemas/20251121/linkml/manifest.json b/schemas/20251121/linkml/manifest.json index 0b24f7fd3c..6a43014fd6 100644 --- a/schemas/20251121/linkml/manifest.json +++ b/schemas/20251121/linkml/manifest.json @@ -1,5 +1,5 @@ { - "generated": "2026-01-19T12:05:53.461Z", + "generated": "2026-01-19T12:10:38.542Z", "schemaRoot": "/schemas/20251121/linkml", "totalFiles": 2969, "categoryCounts": { diff --git a/schemas/20251121/linkml/modules/classes/Classroom.yaml b/schemas/20251121/linkml/modules/classes/Classroom.yaml new file mode 100644 index 0000000000..be0f3b78f7 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/Classroom.yaml @@ -0,0 +1,139 @@ +# Classroom - Classroom facility class +# +# Created per slot_fixes.yaml migration for: classroom_count +# Creation date: 2026-01-19 +# +# Rule 53 (No Bespoke Slots): classroom_count → has_or_had_facility + Classroom +# Rule 39 (RiC-O Naming): Uses has_or_had_* pattern + +id: https://nde.nl/ontology/hc/class/Classroom +name: Classroom +title: Classroom Facility + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + qudt: http://qudt.org/schema/qudt/ + +default_prefix: hc + +imports: + - linkml:types + - ./Facility + - ./Quantity + - ./RoomUnit + - ../slots/has_or_had_quantity + - ../slots/has_or_had_unit + +classes: + Classroom: + is_a: Facility + class_uri: schema:Classroom + description: | + A classroom facility at an education center or heritage institution. + + **RULE 53 MIGRATION**: + Replaces the simple `classroom_count` integer slot with a richer facility model: + - `has_or_had_quantity` → number of classroom spaces + - `has_or_had_unit` → RoomUnit (specifies what is being counted) + + **USAGE**: + ```yaml + has_or_had_facility: + - facility_name: "Classroom Wing" + has_or_had_quantity: + numeric_value: 4 + has_or_had_unit: + unit_type: CLASSROOM + ``` + + **CHARACTERISTICS**: + - Dedicated teaching/learning space + - Capacity for group instruction + - May include AV equipment + - Configurable seating arrangements + + slots: + - has_or_had_quantity + - has_or_had_unit + + slot_usage: + has_or_had_quantity: + range: Quantity + inlined: true + description: | + Number of classroom spaces in this facility. + examples: + - value: | + numeric_value: 4 + description: 4 classroom spaces + + has_or_had_unit: + range: RoomUnit + inlined: true + description: | + Unit specification for the count (classroom, seat, etc.). + examples: + - value: | + unit_type: CLASSROOM + description: Counting classrooms + + attributes: + seating_capacity: + range: integer + description: Total seating capacity across all classrooms + + av_equipped: + range: boolean + description: Whether classrooms have AV equipment + + flexible_seating: + range: boolean + description: Whether seating can be reconfigured + + exact_mappings: + - schema:Classroom + + close_mappings: + - schema:Room + - schema:Place + + annotations: + specificity_score: "0.55" + specificity_rationale: "Moderately specific - classrooms common in education centers." + template_specificity: + archive_search: 0.30 + museum_search: 0.50 + library_search: 0.45 + collection_discovery: 0.20 + person_research: 0.15 + location_browse: 0.60 + identifier_lookup: 0.10 + organizational_change: 0.25 + digital_platform: 0.15 + general_heritage: 0.55 + + examples: + - value: + facility_name: "Education Wing Classrooms" + facility_description: "Four fully-equipped classroom spaces for educational programs" + has_or_had_quantity: + numeric_value: 4 + has_or_had_unit: + unit_type: CLASSROOM + seating_capacity: 120 + av_equipped: true + flexible_seating: true + description: Museum education center classroom facility + + - value: + facility_name: "Archive Learning Rooms" + facility_description: "Two seminar rooms for genealogy and research workshops" + has_or_had_quantity: + numeric_value: 2 + has_or_had_unit: + unit_type: CLASSROOM + seating_capacity: 40 + av_equipped: true + description: Archive education classroom facility diff --git a/schemas/20251121/linkml/modules/classes/EducationCenter.yaml b/schemas/20251121/linkml/modules/classes/EducationCenter.yaml index ba715f13d6..29affd22e3 100644 --- a/schemas/20251121/linkml/modules/classes/EducationCenter.yaml +++ b/schemas/20251121/linkml/modules/classes/EducationCenter.yaml @@ -11,7 +11,11 @@ imports: # REMOVED 2026-01-15: ../slots/annual_participants - migrated to has_or_had_annual_participant_count # REMOVED 2026-01-15: ../slots/booking_required - migrated to is_or_was_required - ../slots/is_or_was_required - - ../slots/classroom_count + # REMOVED 2026-01-19: ../slots/classroom_count - migrated to has_or_had_facility with Classroom + - ../slots/has_or_had_facility + - ./Classroom + - ./RoomUnit + - ../enums/RoomUnitTypeEnum - ../slots/has_or_had_custodian_type # Shared slots (replacing education_center_* slots per Rule 53) - ../slots/has_or_had_identifier @@ -94,7 +98,8 @@ classes: - has_or_had_annual_participant_count # REMOVED 2026-01-15: booking_required - migrated to is_or_was_required - is_or_was_required - - classroom_count + # REMOVED 2026-01-19: classroom_count - migrated to has_or_had_facility with Classroom + - has_or_had_facility - has_or_had_custodian_type # MIGRATED 2026-01-15: education_center_* slots replaced with shared slots per Rule 53 - has_or_had_identifier # was: education_center_id @@ -184,11 +189,31 @@ classes: description: Professional development - value: Genealogy workshops description: Specialized workshops - classroom_count: - range: integer + # REMOVED 2026-01-19: classroom_count - migrated to has_or_had_facility with Classroom + # classroom_count: + # range: integer + # examples: + # - value: 4 + # description: 4 classrooms + has_or_had_facility: + range: Classroom + inlined: true + multivalued: true + description: | + Classroom facilities at this education center. + MIGRATED 2026-01-19: Replaces classroom_count slot per Rule 53. + Uses Classroom class (subclass of Facility) with has_or_had_quantity + and has_or_had_unit for structured room counting. examples: - - value: 4 - description: 4 classrooms + - value: | + facility_name: "Main Classroom Wing" + has_or_had_quantity: + numeric_value: 4 + has_or_had_unit: + unit_type: CLASSROOM + seating_capacity: 120 + av_equipped: true + description: 4 classroom facility # REMOVED 2026-01-14: workshop_space - migrated to has_or_had_quantity with Quantity # workshop_space: # range: integer @@ -291,7 +316,16 @@ classes: - Interactive workshops - Family treasure hunts - Teacher training days - classroom_count: 4 + # MIGRATED 2026-01-19: classroom_count → has_or_had_facility + Classroom + has_or_had_facility: + - facility_name: "Education Wing Classrooms" + has_or_had_quantity: + numeric_value: 4 + has_or_had_unit: + unit_type: CLASSROOM + seating_capacity: 120 + av_equipped: true + flexible_seating: true has_or_had_quantity: value: 2 unit: workshop_spaces @@ -322,7 +356,15 @@ classes: - Genealogy workshops - Paleography basics - Teacher curriculum support - classroom_count: 2 + # MIGRATED 2026-01-19: classroom_count → has_or_had_facility + Classroom + has_or_had_facility: + - facility_name: "Learning Rooms" + has_or_had_quantity: + numeric_value: 2 + has_or_had_unit: + unit_type: CLASSROOM + seating_capacity: 40 + av_equipped: true max_group_size: 20 has_av_equipment: true is_or_was_required: true diff --git a/schemas/20251121/linkml/modules/classes/RoomUnit.yaml b/schemas/20251121/linkml/modules/classes/RoomUnit.yaml new file mode 100644 index 0000000000..99c60d11d3 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/RoomUnit.yaml @@ -0,0 +1,113 @@ +# RoomUnit - Unit class for counting room/space facilities +# +# Created per slot_fixes.yaml migration for: classroom_count +# Creation date: 2026-01-19 +# +# Rule 53 (No Bespoke Slots): classroom_count → has_or_had_facility + Classroom + RoomUnit +# Rule 39 (RiC-O Naming): Uses has_or_had_* pattern + +id: https://nde.nl/ontology/hc/class/RoomUnit +name: RoomUnit +title: Room Unit + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + qudt: http://qudt.org/schema/qudt/ + schema: http://schema.org/ + +default_prefix: hc + +imports: + - linkml:types + - ./Unit + - ../enums/RoomUnitTypeEnum + +classes: + RoomUnit: + is_a: Unit + class_uri: hc:RoomUnit + description: | + A unit of measurement for counting rooms or spaces in a facility. + + **RULE 53 MIGRATION**: + Replaces simple integer count slots with typed unit specification: + - `classroom_count: 4` → `has_or_had_quantity: 4` + `has_or_had_unit: {unit_type: CLASSROOM}` + + **ROOM TYPES**: + - CLASSROOM - Teaching/learning spaces + - WORKSHOP_SPACE - Hands-on activity areas + - SEMINAR_ROOM - Discussion/presentation spaces + - LABORATORY - Scientific/conservation labs + - STUDIO - Creative/production spaces + - READING_ROOM - Research/study areas + - STORAGE_ROOM - Collection storage spaces + - OFFICE - Administrative spaces + + **USAGE PATTERN**: + ```yaml + has_or_had_facility: + - facility_name: "Education Wing" + has_or_had_quantity: + numeric_value: 4 + has_or_had_unit: + unit_type: CLASSROOM + ``` + + exact_mappings: + - qudt:Unit + + close_mappings: + - schema:Room + + attributes: + unit_type: + range: RoomUnitTypeEnum + required: true + description: | + The type of room/space being counted. + examples: + - value: CLASSROOM + description: Classroom space + - value: READING_ROOM + description: Reading room + + annotations: + custodian_types: '["E", "L", "A", "M", "R"]' + custodian_types_rationale: >- + Room counting most relevant for education providers (E), libraries (L), + archives (A), museums (M), and research centers (R). + custodian_types_primary: "E" + specificity_score: 0.45 + specificity_rationale: >- + Moderately specific - room counting common in education/facility contexts. + template_specificity: + archive_search: 0.35 + museum_search: 0.45 + library_search: 0.50 + collection_discovery: 0.20 + person_research: 0.10 + location_browse: 0.55 + identifier_lookup: 0.10 + organizational_change: 0.20 + digital_platform: 0.10 + general_heritage: 0.45 + + examples: + - value: + unit_type: CLASSROOM + description: Unit for counting classroom spaces + + - value: + unit_type: READING_ROOM + description: Unit for counting reading rooms + + - value: + unit_type: WORKSHOP_SPACE + description: Unit for counting workshop areas + + comments: + - Created from slot_fixes.yaml migration (2026-01-19) + - Specialized unit for room/space counting + - Subclass of Unit with room-specific type enum + - Used with Classroom and similar facility classes diff --git a/schemas/20251121/linkml/modules/enums/RoomUnitTypeEnum.yaml b/schemas/20251121/linkml/modules/enums/RoomUnitTypeEnum.yaml new file mode 100644 index 0000000000..8387860b04 --- /dev/null +++ b/schemas/20251121/linkml/modules/enums/RoomUnitTypeEnum.yaml @@ -0,0 +1,134 @@ +# RoomUnitTypeEnum - Types of rooms/spaces for counting +# +# Created per slot_fixes.yaml migration for: classroom_count +# Creation date: 2026-01-19 +# +# Rule 53 (No Bespoke Slots): Supports RoomUnit class for facility counting + +id: https://nde.nl/ontology/hc/enum/RoomUnitTypeEnum +name: room_unit_type_enum +title: Room Unit Type Enum +description: >- + Enumeration of room and space types for counting facilities. + + **RULE 53 COMPLIANT**: Supports RoomUnit class for standardized + room counting in heritage facility metrics. + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + +imports: + - linkml:types + +default_prefix: hc + +enums: + RoomUnitTypeEnum: + description: >- + Standard room types for counting heritage facility spaces. + + Used with RoomUnit class in has_or_had_unit slot for facility counting. + permissible_values: + # Educational spaces + CLASSROOM: + description: Teaching/learning space for group instruction + meaning: schema:Classroom + annotations: + usage_context: education + typical_capacity: "20-40" + + WORKSHOP_SPACE: + description: Hands-on activity area for practical work + annotations: + usage_context: education + typical_capacity: "10-20" + + SEMINAR_ROOM: + description: Discussion/presentation space for smaller groups + annotations: + usage_context: education + typical_capacity: "10-25" + + LECTURE_HALL: + description: Large presentation space for lectures + annotations: + usage_context: education + typical_capacity: "50-300" + + # Research spaces + LABORATORY: + description: Scientific or conservation laboratory space + annotations: + usage_context: research + + STUDIO: + description: Creative or production workspace + annotations: + usage_context: creative + + # Library/archive spaces + READING_ROOM: + description: Research/study area for visitors + meaning: hc:ReadingRoom + annotations: + usage_context: research + + STUDY_CARREL: + description: Individual study booth or station + annotations: + usage_context: research + + # Storage spaces + STORAGE_ROOM: + description: Collection storage space + annotations: + usage_context: storage + + VAULT: + description: Secure storage for valuable items + annotations: + usage_context: storage + security_level: high + + # Administrative spaces + OFFICE: + description: Administrative workspace + annotations: + usage_context: administrative + + MEETING_ROOM: + description: Conference/meeting space + annotations: + usage_context: administrative + + # Public spaces + GALLERY: + description: Exhibition gallery space + meaning: schema:ExhibitionEvent + annotations: + usage_context: exhibition + + AUDITORIUM: + description: Large performance/presentation venue + meaning: schema:EventVenue + annotations: + usage_context: events + + # Support spaces + RESTROOM: + description: Visitor restroom facilities + annotations: + usage_context: visitor_services + + CLOAKROOM: + description: Coat/bag storage for visitors + annotations: + usage_context: visitor_services + + # Unknown + UNKNOWN: + description: Room type not specified or unknown + annotations: + usage_context: unspecified diff --git a/schemas/20251121/linkml/modules/slots/classroom_count.yaml b/schemas/20251121/linkml/modules/slots/archive/classroom_count_archived_20260119.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/classroom_count.yaml rename to schemas/20251121/linkml/modules/slots/archive/classroom_count_archived_20260119.yaml diff --git a/schemas/20251121/linkml/modules/slots/slot_fixes.yaml b/schemas/20251121/linkml/modules/slots/slot_fixes.yaml index 8f5d18c400..bf3daeee66 100644 --- a/schemas/20251121/linkml/modules/slots/slot_fixes.yaml +++ b/schemas/20251121/linkml/modules/slots/slot_fixes.yaml @@ -10682,3 +10682,52 @@ fixes: type: slot - label: TimeSpan type: class +- original_slot_id: https://nde.nl/ontology/hc/slot/date_precision + revision: + - label: degree_of_certainty + type: slot + - label: DatePrecision + type: class +- original_slot_id: https://nde.nl/ontology/hc/slot/date_retrieved + revision: + - label: was_retrieved_at + type: slot + - label: Timestamp + type: class +- original_slot_id: https://nde.nl/ontology/hc/slot/de + revision: + - label: has_or_had_language + type: slot + - label: Language + type: class + value: de +- original_slot_id: https://nde.nl/ontology/hc/slot/dealer_name + revision: + - label: is_or_was_associated_with + type: slot + - label: ArtDealer + type: class + - label: has_or_had_name + type: slot + - label: Name + type: class +- original_slot_id: https://nde.nl/ontology/hc/slot/death_place + revision: + - label: is_deceased + type: slot + - label: DeceasedStatus + type: class + - label: was_or_is_caused_by + type: slot + - label: CauseOfDeath + type: class + - label: occurs_or_occurred_at + type: slot + - label: Place + type: class +- original_slot_id: https://nde.nl/ontology/hc/slot/deceased + revision: + - label: is_deceased + type: slot + - label: DeceasedStatus + type: class