glam/schemas/20251121/linkml/modules/classes/Event.yaml
2025-12-21 00:01:54 +01:00

414 lines
14 KiB
YAML

# Event - Generic Event Hub Class
# =============================================================================
# An abstract hub class for all event types in the Heritage Custodian ontology.
# Serves as the superclass for domain-specific events (OrganizationalChangeEvent,
# IntangibleHeritageEvent, etc.)
#
# DESIGN RATIONALE:
# - Hub pattern: Event contains minimal data, acts as connection point
# - Domain-specific events (OrganizationalChangeEvent) inherit and add context
# - Links to TimeSpan via crm:P4_has_time-span (fuzzy temporal bounds)
# - Links to Actors (Custodian, Person) via crm:P11_had_participant
# - Links to Place via crm:P7_took_place_at
#
# CIDOC-CRM ALIGNMENT:
# - Event → crm:E5_Event (temporal phenomena)
# - Key properties:
# - P4_has_time-span → TimeSpan (when)
# - P7_took_place_at → Place (where)
# - P11_had_participant → Actor (who)
# - P2_has_type → EventTypeEnum (what kind)
#
# RELATIONSHIP TO OrganizationalChangeEvent:
# - OrganizationalChangeEvent already maps to crm:E5_Event
# - This Event class provides abstract superclass
# - Future: OrganizationalChangeEvent can inherit from Event
# =============================================================================
id: https://nde.nl/ontology/hc/class/Event
name: Event
title: Event Hub Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
crm: http://www.cidoc-crm.org/cidoc-crm/
prov: http://www.w3.org/ns/prov#
schema: http://schema.org/
rico: https://www.ica.org/standards/RiC/ontology#
dcterms: http://purl.org/dc/terms/
skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc
imports:
- linkml:types
# Class imports
- ./TimeSpan
# Enum imports
- ../enums/EventTypeEnum
# Slots defined locally for Event class
# These are Event-specific slots not shared with other classes
slots:
event_id:
slot_uri: dcterms:identifier
description: |
Persistent identifier for this event.
Format: https://nde.nl/ontology/hc/event/{event-slug}
range: uriorcurie
required: true
identifier: true
hypernym_event_type:
slot_uri: crm:P2_has_type
description: |
High-level event type category from EventTypeEnum.
This is the GENERIC event type (CREATION, DESTRUCTION, TRANSFORMATION, etc.)
that provides cross-domain categorization.
Domain-specific event types (OrganizationalChangeEventTypeEnum) provide
more detailed classification within their domain.
**RELATIONSHIP**:
- hypernym_event_type: Generic category (this slot)
- event_type: Domain-specific type (on subclasses like OrganizationalChangeEvent)
**EXAMPLE**:
```yaml
Event:
hypernym_event_type: TRANSFORMATION # Generic
OrganizationalChangeEvent:
hypernym_event_type: TRANSFORMATION # Generic (inherited)
event_type: MERGER # Domain-specific
```
range: EventTypeEnum
required: true
exact_mappings:
- crm:P2_has_type
- prov:type
has_timespan:
slot_uri: crm:P4_has_time-span
description: |
Temporal extent of this event.
Links to TimeSpan class which supports fuzzy temporal bounds using
CIDOC-CRM's four-point temporal model:
- begin_of_the_begin (earliest possible start)
- end_of_the_begin (latest possible start)
- begin_of_the_end (earliest possible end)
- end_of_the_end (latest possible end)
**CIDOC-CRM**: P4_has_time-span
- Domain: E2_Temporal_Entity (includes E5_Event)
- Range: E52_Time-Span
**USE CASES**:
- Precise date known: All four bounds = same date
- Date uncertain: Use ranges (e.g., "sometime in 1920s")
- Duration event: Different start and end bounds
**EXAMPLE**:
```yaml
has_timespan:
begin_of_the_begin: "2001-01-01"
end_of_the_begin: "2001-01-01"
begin_of_the_end: "2001-01-01"
end_of_the_end: "2001-01-01"
description: "Merger effective January 1, 2001"
```
range: TimeSpan
required: false
inlined: true
exact_mappings:
- crm:P4_has_time-span
- rico:hasBeginningDate
- prov:atTime
took_place_at:
slot_uri: crm:P7_took_place_at
description: |
Location where this event took place.
Links to a Place reference (CustodianPlace or GeoSpatialPlace).
**CIDOC-CRM**: P7_took_place_at
- Domain: E4_Period (includes E5_Event)
- Range: E53_Place
**EXAMPLES**:
- Merger signed at headquarters: CustodianPlace
- Natural disaster affecting region: GeoSpatialPlace
range: uriorcurie
required: false
exact_mappings:
- crm:P7_took_place_at
- rico:hasOrHadLocation
- schema:location
involved_actors:
slot_uri: crm:P11_had_participant
description: |
Actors (persons and/or organizations) who participated in this event.
**CIDOC-CRM**: P11_had_participant
- Domain: E5_Event
- Range: E39_Actor
This slot can reference:
- Custodian hub (organizations)
- Person hub (individuals)
**INVERSE**: Actor.participated_in_events (to be added to Custodian/Person)
**EXAMPLE**:
```yaml
involved_actors:
- "https://nde.nl/ontology/hc/nl-nh-haa-a-gah" # Gemeentearchief Haarlem
- "https://nde.nl/ontology/hc/nl-nh-haa-a-ranh" # Rijksarchief NH
```
range: uriorcurie
multivalued: true
required: false
exact_mappings:
- crm:P11_had_participant
- prov:wasAssociatedWith
- schema:participant
event_label:
slot_uri: skos:prefLabel
description: |
Human-readable label for this event.
**EXAMPLE**: "Noord-Hollands Archief Merger 2001"
range: string
required: false
event_description:
slot_uri: dcterms:description
description: |
Detailed narrative description of what happened during this event.
Should include:
- What happened
- Why it happened (if known)
- Who was involved
- What the outcomes were
range: string
required: false
documentation_sources:
slot_uri: dcterms:source
description: |
Sources documenting this event.
URLs to authoritative documents, news articles, official announcements,
or archival sources that provide evidence for the event.
range: uriorcurie
multivalued: true
required: false
confidence_score:
slot_uri: prov:confidence
description: |
Confidence level in event details (0.0 to 1.0).
- 1.0: Official documentation, primary source
- 0.7-0.9: Secondary sources, reliable inference
- 0.5-0.7: Uncertain, inferred from context
- <0.5: Speculative, needs verification
range: float
required: false
minimum_value: 0.0
maximum_value: 1.0
classes:
Event:
class_uri: crm:E5_Event
description: |
An abstract hub class representing temporal phenomena - things that happen
and involve actors, places, and temporal extents.
**HUB ARCHITECTURE**:
The Event class follows the hub pattern established by Custodian:
- Minimal hub with persistent identifier (event_id)
- Links to temporal extent (TimeSpan) via has_timespan
- Links to actors (Custodian, Person) via involved_actors
- Links to place via took_place_at
- Categorized by hypernym_event_type (generic) and domain-specific type
**INHERITANCE HIERARCHY**:
```
Event (this class - abstract)
├── OrganizationalChangeEvent (existing - organizational changes)
├── IntangibleHeritageEvent (future - ICH-related events)
├── CollectionEvent (future - accession, deaccession, loan)
└── PersonEvent (future - birth, death, career milestones)
```
**CIDOC-CRM ALIGNMENT**:
Maps to crm:E5_Event which is defined as:
"This class comprises distinct, delimited and coherent processes and states,
either deliberately or spontaneously caused by E39 Actors, that result in
changes in E18 Physical Things."
Key relationships:
- crm:P4_has_time-span → TimeSpan (when)
- crm:P7_took_place_at → Place (where)
- crm:P11_had_participant → Actor (who)
- crm:P2_has_type → EventTypeEnum (what kind)
**RELATIONSHIP TO EXISTING OrganizationalChangeEvent**:
OrganizationalChangeEvent already exists and maps to crm:E5_Event.
This Event class provides:
1. Shared base properties (has_timespan, involved_actors, took_place_at)
2. Generic event typing (hypernym_event_type)
3. Foundation for other event types
Future migration: OrganizationalChangeEvent can inherit from Event.
**RELATIONSHIP TO ACTORS**:
Events link to actors bidirectionally:
- Event → involved_actors → Custodian/Person (who participated)
- Custodian → organizational_change_events → Event (what events affected org)
- Person → affected_by_event → Event (what events affected person)
**EXAMPLE - Merger Event**:
```yaml
Event:
event_id: "https://nde.nl/ontology/hc/event/nha-merger-2001"
event_label: "Noord-Hollands Archief Merger"
hypernym_event_type: TRANSFORMATION
has_timespan:
begin_of_the_begin: "2001-01-01"
end_of_the_end: "2001-01-01"
took_place_at: "https://nde.nl/ontology/hc/place/nl-nh-haa"
involved_actors:
- "https://nde.nl/ontology/hc/nl-nh-haa-a-gah"
- "https://nde.nl/ontology/hc/nl-nh-haa-a-ranh"
event_description: |
Merger of Gemeentearchief Haarlem (founded 1910) and
Rijksarchief in Noord-Holland (founded 1802) to form
Noord-Hollands Archief.
confidence_score: 0.95
documentation_sources:
- "https://noord-hollandsarchief.nl/over-ons/geschiedenis"
```
**EXAMPLE - Destruction Event**:
```yaml
Event:
event_id: "https://nde.nl/ontology/hc/event/gaza-library-destruction-2024"
event_label: "Gaza Public Library Destruction"
hypernym_event_type: DESTRUCTION
has_timespan:
begin_of_the_begin: "2024-01-15"
end_of_the_end: "2024-01-15"
took_place_at: "https://nde.nl/ontology/hc/place/ps-gz-gaz"
event_description: |
Gaza Public Library destroyed during military operations.
confidence_score: 0.85
```
# Note: abstract: true would prevent direct instantiation
# Keeping non-abstract for flexibility - domain-specific subclasses add detail
exact_mappings:
- crm:E5_Event
- prov:Activity
- rico:Event
close_mappings:
- schema:Event
- crm:E4_Period
- crm:E7_Activity
broad_mappings:
- crm:E2_Temporal_Entity
- prov:Entity
narrow_mappings:
- crm:E63_Beginning_of_Existence
- crm:E64_End_of_Existence
- crm:E81_Transformation
- crm:E10_Transfer_of_Custody
- crm:E9_Move
- crm:E85_Joining
- crm:E86_Leaving
slots:
- event_id
- event_label
- hypernym_event_type
- has_timespan
- took_place_at
- involved_actors
- event_description
- documentation_sources
- confidence_score
slot_usage:
event_id:
description: |
Persistent identifier for this event.
Format: https://nde.nl/ontology/hc/event/{event-slug}
**NAMING CONVENTION**:
- Use descriptive slug: {subject}-{action}-{year}
- Example: "nha-merger-2001", "gaza-library-destruction-2024"
required: true
identifier: true
hypernym_event_type:
description: |
Generic event type category.
This provides high-level classification using CIDOC-CRM event types:
- CREATION: Something came into being
- DESTRUCTION: Something ceased to exist
- TRANSFORMATION: Something changed nature (merger, split)
- TRANSFER: Custody/ownership changed
- MOVEMENT: Physical location changed
- MODIFICATION: Properties changed (rename)
- ACTIVITY: General purposeful action
- JOINING: Actor joined group
- LEAVING: Actor left group
required: true
has_timespan:
description: |
When this event occurred.
Uses TimeSpan class with CIDOC-CRM fuzzy temporal bounds.
For precise dates, set all four bounds to same value.
For uncertain dates, use ranges.
required: false
comments:
- "Event is the hub class for all temporal phenomena in the HC ontology"
- "Domain-specific events (OrganizationalChangeEvent, CollectionEvent) can inherit from Event"
- "TimeSpan link (has_timespan) is critical - enables fuzzy temporal reasoning"
- "Actor links (involved_actors) connect events to both persons and organizations"
- "hypernym_event_type provides cross-domain event queries"
- "Future: Add participated_in_events slot to Custodian and Person for inverse navigation"
examples:
- value:
event_id: "https://nde.nl/ontology/hc/event/nha-merger-2001"
event_label: "Noord-Hollands Archief Merger"
hypernym_event_type: "TRANSFORMATION"
has_timespan:
begin_of_the_begin: "2001-01-01"
end_of_the_end: "2001-01-01"
involved_actors:
- "https://nde.nl/ontology/hc/nl-nh-haa-a-gah"
- "https://nde.nl/ontology/hc/nl-nh-haa-a-ranh"
description: "Merger of two archives to form Noord-Hollands Archief"