glam/schemas/20251121/linkml/modules/classes/TimeSpan.yaml
kempersc 0393b321c9 refactor(schema): unify custodian_type slots into has_or_had_custodian_type (Rule 39, 43)
- Migrate 236+ class files from custodian_types to has_or_had_custodian_type
- Archive deprecated slots: custodian_type, custodian_types, custodian_type_broader/narrower/related
- Update main schema and manifest imports
- Fix Custodian.yaml class to use new slot
- Fix annotation format (list→scalar) in has_or_had_custodian_type.yaml

Rules applied:
- Rule 39: RiC-O naming convention (hasOrHad pattern)
- Rule 43: Slot nouns must be singular (multivalued:true for cardinality)
- Rule 38: Slot centralization with semantic URI
2026-01-09 10:55:21 +01:00

111 lines
3.7 KiB
YAML

id: https://nde.nl/ontology/hc/class/TimeSpan
name: timespan_class
title: TimeSpan Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
crm: http://www.cidoc-crm.org/cidoc-crm/
time: http://www.w3.org/2006/time#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
- ../slots/begin_of_the_begin
- ../slots/begin_of_the_end
- ../slots/end_of_the_begin
- ../slots/end_of_the_end
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
default_range: string
slots:
begin_of_the_begin:
slot_uri: crm:P82a_begin_of_the_begin
description: |
Earliest possible start time of the time-span.
CIDOC-CRM: Outer bound of the time-span's beginning.
range: datetime
examples:
- value: '1800-01-01T00:00:00Z'
description: Earliest possible founding date
end_of_the_begin:
slot_uri: crm:P81a_end_of_the_begin
description: |
Latest possible start time of the time-span.
CIDOC-CRM: Inner bound of the time-span's beginning.
range: datetime
examples:
- value: '1805-12-31T23:59:59Z'
description: Latest possible founding date
begin_of_the_end:
slot_uri: crm:P81b_begin_of_the_end
description: |
Earliest possible end time of the time-span.
CIDOC-CRM: Inner bound of the time-span's ending.
range: datetime
examples:
- value: '1950-01-01T00:00:00Z'
description: Earliest possible closure date
end_of_the_end:
slot_uri: crm:P82b_end_of_the_end
description: |
Latest possible end time of the time-span.
CIDOC-CRM: Outer bound of the time-span's ending.
range: datetime
examples:
- value: '1955-12-31T23:59:59Z'
description: Latest possible closure date
classes:
TimeSpan:
class_uri: crm:E52_Time-Span
description: |
Represents temporal extent with fuzzy boundaries following CIDOC-CRM pattern.
E52_Time-Span models uncertainty in temporal bounds through four properties:
- P82a (begin_of_the_begin): Earliest possible start time
- P81a (end_of_the_begin): Latest possible start time
- P81b (begin_of_the_end): Earliest possible end time
- P82b (end_of_the_end): Latest possible end time
**Example**: "Founded sometime between 1800-1805, closed between 1950-1955"
- begin_of_the_begin: 1800-01-01 (earliest founding)
- end_of_the_begin: 1805-12-31 (latest founding)
- begin_of_the_end: 1950-01-01 (earliest closure)
- end_of_the_end: 1955-12-31 (latest closure)
**Use Cases**:
- Custodian founding/dissolution dates with uncertainty
- Historical event temporal bounds
- Archival record date ranges
**DO NOT USE FOR**: Database record metadata (use schema:dateCreated/dateModified)
exact_mappings:
- crm:E52_Time-Span
close_mappings:
- schema:DateTime
- time:Interval
related_mappings:
- prov:InstantaneousEvent
slots:
- begin_of_the_begin
- begin_of_the_end
- end_of_the_begin
- end_of_the_end
- specificity_annotation
- template_specificity
comments:
- Handles temporal uncertainty common in heritage contexts
- 'Precise dates: Set begin_of_the_begin == end_of_the_begin (and same for end)'
- 'Unknown start: Set begin_of_the_begin to earliest plausible date'
- 'Unknown end: Leave end_of_the_end as null (ongoing/present)'
see_also:
- https://cidoc-crm.org/html/cidoc_crm_v7.1.3.html#E52
- https://www.w3.org/TR/owl-time/
slot_usage:
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true