Major slot migrations following slot_fixes.yaml revisions: - TimeSpan: begin_of_the_begin, begin_of_the_end, end_of_the_begin, end_of_the_end - Quantity: has_or_had_measurement_unit with MeasureUnit class - Description: has_or_had_description with Description class - URL, WikiData, Timestamp, Location, Provenance pattern classes New slots for RiC-O compliance: - Temporal: has_or_had_time_interval, calendar_system - Transfer: is_or_was_transferred, has_or_had_policy - Location: starts/ends_or_started/ended_at_location - Provenance: has_or_had_provenance_path, is_or_was_webarchived_at Archive deprecated slots per Rule 53 workflow.
151 lines
4.8 KiB
YAML
151 lines
4.8 KiB
YAML
# Timestamp class
|
|
# A point in time with optional precision and calendar metadata
|
|
#
|
|
# Generation date: 2026-01-15
|
|
# Rule compliance: 0 (LinkML single source of truth), 38 (slot centralization), 53 (slot_fixes.yaml)
|
|
#
|
|
# This class supports 6 slot migrations per slot_fixes.yaml:
|
|
# - valid_to_geo
|
|
# - valid_to
|
|
# - valid_from_geo
|
|
# - valid_from
|
|
# - updated_at
|
|
# - unesco_inscription_year
|
|
#
|
|
# Ontological basis: OWL Time Instant (time:Instant)
|
|
|
|
id: https://nde.nl/ontology/hc/class/Timestamp
|
|
name: timestamp_class
|
|
title: Timestamp Class
|
|
|
|
prefixes:
|
|
linkml: https://w3id.org/linkml/
|
|
hc: https://nde.nl/ontology/hc/
|
|
time: http://www.w3.org/2006/time#
|
|
xsd: http://www.w3.org/2001/XMLSchema#
|
|
crm: http://www.cidoc-crm.org/cidoc-crm/
|
|
schema: http://schema.org/
|
|
|
|
default_prefix: hc
|
|
|
|
imports:
|
|
- linkml:types
|
|
- ../metadata
|
|
- ../slots/timestamp_value
|
|
- ../slots/timestamp_precision
|
|
- ../slots/calendar_system
|
|
- ../slots/specificity_annotation
|
|
- ../slots/template_specificity
|
|
- ./SpecificityAnnotation
|
|
- ./TemplateSpecificityScores
|
|
|
|
classes:
|
|
Timestamp:
|
|
class_uri: time:Instant
|
|
description: |
|
|
A point in time with optional precision and calendar metadata.
|
|
|
|
**Purpose**:
|
|
Timestamp provides a reusable class for representing temporal instants
|
|
with explicit precision indicators. This supports EDTF-style partial
|
|
dates (year-only, year-month, full date, datetime) and calendar system
|
|
annotation for non-Gregorian dates.
|
|
|
|
**Ontological Alignment**:
|
|
- **Primary**: `time:Instant` - OWL Time instant
|
|
- **Close**: `crm:E61_Time_Primitive` - CIDOC-CRM time primitive
|
|
- **Related**: `xsd:dateTime` - XML Schema dateTime
|
|
|
|
**Use Cases**:
|
|
- Beginning/ending of time spans (TimeSpan.begin_of_the_begin, etc.)
|
|
- Validity dates (valid_from, valid_to)
|
|
- Update timestamps (updated_at, created_at)
|
|
- Historical dates with varying precision
|
|
|
|
**Precision Levels**:
|
|
- year: "1995" (EDTF: "1995")
|
|
- month: "1995-06" (EDTF: "1995-06")
|
|
- day: "1995-06-15" (EDTF: "1995-06-15")
|
|
- datetime: "1995-06-15T10:30:00" (full precision)
|
|
|
|
**Replaces** (per slot_fixes.yaml):
|
|
- `valid_to_geo` → TimeSpan.end_of_the_end: Timestamp
|
|
- `valid_to` → TimeSpan.end_of_the_end: Timestamp
|
|
- `valid_from_geo` → TimeSpan.begin_of_the_begin: Timestamp
|
|
- `valid_from` → TimeSpan.begin_of_the_begin: Timestamp
|
|
- `updated_at` → was_last_updated_at: TimeSpan
|
|
- `unesco_inscription_year` → TimeSpan.begin_of_the_begin: Timestamp
|
|
|
|
exact_mappings:
|
|
- time:Instant
|
|
|
|
close_mappings:
|
|
- crm:E61_Time_Primitive
|
|
|
|
related_mappings:
|
|
- xsd:dateTime
|
|
- schema:DateTime
|
|
|
|
slots:
|
|
- timestamp_value
|
|
- timestamp_precision
|
|
- calendar_system
|
|
- specificity_annotation
|
|
- template_specificity
|
|
|
|
slot_usage:
|
|
timestamp_value:
|
|
description: |
|
|
The timestamp value as ISO 8601 string.
|
|
Precision determined by string format:
|
|
- "1995" = year precision
|
|
- "1995-06" = month precision
|
|
- "1995-06-15" = day precision
|
|
- "1995-06-15T10:30:00Z" = full datetime
|
|
range: string
|
|
required: true
|
|
pattern: "^-?\\d{4}(-\\d{2})?(-\\d{2})?(T\\d{2}:\\d{2}(:\\d{2})?(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})?)?$"
|
|
timestamp_precision:
|
|
description: |
|
|
Explicit precision level. Auto-derived from timestamp_value if not provided.
|
|
Values: year, month, day, hour, minute, second, millisecond
|
|
range: string
|
|
required: false
|
|
examples:
|
|
- value: year
|
|
- value: day
|
|
- value: second
|
|
calendar_system:
|
|
description: |
|
|
Calendar system for the timestamp. Default is Gregorian.
|
|
For historical or non-Western dates, specify the calendar.
|
|
range: string
|
|
required: false
|
|
examples:
|
|
- value: gregorian
|
|
- value: julian
|
|
- value: hebrew
|
|
- value: islamic
|
|
|
|
annotations:
|
|
custodian_types: '["*"]'
|
|
custodian_types_rationale: Generic timestamp class applicable to all types.
|
|
custodian_types_primary: null
|
|
specificity_score: 0.15
|
|
specificity_rationale: Very broadly applicable generic class for temporal points.
|
|
|
|
examples:
|
|
- value: |
|
|
timestamp_value: "1995"
|
|
timestamp_precision: year
|
|
description: "Year-only timestamp (e.g., founding year)"
|
|
- value: |
|
|
timestamp_value: "2024-06-15"
|
|
timestamp_precision: day
|
|
calendar_system: gregorian
|
|
description: "Full date timestamp"
|
|
- value: |
|
|
timestamp_value: "2024-06-15T14:30:00Z"
|
|
timestamp_precision: second
|
|
calendar_system: gregorian
|
|
description: "Full datetime timestamp"
|