- Introduced abstract class ConflictType to define a taxonomy for various conflict types affecting heritage institutions. - Added concrete subclasses in ConflictTypes.yaml, detailing specific conflict types such as ArmedConflict, NaturalDisaster, CivilUnrest, Terrorism, Looting, Neglect, Occupation, and Sanctions. - Implemented Permission and PermissionType schemas to represent authorization requirements for accessing heritage materials, including subclasses like BishopsPermission and InstitutionalAffiliation. - Created SocialNetworkMember class for representing members in social/professional networks, facilitating heritage sector network analysis. - Established slots for canonical access rules, conflict status, and connection metadata, enhancing the data model for heritage custodians. - Developed ConnectionDegree and ConnectionDegreeType classes to represent degrees of connection in social networks, with subclasses for first, second, and third-plus degrees. - Added slots for birth dates in EDTF and ISO formats, improving the representation of heritage custodian entities.
273 lines
11 KiB
YAML
273 lines
11 KiB
YAML
id: https://nde.nl/ontology/hc/class/BirthDate
|
|
name: birth_date_class
|
|
title: Birth Date Class
|
|
prefixes:
|
|
linkml: https://w3id.org/linkml/
|
|
hc: https://nde.nl/ontology/hc/
|
|
schema: http://schema.org/
|
|
crm: http://www.cidoc-crm.org/cidoc-crm/
|
|
time: http://www.w3.org/2006/time#
|
|
pico: https://personsincontext.org/model#
|
|
dcterms: http://purl.org/dc/terms/
|
|
xsd: http://www.w3.org/2001/XMLSchema#
|
|
imports:
|
|
- linkml:types
|
|
- ../metadata
|
|
- ../slots/specificity_annotation
|
|
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
|
- ./SpecificityAnnotation
|
|
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17)
|
|
|
|
- ./TemplateSpecificityType
|
|
|
|
- ./TemplateSpecificityTypes
|
|
# MIGRATED 2026-01-19: confidence → is_or_was_generated_by + GenerationEvent + ConfidenceScore
|
|
- ../slots/is_or_was_generated_by
|
|
- ./GenerationEvent
|
|
- ./ConfidenceScore
|
|
# REMOVED 2026-01-22: birth_edtf, birth_iso_date → temporal_extent (TimeSpan.has_or_had_notation) per slot_fixes.yaml feedback
|
|
# MIGRATED 2026-01-22: birth_source_text → has_or_had_reference + Reference per slot_fixes.yaml feedback
|
|
- ../slots/has_or_had_reference
|
|
- ./Reference
|
|
- ../slots/inference_provenance
|
|
- ../slots/is_inferred
|
|
# MIGRATED 2026-01-22: Added temporal_extent for semantic interoperability per slot_fixes.yaml feedback
|
|
- ../slots/temporal_extent
|
|
- ./TimeSpan
|
|
default_prefix: hc
|
|
classes:
|
|
BirthDate:
|
|
class_uri: schema:Date
|
|
description: >-
|
|
Structured representation of a person's birth date with support for
|
|
uncertainty, incomplete dates, and provenance tracking.
|
|
|
|
**PURPOSE**:
|
|
|
|
BirthDate replaces simple string birth_date slots to provide:
|
|
- EDTF (Extended Date/Time Format) support for uncertain/incomplete dates
|
|
- Provenance tracking for inferred dates (Rule 45)
|
|
- Confidence scoring
|
|
- Source preservation (original format from documents)
|
|
|
|
**EDTF NOTATION** (Rule 44):
|
|
|
|
| Pattern | Meaning | Example |
|
|
|---------|---------|---------|
|
|
| `YYYY` | Year only | `1970` |
|
|
| `YYYY-MM` | Year and month | `1970-08` |
|
|
| `YYYY-MM-DD` | Full date | `1970-08-15` |
|
|
| `YYYX` | Decade | `197X` (1970s) |
|
|
| `YYXX` | Century | `19XX` (1900s) |
|
|
| `YYYY~` | Approximate | `1985~` (circa 1985) |
|
|
| `YYYY?` | Uncertain | `1985?` (possibly 1985) |
|
|
| `XXXX` | Unknown | Must have search provenance |
|
|
|
|
**INFERRED DATA** (Rule 45):
|
|
|
|
When birth date is inferred (e.g., from earliest education date):
|
|
- Store in `inferred_birth_date` with full inference chain
|
|
- Set `is_inferred: true`
|
|
- Document inference method and sources
|
|
|
|
**ONTOLOGY ALIGNMENT**:
|
|
|
|
| Ontology | Mapping | Usage |
|
|
|----------|---------|-------|
|
|
| **Schema.org** | `schema:Date` | Primary class |
|
|
| **CIDOC-CRM** | `crm:E52_Time-Span` | Temporal extent |
|
|
| **PiCo** | Birth date observation | Source fidelity |
|
|
| **TIME** | `time:Instant` | Point in time |
|
|
|
|
**EXAMPLE**:
|
|
|
|
```yaml
|
|
has_or_had_date_of_birth:
|
|
temporal_extent:
|
|
has_or_had_notation: "1970-08-15"
|
|
begin_of_the_begin: "1970-08-15T00:00:00Z"
|
|
end_of_the_end: "1970-08-15T23:59:59Z"
|
|
is_inferred: false
|
|
```
|
|
exact_mappings:
|
|
- schema:Date
|
|
close_mappings:
|
|
- crm:E52_Time-Span
|
|
- time:Instant
|
|
related_mappings:
|
|
- pico:PersonObservation
|
|
slots:
|
|
# REMOVED 2026-01-22: birth_edtf, birth_iso_date → temporal_extent (TimeSpan.has_or_had_notation)
|
|
# MIGRATED 2026-01-22: birth_source_text → has_or_had_reference + Reference
|
|
- has_or_had_reference
|
|
- is_inferred
|
|
- inference_provenance
|
|
# MIGRATED 2026-01-19: confidence → is_or_was_generated_by (structured ConfidenceScore)
|
|
- is_or_was_generated_by
|
|
- specificity_annotation
|
|
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
|
# PRIMARY: temporal_extent with TimeSpan (has_or_had_notation preserves EDTF string)
|
|
- temporal_extent
|
|
slot_usage:
|
|
# REMOVED 2026-01-22: birth_edtf, birth_iso_date slot_usage
|
|
# EDTF notation now stored in temporal_extent.has_or_had_notation
|
|
has_or_had_reference:
|
|
range: Reference
|
|
required: false
|
|
inlined: true
|
|
multivalued: true
|
|
description: >-
|
|
Source reference for the birth date information.
|
|
MIGRATED 2026-01-22: Replaces birth_source_text with structured Reference.
|
|
Reference.citation_text preserves original verbatim source text.
|
|
examples:
|
|
- value:
|
|
citation_text: "born in the year of our Lord 1823"
|
|
source_type: "parish_register"
|
|
source_location: "Amsterdam Stadsarchief, DTB 456"
|
|
description: Parish register reference
|
|
- value:
|
|
citation_text: "ca. 1750"
|
|
source_type: "biography"
|
|
description: Biographical reference with approximate date
|
|
is_inferred:
|
|
range: boolean
|
|
required: false
|
|
ifabsent: "false"
|
|
description: >-
|
|
Whether this birth date was inferred (vs. directly extracted).
|
|
If true, inference_provenance MUST be provided per Rule 45.
|
|
inference_provenance:
|
|
range: string
|
|
required: false
|
|
description: >-
|
|
JSON string documenting inference chain per Rule 45.
|
|
Required when is_inferred is true.
|
|
examples:
|
|
- value: '{"method": "earliest_education_heuristic", "inference_chain": [...]}'
|
|
is_or_was_generated_by:
|
|
range: GenerationEvent
|
|
required: false
|
|
inlined: true
|
|
description: >-
|
|
Generation event containing confidence score for birth date determination.
|
|
MIGRATED 2026-01-19: Replaces confidence slot with structured pattern.
|
|
examples:
|
|
- value:
|
|
has_or_had_score:
|
|
has_or_had_score: 0.95
|
|
has_or_had_method: "document_extraction"
|
|
description: High confidence date extraction
|
|
- value:
|
|
has_or_had_score:
|
|
has_or_had_score: 0.50
|
|
has_or_had_method: "education_inference"
|
|
has_or_had_description: "Inferred from education start year"
|
|
description: Low confidence inferred date
|
|
temporal_extent:
|
|
range: TimeSpan
|
|
required: true
|
|
inlined: true
|
|
description: >-
|
|
CIDOC-CRM TimeSpan representation with EDTF notation preservation.
|
|
MIGRATED 2026-01-22: Replaces birth_edtf and birth_iso_date per slot_fixes.yaml feedback.
|
|
|
|
**STRUCTURE**:
|
|
- has_or_had_notation: Original EDTF string (e.g., "1970-08-15", "197X", "1970~")
|
|
- begin_of_the_begin: Earliest possible start (ISO 8601)
|
|
- end_of_the_end: Latest possible end (ISO 8601)
|
|
|
|
**EXAMPLES**:
|
|
|
|
Full date "1970-08-15":
|
|
- has_or_had_notation: "1970-08-15"
|
|
- begin_of_the_begin: "1970-08-15T00:00:00Z"
|
|
- end_of_the_end: "1970-08-15T23:59:59Z"
|
|
|
|
Decade "197X":
|
|
- has_or_had_notation: "197X"
|
|
- begin_of_the_begin: "1970-01-01T00:00:00Z"
|
|
- end_of_the_end: "1979-12-31T23:59:59Z"
|
|
examples:
|
|
- value:
|
|
has_or_had_notation: "1970-08-15"
|
|
begin_of_the_begin: "1970-08-15T00:00:00Z"
|
|
end_of_the_end: "1970-08-15T23:59:59Z"
|
|
description: Full date known - EDTF and TimeSpan bounds
|
|
- value:
|
|
has_or_had_notation: "197X"
|
|
begin_of_the_begin: "1970-01-01T00:00:00Z"
|
|
end_of_the_end: "1979-12-31T23:59:59Z"
|
|
description: Decade known (1970s) - EDTF with 10-year range
|
|
- value:
|
|
has_or_had_notation: "1970~"
|
|
begin_of_the_begin: "1968-01-01T00:00:00Z"
|
|
end_of_the_end: "1972-12-31T23:59:59Z"
|
|
description: Approximate (circa 1970) - EDTF with uncertainty range
|
|
comments:
|
|
- "MIGRATED 2026-01-22: birth_edtf, birth_iso_date → temporal_extent.has_or_had_notation"
|
|
- "TimeSpan provides CIDOC-CRM E52 temporal bounds with EDTF notation preservation"
|
|
- "Inference provenance required when is_inferred=true (Rule 45)"
|
|
- "Source text preserved via has_or_had_reference → Reference"
|
|
see_also:
|
|
- https://www.loc.gov/standards/datetime/
|
|
- https://schema.org/birthDate
|
|
examples:
|
|
- value:
|
|
temporal_extent:
|
|
has_or_had_notation: "1970-08-15"
|
|
begin_of_the_begin: "1970-08-15T00:00:00Z"
|
|
end_of_the_end: "1970-08-15T23:59:59Z"
|
|
is_inferred: false
|
|
is_or_was_generated_by:
|
|
has_or_had_score:
|
|
has_or_had_score: 0.95
|
|
has_or_had_method: "birth_certificate_extraction"
|
|
description: Full date known with high confidence
|
|
- value:
|
|
temporal_extent:
|
|
has_or_had_notation: "197X"
|
|
begin_of_the_begin: "1970-01-01T00:00:00Z"
|
|
end_of_the_end: "1979-12-31T23:59:59Z"
|
|
is_inferred: true
|
|
inference_provenance: '{"method": "earliest_education_heuristic", "source_field": "education[0].start_year"}'
|
|
is_or_was_generated_by:
|
|
has_or_had_score:
|
|
has_or_had_score: 0.40
|
|
has_or_had_method: "education_inference"
|
|
description: Decade inferred from education start year
|
|
- value:
|
|
temporal_extent:
|
|
has_or_had_notation: "1823"
|
|
begin_of_the_begin: "1823-01-01T00:00:00Z"
|
|
end_of_the_end: "1823-12-31T23:59:59Z"
|
|
has_or_had_reference:
|
|
- citation_text: "born in the year of our Lord 1823"
|
|
source_type: "parish_register"
|
|
source_location: "Amsterdam Stadsarchief, DTB 456, folio 23r"
|
|
is_inferred: false
|
|
is_or_was_generated_by:
|
|
has_or_had_score:
|
|
has_or_had_score: 0.75
|
|
has_or_had_method: "document_extraction"
|
|
description: Year extracted from historical document with structured reference
|
|
annotations:
|
|
specificity_score: 0.45
|
|
specificity_rationale: >-
|
|
Birth dates are relevant for person research across all heritage sectors.
|
|
|
|
# REMOVED inline slots 2026-01-16 - Rule 48 violation
|
|
# Slots are imported from ../slots/ - do not define inline
|
|
|
|
enums:
|
|
BirthDateConfidenceEnum:
|
|
description: Confidence levels for birth date values.
|
|
permissible_values:
|
|
HIGH:
|
|
description: Full date from authoritative source (e.g., birth certificate)
|
|
MEDIUM:
|
|
description: Date from reliable source (e.g., official biography)
|
|
LOW:
|
|
description: Date inferred or from uncertain source
|
|
VERY_LOW:
|
|
description: Decade/century estimated from indirect evidence
|