glam/schemas/20251121/linkml/modules/classes/CustodianTimelineEvent.yaml
kempersc b61572f08a feat: Add CreationEvent, DatePrecision, IdentificationEvent, and Image classes with structured slots
- Introduced CreationEvent class to represent the creation of objects, including temporal extent, creator, and place of creation.
- Added DatePrecision class to indicate the precision level of date values, supporting various formats from day to century.
- Implemented IdentificationEvent class for taxonomic identification, capturing identification date, method, and confidence level.
- Created Image class for visual content representation, including URL and metadata for images used in collections.
- Archived previous slots related to card images and titles, replacing them with structured slots for better data representation.
- Enhanced slots for decommission dates, degree of certainty, and identification events to improve temporal data handling.
2026-01-23 23:15:43 +01:00

279 lines
13 KiB
YAML

id: https://nde.nl/ontology/hc/class/CustodianTimelineEvent
name: CustodianTimelineEvent
title: Custodian Timeline Event Class - Organizational Change Events
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
xsd: http://www.w3.org/2001/XMLSchema#
crm: http://www.cidoc-crm.org/cidoc-crm/
tooi: https://identifier.overheid.nl/tooi/def/ont/
imports:
- linkml:types
- ./SpecificityAnnotation
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17)
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
- ../enums/OrganizationalChangeEventTypeEnum
- ../enums/DatePrecisionEnum
- ../enums/TimelineExtractionMethodEnum
# REMOVED - migrated to is_or_was_approximate (Rule 53)
# - ../slots/approximate
- ../slots/is_or_was_approximate
- ./ApproximationStatus
- ../slots/has_archive_path
- ../slots/has_or_had_level # was: data_tier - migrated per Rule 53/56/57 (2026-01-23)
- ./DataTierLevel
- ../slots/degree_of_certainty # was: date_precision - migrated per Rule 53/56/57 (2026-01-23)
- ./DatePrecision
- ../slots/description
- ../slots/event_date
- ../slots/event_type
- ../slots/extraction_method
- ../slots/extraction_note
- ../slots/extraction_timestamp
- ../slots/observation_ref
- ../slots/source_url
- ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
default_prefix: hc
classes:
CustodianTimelineEvent:
class_uri: prov:Entity
description: "An organizational change event for a heritage custodian.\n\n**PURPOSE**\n\nCaptures organizational change\
\ events (founding, mergers, name changes, etc.)\nas domain entities, independent of how they were discovered.\n\n**SOURCE-AGNOSTIC\
\ DESIGN**\n\nThis class models WHAT happened, not HOW we know. For source-specific\nprovenance, use observation classes:\n\
\n- `WebObservation` - For web-scraped data with XPath or API provenance\n- `CustodianObservation` - For institutional\
\ source documents\n\nThe optional `observation_ref` slot links events to their source observations\nwhen detailed provenance\
\ is needed.\n\n**DATA QUALITY**\n\nUse `has_or_had_level` (DataTierLevel) to indicate trustworthiness:\n- TIER_4_INFERRED: Initial extraction\
\ (LLM-generated, unverified)\n- TIER_3_CROWD_SOURCED: Verified against Wikipedia/Wikidata\n- TIER_2_VERIFIED: Verified\
\ against institutional website\n- TIER_1_AUTHORITATIVE: Verified against official registry\n\nUse `extraction_notes`\
\ to capture source-specific details:\n- API queries and responses\n- XPath locations in archived HTML\n- Wikidata property\
\ references\n- Manual research notes\n\n**EVENT TYPE MAPPING**\n\nEvents are classified using OrganizationalChangeEventTypeEnum:\n\
- FOUNDING: Institution creation (opgericht, gesticht)\n- MERGER: Multiple institutions combining (fusie, samenvoeging)\n\
- DISSOLUTION: Institution closure (opgeheven, gesloten)\n- RENAMING: Name change only (hernoemd, naamswijziging)\n\
- TRANSFER: Physical relocation (verhuisd, verplaatst)\n- EXPANSION: Absorbing other units (uitgebreid, geabsorbeerd)\n\
- SPLIT: Division into multiple units (opgesplitst)\n- SPIN_OFF: Parts becoming independent (afgesplitst)\n- REDUCTION:\
\ Scope decrease (ingekrompen)\n- REORGANIZATION: Complex restructuring (herstructurering)\n\n**EXCLUDED EVENT TYPES**\n\
\nSome patterns are NOT mapped to events:\n- predecessor: This is a relationship, not an event\n- friends_org: Separate\
\ organization (Vrienden van...)\n- reopening: Not in OrganizationalChangeEventTypeEnum\n\n**EXAMPLE USAGE**\n\n```yaml\n\
timeline_events:\n - event_type: FOUNDING\n event_date: \"2005-04-30\"\n degree_of_certainty:\n has_or_had_short_code: DAY\n is_or_was_approximate:\n\
\ approximation_level: EXACT\n description: >-\n Het RHC Drents Archief werd opgericht op 30 april 2005.\n Het is de voortzetting\
\ van het Rijksarchief in Drenthe (sinds 2000).\n source_url:\n - \"https://nl.wikipedia.org/wiki/Drents_Archief\"\
\n - \"https://bizzy.ai/nl/nl/52454037/regionaal-historisch-centrum-rhc-drents-archief\"\n extraction_method:\
\ api_response_regex\n extraction_timestamp: \"2025-12-16T10:00:00Z\"\n extraction_notes: >-\n Query: \"\
Regionaal Historisch Centrum (RHC) Drents Archief\" Assen opgericht\n Answer archived at: web/0002/linkup/linkup_founding_20251215T160438Z.json\n\
\ archive_path: web/0002/linkup/linkup_founding_20251215T160438Z.json\n has_or_had_level:\n has_or_had_short_code: TIER_4_INFERRED\n```\n"
exact_mappings:
- prov:Entity
close_mappings:
- crm:E5_Event
- tooi:Wijzigingsgebeurtenis
- schema:Event
slots:
# REMOVED - migrated to is_or_was_approximate (Rule 53)
# - approximate
- is_or_was_approximate
- archive_path
- has_or_had_level # was: data_tier - migrated per Rule 53/56/57 (2026-01-23)
- degree_of_certainty # was: date_precision - migrated per Rule 53/56/57 (2026-01-23)
- description
- event_date
- event_type
- extraction_method
- extraction_note
- extraction_timestamp
- observation_ref
- source_url
- specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
slot_usage:
event_type:
required: true
event_date:
required: false
degree_of_certainty: # was: date_precision - migrated per Rule 53/56/57 (2026-01-23)
range: DatePrecision
inlined: true
required: true
description: >-
Precision level of the event date.
Standard codes: DAY, MONTH, YEAR, DECADE, CENTURY, UNKNOWN
examples:
- value:
has_or_had_short_code: DAY
has_or_had_description: Full date with day precision
description: Day precision
- value:
has_or_had_short_code: YEAR
has_or_had_description: Year-only precision
description: Year precision
# REMOVED - migrated to is_or_was_approximate (Rule 53)
# is_approximate:
# required: true
is_or_was_approximate:
range: ApproximationStatus
inlined: true
required: true
description: >-
Whether the event date is approximate or uncertain.
MIGRATED from approximate (Rule 53) - changed from boolean to
ApproximationStatus class for structured uncertainty modeling.
examples:
- value:
approximation_level: EXACT
description: Exact date known
- value:
approximation_level: APPROXIMATE
has_or_had_label: "circa 1880"
has_or_had_description: "Founding date known only to year"
description: Approximate date with explanation
description:
required: true
source_url:
required: false
extraction_method:
required: true
range: TimelineExtractionMethodEnum
extraction_timestamp:
required: true
extraction_note:
required: false
has_archive_path:
required: false
has_or_had_level: # was: data_tier - migrated per Rule 53/56/57 (2026-01-23)
range: DataTierLevel
inlined: true
required: true
description: >-
Data quality tier indicating trustworthiness of this event data.
Standard codes: TIER_1_AUTHORITATIVE, TIER_2_VERIFIED,
TIER_3_CROWD_SOURCED, TIER_4_INFERRED
examples:
- value:
has_or_had_short_code: TIER_4_INFERRED
has_or_had_description: Extracted via LLM - pending verification
description: Initial extraction tier
- value:
has_or_had_short_code: TIER_2_VERIFIED
has_or_had_description: Verified against institutional website
description: Verified tier
observation_ref:
required: false
rules:
- preconditions:
slot_conditions:
event_date:
value_presence: PRESENT
postconditions:
slot_conditions:
degree_of_certainty: # was: date_precision
value_presence: PRESENT
description: If event_date is provided, degree_of_certainty (precision) must be specified
comments:
- 'Source-agnostic design - see Rule 37: Provenance Separation'
- Use observation_ref to link to detailed source provenance
- Use extraction_notes for source-specific details (API queries, XPaths)
- Event types constrained to OrganizationalChangeEventTypeEnum
- Use CIDOC-CRM TimeSpan for fuzzy dates if needed
see_also:
- schemas/20251121/linkml/modules/enums/OrganizationalChangeEventTypeEnum.yaml
- schemas/20251121/linkml/modules/classes/WebObservation.yaml
- schemas/20251121/linkml/modules/classes/CustodianObservation.yaml
- schemas/20251121/linkml/modules/classes/TimeSpan.yaml
- .opencode/PROVENANCE_SEPARATION_RULE.md
examples:
- value:
event_type: FOUNDING
event_date: '2005-04-30'
degree_of_certainty: # was: date_precision
has_or_had_short_code: DAY
has_or_had_description: Full date with day precision
is_or_was_approximate:
approximation_level: EXACT
description: Het RHC Drents Archief werd opgericht op 30 april 2005.
source_url:
- https://nl.wikipedia.org/wiki/Drents_Archief
extraction_method: api_response_regex
extraction_timestamp: '2025-12-16T10:00:00Z'
extraction_notes: 'Query: "Drents Archief" Assen opgericht OR gesticht API: Linkup. Archived at: web/0002/linkup/linkup_founding_20251215T160438Z.json'
archive_path: web/0002/linkup/linkup_founding_20251215T160438Z.json
has_or_had_level: # was: data_tier
has_or_had_short_code: TIER_4_INFERRED
has_or_had_description: Extracted via API response - pending verification
description: Founding event extracted from API response
- value:
event_type: MERGER
event_date: '2005'
degree_of_certainty: # was: date_precision
has_or_had_short_code: YEAR
has_or_had_description: Year-only precision
is_or_was_approximate:
approximation_level: EXACT
description: In 2005 ging het Gemeentearchief Assen op in het Drents Archief.
source_url:
- https://nl.wikipedia.org/wiki/Drents_Archief
extraction_method: api_response_regex
extraction_timestamp: '2025-12-16T10:05:00Z'
has_or_had_level: # was: data_tier
has_or_had_short_code: TIER_4_INFERRED
has_or_had_description: Extracted via API - pending verification
description: Merger event with year-only precision
- value:
event_type: FOUNDING
event_date: '1810'
degree_of_certainty: # was: date_precision
has_or_had_short_code: YEAR
has_or_had_description: Year-only precision
is_or_was_approximate:
approximation_level: EXACT
description: The Rijksmuseum was founded in 1810 as the Royal Museum.
source_url:
- https://www.wikidata.org/wiki/Q190804
extraction_method: wikidata_sparql
extraction_timestamp: '2025-12-20T14:30:00Z'
extraction_notes: Wikidata P571 (inception date) query
has_or_had_level: # was: data_tier
has_or_had_short_code: TIER_3_CROWD_SOURCED
has_or_had_description: Verified against Wikidata
description: Founding event from Wikidata
- value:
event_type: TRANSFER
event_date: '1885'
degree_of_certainty: # was: date_precision
has_or_had_short_code: YEAR
has_or_had_description: Year-only precision
is_or_was_approximate:
approximation_level: EXACT
description: The Rijksmuseum moved to its current building designed by Cuypers.
source_url:
- https://www.rijksmuseum.nl/en/about-us/what-we-do/history
extraction_method: web_scrape_xpath
extraction_timestamp: '2025-12-20T15:00:00Z'
extraction_notes: 'XPath: /html/body/main/section[2]/div/p[3]'
archive_path: web/0001/rijksmuseum.nl/about-us/rendered.html
has_or_had_level: # was: data_tier
has_or_had_short_code: TIER_2_VERIFIED
has_or_had_description: Verified against institutional website
description: Relocation event from institutional website
- value:
event_type: FOUNDING
event_date: '1880'
degree_of_certainty: # was: date_precision
has_or_had_short_code: YEAR
has_or_had_description: Year-only precision
is_or_was_approximate:
approximation_level: APPROXIMATE
has_or_had_label: "circa 1880"
has_or_had_description: "Founding date derived from secondary sources, exact year uncertain"
description: Museum founded around 1880, exact date unknown.
extraction_method: manual_research
extraction_timestamp: '2025-12-20T16:00:00Z'
has_or_had_level: # was: data_tier
has_or_had_short_code: TIER_4_INFERRED
has_or_had_description: Manual research - pending verification
description: Founding event with approximate date