208 lines
7.7 KiB
YAML
208 lines
7.7 KiB
YAML
# RequirementStatus - Status class for structured requirement information
|
|
#
|
|
# Following the BackupStatus pattern:
|
|
# This is a STATUS class that represents the current state of a requirement,
|
|
# with structured type classification via RequirementType.
|
|
#
|
|
# Generation date: 2026-01-15 (created for booking_required migration)
|
|
# Rule compliance: 37 (specificity scores), 38 (slot centralization), 39 (RiC-O naming)
|
|
#
|
|
# ONTOLOGY ALIGNMENT: PROV-O prov:Entity for status with provenance
|
|
|
|
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
|
|
# Shared slots (centralized)
|
|
- ../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
|
|
# Import the RequirementType for type references
|
|
- ./RequirementType
|
|
|
|
classes:
|
|
RequirementStatus:
|
|
class_uri: prov:Entity
|
|
description: |
|
|
Represents the status of a requirement (e.g., booking, registration, appointment).
|
|
|
|
**DEFINITION**:
|
|
|
|
RequirementStatus captures structured requirement information including:
|
|
- Whether the requirement is active (is_or_was_required boolean)
|
|
- The type(s) of requirement (via has_or_had_type → RequirementType)
|
|
- Status description (free text details)
|
|
- Temporal validity (when this requirement was in effect)
|
|
|
|
**ONTOLOGY ALIGNMENT**:
|
|
|
|
| Ontology | Class/Property | Notes |
|
|
|----------|----------------|-------|
|
|
| **PROV-O** | `prov:Entity` | Primary - entity with provenance |
|
|
| **Schema.org** | `schema:isRequired` | Boolean requirement |
|
|
| **SKOS** | `skos:Concept` | For type classification |
|
|
|
|
**RELATIONSHIP TO OTHER CLASSES**:
|
|
|
|
```
|
|
EducationCenter / ReadingRoom / etc.
|
|
│
|
|
└── has_or_had_status → RequirementStatus (THIS CLASS)
|
|
│
|
|
├── is_or_was_required (boolean - is booking required?)
|
|
├── has_or_had_type → RequirementType (what kind of requirement)
|
|
├── has_or_had_description (free text details)
|
|
└── begin_of_the_begin / end_of_the_end (validity period)
|
|
```
|
|
|
|
**SLOT MIGRATION** (2026-01-15):
|
|
|
|
This class replaces domain-specific boolean slots:
|
|
- booking_required (boolean) → has_or_had_status: RequirementStatus
|
|
- appointment_required (boolean) → has_or_had_status: RequirementStatus
|
|
- registration_required (boolean) → has_or_had_status: RequirementStatus
|
|
|
|
**SIMPLE VS STRUCTURED USAGE**:
|
|
|
|
For simple boolean requirement (just true/false):
|
|
```yaml
|
|
is_or_was_required: true
|
|
```
|
|
|
|
For structured requirement with details:
|
|
```yaml
|
|
has_or_had_status:
|
|
is_or_was_required: true
|
|
has_or_had_type:
|
|
- has_or_had_short_code: ADVANCE_BOOKING
|
|
has_or_had_description: "Advance booking required for groups of 10+"
|
|
```
|
|
|
|
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_short_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: # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
|
|
|
# NOTE: slot_usage may need manual review for range/description updates '{"collection_discovery": 0.60, "location_browse": 0.75, "general_heritage": 0.50}'
|
|
slot_migration: |
|
|
2026-01-15: Created to replace domain-specific requirement boolean slots
|
|
- booking_required (boolean) → has_or_had_status (RequirementStatus)
|
|
- appointment_required (boolean) → has_or_had_status (RequirementStatus)
|
|
|
|
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_short_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_short_code: APPOINTMENT_REQUIRED
|
|
has_or_had_description: |
|
|
Appointment required for reading room access.
|
|
Walk-in visits not possible due to limited seating.
|
|
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)
|