glam/schemas/20251121/linkml/modules/classes/CustodianTimelineEvent.yaml

238 lines
11 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/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
imports:
- linkml:types
- ../slots/archive_path
- ../slots/degree_of_certainty
- ../slots/has_or_had_description
- ../slots/has_or_had_file_path
- ../slots/has_or_had_level
- ../slots/has_or_had_method
- ../slots/has_or_had_note
- ../slots/has_or_had_score
- ../slots/has_or_had_type
- ../slots/is_or_was_approximate
- ../slots/is_or_was_retrieved_through
- ../slots/observation_ref
- ../slots/source_url
- ../slots/temporal_extent
- ../enums/OrganizationalChangeEventTypeEnum
- ../enums/TimelineExtractionMethodEnum
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\ntimeline_events:\n - event_type: FOUNDING\n event_date: \"2005-04-30\"\n degree_of_certainty:\n has_or_had_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_code:\
\ TIER_4_INFERRED\n```\n"
broad_mappings:
- prov:Entity
close_mappings:
- crm:E5_Event
- tooi:Wijzigingsgebeurtenis
- schema:Event
slots:
- is_or_was_approximate
- archive_path
- has_or_had_level
- degree_of_certainty
- has_or_had_description
- temporal_extent
- has_or_had_type
- has_or_had_method
- has_or_had_note
- is_or_was_retrieved_through
- observation_ref
- source_url
- has_or_had_score
slot_usage:
has_or_had_type:
required: true
range: OrganizationalChangeEventTypeEnum
temporal_extent:
range: TimeSpan
inlined: true
examples:
- value:
begin_of_the_begin: '2005-04-30'
end_of_the_end: '2005-04-30'
degree_of_certainty:
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_code: DAY
has_or_had_description: Full date with day precision
- value:
has_or_had_code: YEAR
has_or_had_description: Year-only precision
is_or_was_approximate:
range: ApproximationStatus
inlined: true
required: true
examples:
- value:
has_or_had_status: EXACT
- value:
has_or_had_status: APPROXIMATE
has_or_had_label: circa 1880
has_or_had_description: Founding date known only to year
source_url:
required: false
has_or_had_method:
required: true
range: TimelineExtractionMethodEnum
is_or_was_retrieved_through:
range: RetrievalEvent
inlined: true
required: true
has_or_had_note:
required: false
has_or_had_level:
# range: string
inlined: false # Fixed invalid inline for primitive type
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_code: TIER_4_INFERRED
has_or_had_description: Extracted via LLM - pending verification
- value:
has_or_had_code: TIER_2_VERIFIED
has_or_had_description: Verified against institutional website
observation_ref:
required: false
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/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
temporal_extent:
begin_of_the_begin: '2005-04-30'
end_of_the_end: '2005-04-30'
degree_of_certainty:
has_or_had_code: DAY
has_or_had_description: Full date with day precision
is_or_was_approximate:
has_or_had_status: EXACT
source_url:
- https://nl.wikipedia.org/wiki/Drents_Archief
has_or_had_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:
has_or_had_code: TIER_4_INFERRED
has_or_had_description: Extracted via API response - pending verification
- value:
has_or_had_type: MERGER
temporal_extent:
begin_of_the_begin: '2005'
end_of_the_end: '2005'
degree_of_certainty:
has_or_had_code: YEAR
has_or_had_description: Year-only precision
is_or_was_approximate:
has_or_had_status: EXACT
source_url:
- https://nl.wikipedia.org/wiki/Drents_Archief
has_or_had_method: api_response_regex
is_or_was_retrieved_through:
temporal_extent:
begin_of_the_begin: '2025-12-16T10:05:00Z'
end_of_the_end: '2025-12-16T10:05:00Z'
has_or_had_level:
has_or_had_code: TIER_4_INFERRED
has_or_had_description: Extracted via API - pending verification
- value:
has_or_had_type: FOUNDING
temporal_extent:
begin_of_the_begin: '1810'
end_of_the_end: '1810'
degree_of_certainty:
has_or_had_code: YEAR
has_or_had_description: Year-only precision
is_or_was_approximate:
has_or_had_status: EXACT
source_url:
- https://www.wikidata.org/wiki/Q190804
has_or_had_method: wikidata_sparql
is_or_was_retrieved_through:
temporal_extent:
begin_of_the_begin: '2025-12-20T14:30:00Z'
end_of_the_end: '2025-12-20T14:30:00Z'
extraction_notes: Wikidata P571 (inception date) query
has_or_had_level:
has_or_had_code: TIER_3_CROWD_SOURCED
has_or_had_description: Verified against Wikidata
- value:
has_or_had_type: TRANSFER
temporal_extent:
begin_of_the_begin: '1885'
end_of_the_end: '1885'
degree_of_certainty:
has_or_had_code: YEAR
has_or_had_description: Year-only precision
is_or_was_approximate:
has_or_had_status: EXACT
source_url:
has_or_had_method: web_scrape_xpath
is_or_was_retrieved_through:
temporal_extent:
begin_of_the_begin: '2025-12-20T15:00:00Z'
end_of_the_end: '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:
has_or_had_code: TIER_2_VERIFIED
has_or_had_description: Verified against institutional website
- value:
has_or_had_type: FOUNDING
temporal_extent:
begin_of_the_begin: '1880'
end_of_the_end: '1880'
degree_of_certainty:
has_or_had_code: YEAR
has_or_had_description: Year-only precision
is_or_was_approximate:
has_or_had_status: APPROXIMATE
has_or_had_label: circa 1880
has_or_had_description: Founding date derived from secondary sources, exact year uncertain
has_or_had_method: manual_research
is_or_was_retrieved_through:
temporal_extent:
begin_of_the_begin: '2025-12-20T16:00:00Z'
end_of_the_end: '2025-12-20T16:00:00Z'
has_or_had_level:
has_or_had_code: TIER_4_INFERRED
has_or_had_description: Manual research - pending verification
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types: "['*']"