- Removed obsolete slots: `has_or_had_custodian_observation`, `provider`, and `specificity_annotation`. - Updated `has_or_had_score` slot to use `SpecificityScore` class and modified its description and examples. - Added new slots: `end_seconds`, `end_time`, `has_archive_path`, `has_or_had_custodian_name`, `protocol_name`, and `protocol_version`. - Introduced a script `check_annotation_types.py` to validate the presence and structure of `custodian_types` in YAML files. - Added a script `update_specificity.py` to automate updates related to `SpecificityAnnotation` to `SpecificityScore`.
112 lines
No EOL
3.9 KiB
YAML
112 lines
No EOL
3.9 KiB
YAML
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/complies_or_complied_with
|
|
- ../slots/has_or_had_level # was: timestamp_precision
|
|
- ../slots/has_or_had_score # was: template_specificity
|
|
- ../slots/has_or_had_timestamp # was: timestamp_value
|
|
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` → is_or_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:
|
|
- has_or_had_timestamp # was: timestamp_value - migrated per Rule 53
|
|
- has_or_had_level # was: timestamp_precision - migrated per Rule 53
|
|
- complies_or_complied_with # was: calendar_system - migrated 2026-01-22
|
|
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
|
|
|
slot_usage:
|
|
has_or_had_timestamp: # was: timestamp_value - migrated per Rule 53
|
|
range: string
|
|
required: true
|
|
pattern: "^-?\\d{4}(-\\d{2})?(-\\d{2})?(T\\d{2}:\\d{2}(:\\d{2})?(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})?)?$"
|
|
has_or_had_level: # was: timestamp_precision - migrated per Rule 53
|
|
range: string
|
|
required: false
|
|
examples:
|
|
- value: year
|
|
- value: day
|
|
- value: second
|
|
complies_or_complied_with:
|
|
range: CalendarSystem
|
|
required: false
|
|
inlined: true
|
|
examples:
|
|
- value:
|
|
- value:
|
|
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: |
|
|
has_or_had_timestamp: "1995"
|
|
has_or_had_level: year
|
|
- value: |
|
|
has_or_had_timestamp: "2024-06-15"
|
|
has_or_had_level: day
|
|
complies_or_complied_with:
|
|
- value: |
|
|
has_or_had_timestamp: "2024-06-15T14:30:00Z"
|
|
has_or_had_level: second
|
|
complies_or_complied_with: |