glam/schemas/20251121/linkml/modules/classes/RequirementStatus.yaml

121 lines
6.5 KiB
YAML

id: https://nde.nl/ontology/hc/class/RequirementStatus
name: requirement_status_class
title: Requirement Status Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov#
skos: http://www.w3.org/2004/02/skos/core#
schema: http://schema.org/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_identifier
- ../slots/has_or_had_type
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/has_or_had_note
- ../slots/is_or_was_required
- ../slots/begin_of_the_begin
- ../slots/end_of_the_end
- ./RequirementType
classes:
RequirementStatus:
class_uri: prov:Entity
description: "Represents the status of a requirement (e.g., booking, registration, appointment).\n\n**DEFINITION**:\n\nRequirementStatus captures structured requirement information including:\n- Whether the requirement is active (is_or_was_required boolean)\n- The type(s) of requirement (via has_or_had_type \u2192 RequirementType)\n- Status description (free text details)\n- Temporal validity (when this requirement was in effect)\n\n**ONTOLOGY ALIGNMENT**:\n\n| Ontology | Class/Property | Notes |\n|----------|----------------|-------|\n| **PROV-O** | `prov:Entity` | Primary - entity with provenance |\n| **Schema.org** | `schema:isRequired` | Boolean requirement |\n| **SKOS** | `skos:Concept` | For type classification |\n\n**RELATIONSHIP TO OTHER CLASSES**:\n\n```\nEducationCenter / ReadingRoom / etc.\n \u2502\n \u2514\u2500\u2500 has_or_had_status \u2192 RequirementStatus (THIS CLASS)\n \u2502\n \u251C\u2500\u2500 is_or_was_required (boolean - is booking required?)\n\
\ \u251C\u2500\u2500 has_or_had_type \u2192 RequirementType (what kind of requirement)\n \u251C\u2500\u2500 has_or_had_description (free text details)\n \u2514\u2500\u2500 begin_of_the_begin / end_of_the_end (validity period)\n```\n\n**SLOT MIGRATION** (2026-01-15):\n\nThis class replaces domain-specific boolean slots:\n- booking_required (boolean) \u2192 has_or_had_status: RequirementStatus\n- appointment_required (boolean) \u2192 has_or_had_status: RequirementStatus\n- registration_required (boolean) \u2192 has_or_had_status: RequirementStatus\n\n**SIMPLE VS STRUCTURED USAGE**:\n\nFor simple boolean requirement (just true/false):\n```yaml\nis_or_was_required: true\n```\n\nFor structured requirement with details:\n```yaml\nhas_or_had_status:\n is_or_was_required: true\n has_or_had_type:\n - has_or_had_code: ADVANCE_BOOKING\n has_or_had_description: \"Advance booking required for groups of 10+\"\n```\n"
exact_mappings:
- prov:Entity
close_mappings:
- schema:Action
slots:
- has_or_had_identifier
- is_or_was_required
- has_or_had_type
- has_or_had_label
- has_or_had_description
- has_or_had_note
- begin_of_the_begin
- end_of_the_end
slot_usage:
has_or_had_identifier:
range: uriorcurie
identifier: true
required: true
pattern: ^https://nde\.nl/ontology/hc/requirement-status/[a-z0-9-]+$
is_or_was_required:
range: boolean
required: true
description: Whether this requirement is active/mandatory.
examples:
- value: true
description: Booking is required
- value: false
description: Booking is optional (walk-ins welcome)
has_or_had_type:
range: RequirementType
multivalued: true
inlined_as_list: true
description: The type(s) of requirement (advance booking, group booking, etc.).
examples:
- value:
- has_or_had_code: ADVANCE_BOOKING
description: Advance booking required
has_or_had_description:
range: string
description: Free text description of the requirement details.
examples:
- value: Advance booking required for groups of 10 or more. Individual visitors welcome without booking.
has_or_had_note:
range: string
multivalued: true
description: Additional notes about the requirement.
examples:
- value: Online booking available at www.museum.nl/book
- value: 'Phone bookings: +31 20 123 4567'
begin_of_the_begin:
description: When this requirement came into effect.
end_of_the_end:
description: When this requirement ended (if no longer in effect).
annotations:
specificity_score: '0.55'
specificity_rationale: Requirement status applicable to many heritage contexts (education, reading rooms, visits).
has_or_had_score: null
slot_migration: "2026-01-15: Created to replace domain-specific requirement boolean slots\n- booking_required (boolean) \u2192 has_or_had_status (RequirementStatus)\n- appointment_required (boolean) \u2192 has_or_had_status (RequirementStatus)\n"
custodian_types: "['*']"
custodian_types_rationale: Universal utility concept
comments:
- RequirementStatus represents structured requirement information
- Linked to RequirementType for type classification
- Supports temporal validity tracking
- 'CREATED 2026-01-15: Enables migration from domain-specific boolean slots'
examples:
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/requirement-status/rijksmuseum-edu-booking
is_or_was_required: true
has_or_had_type:
- has_or_had_code: ADVANCE_BOOKING
has_or_had_label:
- Booking required for education programs@en
- Reservering verplicht voor educatieprogramma's@nl
has_or_had_description: 'Advance booking required for all school groups and educational programs.
Minimum 2 weeks advance booking for groups of 20+.
'
has_or_had_note:
- 'Online booking: educatie@rijksmuseum.nl'
begin_of_the_begin: '2020-01-01T00:00:00Z'
description: Example booking requirement for museum education center
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/requirement-status/archive-reading-room
is_or_was_required: true
has_or_had_type:
- has_or_had_code: APPOINTMENT_REQUIRED
has_or_had_description: "Appointment required for reading room access. \nWalk-in visits not possible due to limited seating.\n"
description: Appointment requirement for archive reading room
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/requirement-status/library-open-access
is_or_was_required: false
has_or_had_description: No booking required. Open access during public hours.
description: No requirement (open access)