feat: Add structured representation for BirthDate and BirthPlace classes

- Introduced BirthDate class with support for EDTF notation, provenance tracking, and confidence scoring.
- Added BirthPlace class to preserve historical names, link modern equivalents, and integrate geographic identifiers.
- Created Approximation Level slot to express uncertainty levels for various values.
- Migrated existing slots to structured classes for better data modeling, including has_or_had_date_of_birth and has_or_had_place_of_birth.
- Enhanced service area representation with has_or_had_service_area slot, linking to ServiceArea class.
- Updated is_or_was_approximate slot to model uncertainty levels using ApproximationStatus class.
- Archived previous versions of slots for historical reference.
This commit is contained in:
kempersc 2026-01-14 16:04:09 +01:00
parent 5ddb7e818a
commit 4338d0a081
26 changed files with 2000 additions and 68 deletions

View file

@ -1,5 +1,5 @@
{ {
"generated": "2026-01-14T14:15:37.461Z", "generated": "2026-01-14T14:20:53.577Z",
"schemaRoot": "/schemas/20251121/linkml", "schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 2883, "totalFiles": 2883,
"categoryCounts": { "categoryCounts": {

View file

@ -1446,4 +1446,689 @@ fixes:
type: slot type: slot
- label: WhatsAppProfile - label: WhatsAppProfile
type: class type: class
- - original_slot_id: https://nde.nl/ontology/hc/slot/whatsapp_business_likelihood
revision:
- label: has_or_had_likelihood_score
type: slot
- label: LikelihoodScore
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/website
revision:
- label: has_or_had_url
type: slot
- label: URL
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/web_observation
revision:
- label: has_or_had_provenance
type: slot
- label: WebObservation
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/was_revision_of
revision:
- label: is_or_was_revision_of
type: slot
- label: WorkRevision
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/was_generated_by
revision:
- label: is_or_was_generated_by
type: slot
- label: ReconstructionActivity
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/was_derived_from
revision:
- label: is_or_was_derived_from
type: slot
- label: SourceWork
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/was_asserted_by
revision:
- label: is_or_was_asserted_by
type: slot
- label: Assertor
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/was_archived_at
revision:
- label: is_or_was_webarchived_at
type: slot
- label: URL
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/was_approved_by
revision:
- label: is_or_was_approved_by
type: slot
- label: Approver
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/warehouse_security_level
revision:
- label: has_or_had_security_level
type: slot
- label: SecurityLevel
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/warehouse_name
revision:
- label: has_or_had_label
type: slot
- label: Label
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/warehouse_managed_by
revision:
- label: is_or_was_managed_by
type: slot
- label: Group
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/warehouse_id
revision:
- label: has_or_had_identifier
type: slot
- label: Identifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/warehouse_floor_area_sqm
revision:
- label: has_or_had_area
type: slot
- label: Area
type: class
- label: has_or_had_unit
type: slot
- label: MeasureUnit
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/warehouse_description
revision:
- label: has_or_had_description
type: slot
- label: Description
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/volunteer_program
revision:
- label: has_or_had_program
type: slot
- label: Program
type: class
- label: has_or_had_type
type: slot
- label: ProgramType
type: class
- label: includes_or_included
type: slot
- label: ProgramTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/visitor_service
revision:
- label: has_or_had_service
type: slot
- label: Service
type: class
- label: has_or_had_type
type: slot
- label: ServiceType
type: class
- label: includes_or_included
type: slot
- label: ServiceTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/visitor_facility
revision:
- label: has_or_had_facility
type: slot
- label: Facility
type: class
- label: has_or_had_type
type: slot
- label: FacilityType
type: class
- label: includes_or_included
type: slot
- label: FacilityTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/visitor_count
revision:
- label: has_or_had_quantity
type: slot
- label: Quantity
type: class
- label: has_or_had_measurement_unit
type: slot
link_branch: 1
- label: MeasureUnit
type: class
value:
- visitors
link_branch: 1
- label: temporal_extent
type: slot
link_branch: 2
- label: TimeSpan
type: class
link_branch: 2
- original_slot_id: https://nde.nl/ontology/hc/slot/visitor_conversion_rate
revision:
- label: has_or_had_conversion_rate
type: slot
- label: ConversionRate
type: class
- label: has_or_had_type
type: slot
link_branch: 1
- label: ConversionRateType
type: class
link_branch: 1
- label: includes_or_included
type: slot
link_branch: 1
- label: ConversionRateTypes
type: class
link_branch: 1
- label: temporal_extent
type: slot
link_branch: 2
- label: TimeSpan
type: class
link_branch: 2
- original_slot_id: https://nde.nl/ontology/hc/slot/visiting_hour
revision:
- label: has_or_had_opening_hour
type: slot
- label: OpeningHour
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/view_count
revision:
- label: has_or_had_quantity
type: slot
- label: Quantity
type: class
- label: has_or_had_measurement_unit
type: slot
link_branch: 1
- label: MeasureUnit
type: class
value:
- views
link_branch: 1
- label: temporal_extent
type: slot
link_branch: 2
- label: TimeSpan
type: class
link_branch: 2
- original_slot_id: https://nde.nl/ontology/hc/slot/video_id
revision:
- label: has_or_had_identifier
type: slot
- label: VideoIdentifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/video_comment
revision:
- label: has_or_had_comment
type: slot
- label: Comment
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/video_category_id
revision:
- label: has_or_had_identifier
type: slot
- label: VideoCategoryIdentifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/viability_status
revision:
- label: has_or_had_status
type: slot
- label: ViabilityStatus
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/version_number
revision:
- label: has_or_had_version
type: slot
- label: VersionNumber
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/verified_by
revision:
- label: is_or_was_verified_by
type: slot
- label: Verifier
type: class
- label: had_or_had_identifier
type: slot
- label: Identifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/verified
revision:
- label: has_or_had_verification_status
type: slot
- label: VerificationStatus
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/verification_date
revision:
- label: temporal_extent
type: slot
- label: TimeSpan
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/vendor_url
revision:
- label: has_or_had_url
type: slot
- label: URL
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/vendor_name
revision:
- label: has_or_had_label
type: slot
- label: Label
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/variant_of_name
revision:
- label: is_or_was_alternative_form_of
type: slot
- label: Label
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/validity_period
revision:
- label: temporal_extent
type: slot
- label: TimeSpan
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/validation_status
revision:
- label: has_or_had_status
type: slot
- label: ValidationStatus
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/valid_to_geo
revision:
- label: temporal_extent
type: slot
- label: TimeSpan
type: class
- label: end_of_the_end
type: slot
- label: Timestamp
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/valid_to
revision:
- label: temporal_extent
type: slot
- label: TimeSpan
type: class
- label: end_of_the_end
type: slot
- label: Timestamp
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/valid_from_geo
revision:
- label: temporal_extent
type: slot
- label: TimeSpan
type: class
- label: begin_of_the_begin
type: slot
- label: Timestamp
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/valid_from
revision:
- label: temporal_extent
type: slot
- label: TimeSpan
type: class
- label: begin_of_the_begin
type: slot
- label: Timestamp
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/uv_filtered_required
revision:
- label: is_or_was_required
type: slot
- label: RequirementStatus
type: class
- label: has_or_had_type
type: slot
- label: RequirementType
type: class
- label: includes_or_included
type: slot
- label: RequirementTypes
type: class
value:
- UV Filtered lighting
- original_slot_id: https://nde.nl/ontology/hc/slot/user_community
revision:
- label: serves_or_served
type: slot
- label: UserCommunity
type: class
- label: has_or_had_type
type: slot
- label: UserCommunityType
type: class
- label: includes_or_included
type: slot
- label: UserCommunityTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/used_by_custodian
revision:
- label: is_or_was_used_by
type: slot
- label: Custodian
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/used_by
revision:
- label: provides_or_provided_provenance_to
type: slot
- label: Entity
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/used
revision:
- label: provides_or_provided_provenance_to
type: slot
- label: ReconstructionActivity
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/url
revision:
- label: has_or_had_url
type: slot
- label: URL
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/updated_at
revision:
- label: was_last_updated_at
type: slot
- label: TimeSpan
type: class
- label: end_of_the_end
type: slot
- label: Timestamp
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/update_frequency
revision:
- label: has_or_had_frequency
type: slot
- label: UpdateFrequency
type: class
- label: has_or_had_quantity
type: slot
link_branch: 1
- label: Quantity
type: class
link_branch: 1
- label: has_or_had_time_interval
type: slot
link_branch: 2
- label: TimeInterval
type: class
link_branch: 2
- original_slot_id: https://nde.nl/ontology/hc/slot/unit_type
revision:
- label: has_or_had_type
type: slot
- label: OrganizationalUnitType
type: class
- label: includes_or_included
type: slot
- label: OrganizationalUnitTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/unit_name
revision:
- label: has_or_had_label
type: slot
- label: Label
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/unit_identifier
revision:
- label: has_or_had_identifier
type: slot
- label: Identifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/unit_id
revision:
- label: has_or_had_identifier
type: slot
- label: Identifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/unit_description
revision:
- label: has_or_had_description
type: slot
- label: Description
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/unit_affiliation
revision:
- label: is_or_was_affiliated_with
type: slot
- label: OrganizationUnit
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/unique_object_count
revision:
- label: has_or_had_quantity
type: slot
- label: Quantity
type: class
- label: had_or_had_measurement_unit
type: slot
value:
- object
link_branch: 1
- label: MeasureUnit
type: class
link_branch: 1
- label: has_or_had_methodology
type: slot
link_branch: 2
- label: Methodology
type: class
value:
- entity_resolution
link_branch: 2
- original_slot_id: https://nde.nl/ontology/hc/slot/unique_face_count
revision:
- label: has_or_had_quantity
type: slot
- label: Quantity
type: class
- label: had_or_had_measurement_unit
type: slot
link_branch: 1
- label: MeasureUnit
type: class
value:
- face
link_branch: 1
- label: has_or_had_methodology
type: slot
link_branch: 2
- label: Methodology
type: class
value:
- entity_resolution
link_branch: 2
- original_slot_id: https://nde.nl/ontology/hc/slot/uniform_title
revision:
- label: has_or_had_label
type: slot
- label: Label
type: class
- label: has_or_had_type
type: slot
- label: TitleType
type: class
- label: includes_or_included
type: slot
- label: TitleTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/unesco_list_status
revision:
- label: has_or_had_status
type: slot
- label: UNESCOListStatus
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/unesco_inscription_year
revision:
- label: temporal_extent
type: slot
- label: TimeSpan
type: class
- label: begin_of_the_begin
type: slot
- label: Timestamp
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/unesco_domain
revision:
- label: is_or_was_categorized_as
type: slot
- label: UNESCODomain
type: class
- label: has_or_had_type
type: slot
- label: UNESCODomainType
type: class
- label: includes_or_included
type: slot
- label: UNESCODomainTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_technical_feature
revision:
- label: has_or_had_feature
type: slot
- label: TechnicalFeature
type: class
- label: has_or_had_type
type: slot
- label: TechnicalFeatureType
type: class
- label: includes_or_included
type: slot
- label: TechnicalFeatureTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_scope
revision:
- label: has_or_had_scope
type: slot
- label: Scope
type: class
- label: has_or_had_type
type: slot
- label: ScopeType
type: class
- label: includes_or_included
type: slot
- label: ScopeTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_responsibility
revision:
- label: has_or_had_responsibility
type: slot
- label: Responsibility
type: class
- label: has_or_had_type
type: slot
- label: ResponsibilityType
type: class
- label: includes_or_included
type: slot
- label: ResponsibilityTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_response_formats
revision:
- label: has_or_had_format
type: slot
- label: ResponseFormat
type: class
- label: has_or_had_type
type: slot
- label: ResponseFormatType
type: class
- label: includes_or_included
type: slot
- label: ResponseFormatTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_metadata_standard
revision:
- label: has_or_had_standard
type: slot
- label: MetadataStandard
type: class
- label: has_or_had_type
type: slot
- label: MetadataStandardType
type: class
- label: includes_or_included
type: slot
- label: MetadataStandardTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_http_methods
revision:
- label: has_or_had_method
type: slot
- label: HTTPMethod
type: class
- label: has_or_had_type
type: slot
- label: HTTPMethodType
type: class
- label: includes_or_included
type: slot
- label: HTTPMethodTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_grant_range
revision:
- label: has_or_had_range
type: slot
- label: GrantRange
type: class
- label: minimal_of_minimal
type: slot
link_branch: 1
- label: Quantity
type: class
link_branch: 1
- label: maximal_of_maximal
type: slot
link_branch: 2
- label: Quantity
type: class
link_branch: 2
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_domain
revision:
- label: has_or_had_domain
type: slot
- label: Domain
type: class
- label: has_or_had_type
type: slot
- label: DomainType
type: class
- label: includes_or_included
type: slot
- label: DomainTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_condition
revision:
- label: has_or_had_condition
type: slot
- label: Condition
type: class
- label: has_or_had_type
type: slot
- label: ConditionType
type: class
- label: includes_or_included
type: slot
- label: ConditionTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_approval_time
revision:
- label: has_or_had_time_interval
type: slot
- label: TimeInterval
type: class
- label: has_or_had_type
type: slot
- label: ApprovalTimeType
type: class
- label: includes_or_included
type: slot
- label: ApprovalTimeTypes
type: class

View file

@ -1,5 +1,5 @@
{ {
"generated": "2026-01-14T14:20:53.577Z", "generated": "2026-01-14T15:04:09.918Z",
"schemaRoot": "/schemas/20251121/linkml", "schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 2883, "totalFiles": 2883,
"categoryCounts": { "categoryCounts": {

View file

@ -0,0 +1,149 @@
id: https://nde.nl/ontology/hc/class/ApproximationStatus
name: approximation_status_class
title: ApproximationStatus 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/
rico: https://www.ica.org/standards/RiC/ontology#
skos: http://www.w3.org/2004/02/skos/core#
imports:
- linkml:types
- ../metadata
- ../slots/approximation_level
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../slots/specificity_annotation
- ../slots/template_specificity
default_prefix: hc
classes:
ApproximationStatus:
class_uri: hc:ApproximationStatus
description: >-
Status indicating the level of approximation or uncertainty for a value.
**PURPOSE**:
ApproximationStatus captures structured uncertainty information for values
like dates, quantities, and measurements where precision varies. This
replaces simple boolean "approximate: true/false" with richer modeling.
**UNCERTAINTY LEVELS**:
| Level | Label | Description | Example |
|-------|-------|-------------|---------|
| EXACT | Exact | Known with certainty | "1880-03-15" |
| APPROXIMATE | Approximate | Close but not exact | "circa 1880" |
| ESTIMATED | Estimated | Calculated/inferred | "estimated 1875-1885" |
| UNCERTAIN | Uncertain | Significant doubt | "possibly 19th century" |
| UNKNOWN | Unknown | Cannot be determined | "date unknown" |
**CIDOC-CRM ALIGNMENT**:
CIDOC-CRM models time-span precision through E52_Time-Span with fuzzy
boundaries. ApproximationStatus provides a complementary vocabulary for
expressing certainty levels.
**USE CASES**:
1. **Date Uncertainty**: Founding dates known only to decade
2. **Quantity Estimates**: Collection size approximations
3. **Location Precision**: Address known only to city level
4. **Historical Events**: Uncertain timing of organizational changes
**EXAMPLE**:
```yaml
event_date: "1880"
is_or_was_approximate:
approximation_level: APPROXIMATE
has_or_had_label: "circa 1880"
has_or_had_description: "Founding date known only to year from secondary sources"
```
exact_mappings:
- crm:E52_Time-Span
close_mappings:
- rico:DateType
related_mappings:
- skos:note
slots:
- approximation_level
- has_or_had_label
- has_or_had_description
- specificity_annotation
- template_specificity
slot_usage:
approximation_level:
range: ApproximationLevelEnum
required: true
description: >-
Level of approximation/uncertainty for the value.
has_or_had_label:
range: string
required: false
description: >-
Human-readable label for the approximation status.
examples:
- value: "circa 1880"
description: Approximate date label
- value: "approximately 10,000"
description: Approximate quantity label
has_or_had_description:
range: string
required: false
description: >-
Explanation of why the value is approximate and how uncertainty
was determined.
examples:
- value: "Founding date derived from secondary sources, exact day unknown"
description: Provenance of uncertainty
comments:
- ApproximationStatus replaces simple boolean approximate field
- Provides structured uncertainty modeling for dates, quantities, etc.
- Aligned with CIDOC-CRM E52_Time-Span precision concepts
- Used by is_or_was_approximate slot
see_also:
- https://www.cidoc-crm.org/Entity/e52-time-span/version-7.1.3
examples:
- value:
approximation_level: EXACT
has_or_had_label: "1880-03-15"
description: Exact date with full precision
- value:
approximation_level: APPROXIMATE
has_or_had_label: "circa 1880"
has_or_had_description: "Founding date known only to year from newspaper accounts"
description: Approximate date with explanation
- value:
approximation_level: ESTIMATED
has_or_had_label: "estimated 1875-1885"
has_or_had_description: "Date range inferred from building construction records"
description: Estimated date range
- value:
approximation_level: UNKNOWN
has_or_had_label: "date unknown"
has_or_had_description: "No founding records survive"
description: Unknown date
annotations:
specificity_score: 0.30
specificity_rationale: >-
Approximation status is broadly useful across contexts where
uncertainty needs to be expressed.
enums:
ApproximationLevelEnum:
description: Levels of approximation/uncertainty for values.
permissible_values:
EXACT:
description: Value is known with certainty
APPROXIMATE:
description: Value is close but not exact (circa, roughly)
ESTIMATED:
description: Value is calculated or inferred
UNCERTAIN:
description: Significant doubt about accuracy
UNKNOWN:
description: Value cannot be determined

View file

@ -0,0 +1,199 @@
id: https://nde.nl/ontology/hc/class/Author
name: author_class
title: Author Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
bf: http://id.loc.gov/ontologies/bibframe/
bibo: http://purl.org/ontology/bibo/
foaf: http://xmlns.com/foaf/0.1/
rico: https://www.ica.org/standards/RiC/ontology#
imports:
- linkml:types
- ../metadata
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/has_or_had_identifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../slots/specificity_annotation
- ../slots/template_specificity
default_prefix: hc
classes:
Author:
class_uri: schema:Person
description: >-
Person or organization that authored/created a creative work.
**PURPOSE**:
Author models the creator(s) of works produced by heritage custodians,
such as exhibition catalogs, research publications, finding aids, and
reports. Replaces simple string author lists with structured data.
**ONTOLOGY ALIGNMENT**:
| Ontology | Class/Property | Usage |
|----------|----------------|-------|
| **Schema.org** | `schema:Person`, `schema:author` | Primary class and property |
| **Dublin Core** | `dcterms:creator` | Creator relationship |
| **BIBFRAME** | `bf:Contribution`, `bf:Agent` | Bibliographic contributions |
| **FOAF** | `foaf:Person`, `foaf:name` | Personal information |
| **RiC-O** | `rico:Agent` | Archival agent modeling |
**AUTHOR TYPES**:
Authors may be:
- **Individual persons**: Named authors with affiliations
- **Organizations**: Corporate authors (e.g., "Rijksmuseum Staff")
- **Anonymous**: Works with unknown authorship
- **Collective**: Group authorships
**ROLES**:
Beyond simple "author", works may have multiple contributor types:
- Author (primary creator)
- Editor
- Compiler
- Translator
- Illustrator
- Contributor
**EXAMPLE**:
```yaml
has_or_had_author:
- author_name: "Jan de Vries"
author_role: AUTHOR
author_affiliation: "Rijksmuseum Amsterdam"
- author_name: "Maria van Dijk"
author_role: EDITOR
```
exact_mappings:
- schema:Person
- foaf:Person
close_mappings:
- bf:Agent
- rico:Agent
related_mappings:
- bf:Contribution
- dcterms:creator
slots:
- author_name
- author_role
- author_affiliation
- author_identifier
- has_or_had_identifier
- has_or_had_label
- has_or_had_description
- specificity_annotation
- template_specificity
slot_usage:
author_name:
range: string
required: true
description: >-
Full name of the author (person or organization).
examples:
- value: "Jan de Vries"
description: Individual author
- value: "Rijksmuseum Research Department"
description: Corporate author
author_role:
range: AuthorRoleEnum
required: false
ifabsent: "string(AUTHOR)"
description: >-
Role of this person in creating the work.
examples:
- value: AUTHOR
description: Primary author
- value: EDITOR
description: Editor
author_affiliation:
range: string
required: false
description: >-
Organization the author is affiliated with.
examples:
- value: "Rijksmuseum Amsterdam"
description: Museum affiliation
- value: "Universiteit van Amsterdam"
description: University affiliation
author_identifier:
range: uriorcurie
required: false
description: >-
Identifier for the author (ORCID, VIAF, etc.).
examples:
- value: "https://orcid.org/0000-0001-2345-6789"
description: ORCID identifier
- value: "https://viaf.org/viaf/12345678"
description: VIAF identifier
comments:
- Author replaces simple string author lists with structured data
- Supports both individual and organizational authors
- Includes roles (author, editor, compiler, etc.)
- Can link to identifier systems (ORCID, VIAF)
see_also:
- https://schema.org/author
- https://schema.org/Person
- http://id.loc.gov/ontologies/bibframe/Contribution
examples:
- value:
author_name: "Jan de Vries"
author_role: AUTHOR
author_affiliation: "Rijksmuseum Amsterdam"
author_identifier: "https://orcid.org/0000-0001-2345-6789"
description: Individual author with full metadata
- value:
author_name: "Maria van Dijk"
author_role: EDITOR
description: Editor with minimal metadata
- value:
author_name: "Rijksmuseum Research Department"
author_role: AUTHOR
description: Corporate author
annotations:
specificity_score: 0.35
specificity_rationale: >-
Authorship is broadly useful for creative/documentary works.
slots:
author_name:
description: Full name of the author (person or organization).
range: string
slot_uri: schema:name
author_role:
description: Role of this person in creating the work.
range: string
slot_uri: hc:authorRole
author_affiliation:
description: Organization the author is affiliated with.
range: string
slot_uri: schema:affiliation
author_identifier:
description: Identifier for the author (ORCID, VIAF, etc.).
range: uriorcurie
slot_uri: schema:identifier
enums:
AuthorRoleEnum:
description: Roles for contributors to a creative work.
permissible_values:
AUTHOR:
description: Primary creator of the work
EDITOR:
description: Person who edited the work
COMPILER:
description: Person who compiled/assembled the work
TRANSLATOR:
description: Person who translated the work
ILLUSTRATOR:
description: Person who created illustrations
CONTRIBUTOR:
description: General contributor
PHOTOGRAPHER:
description: Person who created photographs

View file

@ -0,0 +1,217 @@
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/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
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:
birth_edtf: "1970-08-15"
birth_iso_date: "1970-08-15"
is_inferred: false
confidence: high
```
exact_mappings:
- schema:Date
close_mappings:
- crm:E52_Time-Span
- time:Instant
related_mappings:
- pico:PersonObservation
slots:
- birth_edtf
- birth_iso_date
- birth_source_text
- is_inferred
- inference_provenance
- confidence
- specificity_annotation
- template_specificity
slot_usage:
birth_edtf:
range: string
required: true
description: >-
Birth date in EDTF notation (Extended Date/Time Format).
Supports incomplete dates, uncertainty, and approximation.
examples:
- value: "1970-08-15"
description: Full date known
- value: "1970-08"
description: Year and month known
- value: "1970"
description: Only year known
- value: "197X"
description: Decade known (1970s)
- value: "1970~"
description: Approximate (circa 1970)
- value: "XXXX"
description: Unknown (requires search provenance)
birth_iso_date:
range: date
required: false
description: >-
Birth date as ISO 8601 date (YYYY-MM-DD) when full date is known.
Optional - use birth_edtf for partial/uncertain dates.
examples:
- value: "1970-08-15"
birth_source_text:
range: string
required: false
description: >-
Original date text from source document, preserved verbatim.
Useful for archival/historical sources with non-standard notation.
examples:
- value: "born in the year of our Lord 1823"
- value: "ca. 1750"
- value: "late 18th century"
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": [...]}'
confidence:
range: BirthDateConfidenceEnum
required: false
description: >-
Confidence level in the birth date value.
comments:
- "Replaces simple birth_date string slot (Rule 53)"
- "EDTF notation enables uncertain/incomplete date representation"
- "Inference provenance required when is_inferred=true (Rule 45)"
- "Source text preservation supports archival/historical research"
see_also:
- https://www.loc.gov/standards/datetime/
- https://schema.org/birthDate
examples:
- value:
birth_edtf: "1970-08-15"
birth_iso_date: "1970-08-15"
is_inferred: false
confidence: HIGH
description: Full date known with high confidence
- value:
birth_edtf: "197X"
is_inferred: true
inference_provenance: '{"method": "earliest_education_heuristic", "source_field": "education[0].start_year"}'
confidence: LOW
description: Decade inferred from education start year
- value:
birth_edtf: "1823"
birth_source_text: "born in the year of our Lord 1823"
is_inferred: false
confidence: MEDIUM
description: Year extracted from historical document
annotations:
specificity_score: 0.45
specificity_rationale: >-
Birth dates are relevant for person research across all heritage sectors.
slots:
birth_edtf:
description: Birth date in EDTF notation.
range: string
slot_uri: dcterms:date
birth_iso_date:
description: Birth date as ISO 8601 date when full date is known.
range: date
slot_uri: schema:birthDate
birth_source_text:
description: Original date text from source document.
range: string
slot_uri: hc:sourceText
is_inferred:
description: Whether this date was inferred.
range: boolean
slot_uri: hc:isInferred
inference_provenance:
description: JSON documenting inference chain.
range: string
slot_uri: hc:inferenceProvenance
confidence:
description: Confidence level in the date value.
range: string
slot_uri: hc:confidence
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

View file

@ -0,0 +1,223 @@
id: https://nde.nl/ontology/hc/class/BirthPlace
name: birth_place_class
title: Birth Place 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/
gn: http://www.geonames.org/ontology#
wdt: http://www.wikidata.org/prop/direct/
imports:
- linkml:types
- ../metadata
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
default_prefix: hc
classes:
BirthPlace:
class_uri: schema:Place
description: >-
Structured representation of a person's place of birth with support
for historical place names, modern equivalents, and geographic identifiers.
**PURPOSE**:
BirthPlace replaces simple string birth_place slots to provide:
- Historical place name preservation
- Modern place name linkage
- Geographic identifier integration (GeoNames, Wikidata)
- Coordinate storage for mapping applications
**HISTORICAL VS. MODERN NAMES**:
Many birth places used historical names that have since changed:
- "Batavia" → "Jakarta"
- "Bombay" → "Mumbai"
- "Leningrad" → "St. Petersburg"
- "Saigon" → "Ho Chi Minh City"
BirthPlace preserves the source name while linking to modern identifiers.
**GEOGRAPHIC RESOLUTION**:
Per AGENTS.md Rule on GeoNames as authoritative source:
- `geonames_id`: Links to GeoNames for standardization
- `wikidata_id`: Links to Wikidata for additional context
- `coordinates`: Lat/lon for mapping
**ONTOLOGY ALIGNMENT**:
| Ontology | Mapping | Usage |
|----------|---------|-------|
| **Schema.org** | `schema:Place` | Primary class |
| **CIDOC-CRM** | `crm:E53_Place` | Place entity |
| **GeoNames** | `gn:Feature` | Geographic feature |
**EXAMPLE**:
```yaml
has_or_had_place_of_birth:
place_name: "Batavia"
modern_place_name: "Jakarta"
country_code: "ID"
geonames_id: 1642911
wikidata_id: "Q3630"
```
exact_mappings:
- schema:Place
close_mappings:
- crm:E53_Place
- gn:Feature
slots:
- place_name
- modern_place_name
- country_code
- region_code
- geonames_id
- wikidata_id
- coordinates
- place_source_text
- specificity_annotation
- template_specificity
slot_usage:
place_name:
range: string
required: true
description: >-
Name of the birth place as recorded in source.
May be historical name that has since changed.
examples:
- value: "Amsterdam"
description: Current name
- value: "Batavia"
description: Historical name (now Jakarta)
modern_place_name:
range: string
required: false
description: >-
Modern equivalent name if place_name is historical.
Leave null if place_name is current.
examples:
- value: "Jakarta"
description: Modern name for Batavia
country_code:
range: string
required: false
pattern: "^[A-Z]{2}$"
description: >-
ISO 3166-1 alpha-2 country code.
examples:
- value: "NL"
- value: "ID"
region_code:
range: string
required: false
description: >-
ISO 3166-2 region/province code or GeoNames admin1 code.
examples:
- value: "NH"
description: Noord-Holland
geonames_id:
range: integer
required: false
description: >-
GeoNames geographic identifier for the place.
Authoritative source per AGENTS.md.
examples:
- value: 2759794
description: Amsterdam GeoNames ID
wikidata_id:
range: string
required: false
pattern: "^Q[0-9]+$"
description: >-
Wikidata entity identifier for the place.
examples:
- value: "Q727"
description: Amsterdam Wikidata ID
coordinates:
range: string
required: false
description: >-
Geographic coordinates as "lat,lon" string.
examples:
- value: "52.3676,4.9041"
description: Amsterdam coordinates
place_source_text:
range: string
required: false
description: >-
Original place text from source document, preserved verbatim.
Useful when source contains additional context.
examples:
- value: "born at the family estate in rural Gelderland"
comments:
- "Replaces simple birth_place string slot (Rule 53)"
- "Preserves historical place names while linking to modern identifiers"
- "GeoNames ID is authoritative per AGENTS.md"
see_also:
- https://schema.org/birthPlace
- https://www.geonames.org/
examples:
- value:
place_name: "Amsterdam"
country_code: "NL"
region_code: "NH"
geonames_id: 2759794
wikidata_id: "Q727"
coordinates: "52.3676,4.9041"
description: Birth place with full geographic resolution
- value:
place_name: "Batavia"
modern_place_name: "Jakarta"
country_code: "ID"
geonames_id: 1642911
wikidata_id: "Q3630"
description: Historical place name with modern equivalent
- value:
place_name: "rural Gelderland"
country_code: "NL"
region_code: "GE"
place_source_text: "born at the family estate in rural Gelderland"
description: Imprecise location from archival source
annotations:
specificity_score: 0.45
specificity_rationale: >-
Birth places are relevant for person research across heritage sectors.
slots:
place_name:
description: Name of the place as recorded in source.
range: string
slot_uri: schema:name
modern_place_name:
description: Modern equivalent name if different from source name.
range: string
slot_uri: hc:modernPlaceName
country_code:
description: ISO 3166-1 alpha-2 country code.
range: string
slot_uri: schema:addressCountry
region_code:
description: ISO 3166-2 region/province code.
range: string
slot_uri: schema:addressRegion
geonames_id:
description: GeoNames geographic identifier.
range: integer
slot_uri: gn:geonamesId
wikidata_id:
description: Wikidata entity identifier.
range: string
slot_uri: wdt:P625
coordinates:
description: Geographic coordinates as lat,lon string.
range: string
slot_uri: schema:geo
place_source_text:
description: Original place text from source document.
range: string
slot_uri: hc:sourceText

View file

@ -9,7 +9,10 @@ imports:
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/branch_service_area # REMOVED - migrated to has_or_had_service_area (Rule 53)
# - ../slots/branch_service_area
- ../slots/has_or_had_service_area
- ./ServiceArea
- ../slots/branch_staff_count - ../slots/branch_staff_count
- ../slots/has_local_collection - ../slots/has_local_collection
- ../slots/is_public_facing - ../slots/is_public_facing
@ -69,7 +72,9 @@ classes:
- has_or_had_description - has_or_had_description
- has_or_had_identifier - has_or_had_identifier
- has_or_had_label - has_or_had_label
- branch_service_area # REMOVED - migrated to has_or_had_service_area (Rule 53)
# - branch_service_area
- has_or_had_service_area
- branch_staff_count - branch_staff_count
- has_local_collection - has_local_collection
- is_public_facing - is_public_facing
@ -115,13 +120,27 @@ classes:
- value: Regional branch serving Zaanstreek-Waterland area. Holds municipal records from Zaandam, Wormerland, Purmerend. - value: Regional branch serving Zaanstreek-Waterland area. Holds municipal records from Zaandam, Wormerland, Purmerend.
Open to researchers Tuesday-Thursday. Open to researchers Tuesday-Thursday.
description: Archive branch description description: Archive branch description
branch_service_area: # REMOVED - migrated to has_or_had_service_area (Rule 53)
range: string # branch_service_area:
# range: string
# examples:
# - value: Zaanstreek-Waterland region
# description: Regional coverage
# - value: Amsterdam Schiphol Airport travelers
# description: Specific community served
has_or_had_service_area:
range: ServiceArea
inlined: true
description: >-
Geographic area or community served by this branch.
MIGRATED from branch_service_area (Rule 53) - changed from string to
ServiceArea class for richer geographic modeling.
examples: examples:
- value: Zaanstreek-Waterland region - value:
description: Regional coverage service_area_id: https://nde.nl/ontology/hc/servicearea/zaanstreek-waterland
- value: Amsterdam Schiphol Airport travelers service_area_name: Zaanstreek-Waterland region
description: Specific community served service_area_type: REGIONAL
description: Regional coverage as structured ServiceArea
is_public_facing: is_public_facing:
range: boolean range: boolean
required: true required: true
@ -177,7 +196,10 @@ classes:
has_or_had_label: Noord-Hollands Archief - Zaanstreek-Waterland has_or_had_label: Noord-Hollands Archief - Zaanstreek-Waterland
has_or_had_description: Regional branch serving Zaanstreek-Waterland area. Holds municipal records from Zaandam, has_or_had_description: Regional branch serving Zaanstreek-Waterland area. Holds municipal records from Zaandam,
Wormerland, Purmerend. Wormerland, Purmerend.
branch_service_area: Zaanstreek-Waterland region has_or_had_service_area:
service_area_id: https://nde.nl/ontology/hc/servicearea/zaanstreek-waterland
service_area_name: Zaanstreek-Waterland region
service_area_type: REGIONAL
is_public_facing: true is_public_facing: true
services_offered: services_offered:
- Archival research access - Archival research access
@ -192,7 +214,10 @@ classes:
has_or_had_label: Rijksmuseum Schiphol has_or_had_label: Rijksmuseum Schiphol
has_or_had_description: Exhibition space at Schiphol Airport featuring rotating highlights from the Rijksmuseum has_or_had_description: Exhibition space at Schiphol Airport featuring rotating highlights from the Rijksmuseum
collection. Free admission. collection. Free admission.
branch_service_area: Amsterdam Schiphol Airport travelers has_or_had_service_area:
service_area_id: https://nde.nl/ontology/hc/servicearea/schiphol-travelers
service_area_name: Amsterdam Schiphol Airport travelers
service_area_type: COMMUNITY
is_public_facing: true is_public_facing: true
services_offered: services_offered:
- Exhibition viewing - Exhibition viewing

View file

@ -18,7 +18,10 @@ imports:
- ../enums/DataTierEnum - ../enums/DataTierEnum
- ../enums/DatePrecisionEnum - ../enums/DatePrecisionEnum
- ../enums/TimelineExtractionMethodEnum - ../enums/TimelineExtractionMethodEnum
- ../slots/approximate # REMOVED - migrated to is_or_was_approximate (Rule 53)
# - ../slots/approximate
- ../slots/is_or_was_approximate
- ./ApproximationStatus
- ../slots/has_archive_path - ../slots/has_archive_path
- ../slots/data_tier - ../slots/data_tier
- ../slots/date_precision - ../slots/date_precision
@ -53,8 +56,8 @@ classes:
\ Scope decrease (ingekrompen)\n- REORGANIZATION: Complex restructuring (herstructurering)\n\n**EXCLUDED EVENT TYPES**\n\ \ 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\ \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\ \ 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 date_precision: day\n approximate:\ timeline_events:\n - event_type: FOUNDING\n event_date: \"2005-04-30\"\n date_precision: day\n is_or_was_approximate:\n\
\ false\n description: >-\n Het RHC Drents Archief werd opgericht op 30 april 2005.\n Het is de voortzetting\ \ 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\"\ \ 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:\ \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: \"\ \ api_response_regex\n extraction_timestamp: \"2025-12-16T10:00:00Z\"\n extraction_notes: >-\n Query: \"\
@ -67,7 +70,9 @@ classes:
- tooi:Wijzigingsgebeurtenis - tooi:Wijzigingsgebeurtenis
- schema:Event - schema:Event
slots: slots:
- approximate # REMOVED - migrated to is_or_was_approximate (Rule 53)
# - approximate
- is_or_was_approximate
- archive_path - archive_path
- data_tier - data_tier
- date_precision - date_precision
@ -88,8 +93,26 @@ classes:
required: false required: false
date_precision: date_precision:
required: true required: true
is_approximate: # REMOVED - migrated to is_or_was_approximate (Rule 53)
# is_approximate:
# required: true
is_or_was_approximate:
range: ApproximationStatus
inlined: true
required: 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: description:
required: true required: true
source_url: source_url:
@ -134,7 +157,8 @@ classes:
event_type: FOUNDING event_type: FOUNDING
event_date: '2005-04-30' event_date: '2005-04-30'
date_precision: day date_precision: day
approximate: false is_or_was_approximate:
approximation_level: EXACT
description: Het RHC Drents Archief werd opgericht op 30 april 2005. description: Het RHC Drents Archief werd opgericht op 30 april 2005.
source_url: source_url:
- https://nl.wikipedia.org/wiki/Drents_Archief - https://nl.wikipedia.org/wiki/Drents_Archief
@ -148,7 +172,8 @@ classes:
event_type: MERGER event_type: MERGER
event_date: '2005' event_date: '2005'
date_precision: year date_precision: year
approximate: false is_or_was_approximate:
approximation_level: EXACT
description: In 2005 ging het Gemeentearchief Assen op in het Drents Archief. description: In 2005 ging het Gemeentearchief Assen op in het Drents Archief.
source_url: source_url:
- https://nl.wikipedia.org/wiki/Drents_Archief - https://nl.wikipedia.org/wiki/Drents_Archief
@ -160,7 +185,8 @@ classes:
event_type: FOUNDING event_type: FOUNDING
event_date: '1810' event_date: '1810'
date_precision: year date_precision: year
approximate: false is_or_was_approximate:
approximation_level: EXACT
description: The Rijksmuseum was founded in 1810 as the Royal Museum. description: The Rijksmuseum was founded in 1810 as the Royal Museum.
source_url: source_url:
- https://www.wikidata.org/wiki/Q190804 - https://www.wikidata.org/wiki/Q190804
@ -173,7 +199,8 @@ classes:
event_type: TRANSFER event_type: TRANSFER
event_date: '1885' event_date: '1885'
date_precision: year date_precision: year
approximate: false is_or_was_approximate:
approximation_level: EXACT
description: The Rijksmuseum moved to its current building designed by Cuypers. description: The Rijksmuseum moved to its current building designed by Cuypers.
source_url: source_url:
- https://www.rijksmuseum.nl/en/about-us/what-we-do/history - https://www.rijksmuseum.nl/en/about-us/what-we-do/history
@ -183,3 +210,16 @@ classes:
archive_path: web/0001/rijksmuseum.nl/about-us/rendered.html archive_path: web/0001/rijksmuseum.nl/about-us/rendered.html
data_tier: TIER_2_VERIFIED data_tier: TIER_2_VERIFIED
description: Relocation event from institutional website description: Relocation event from institutional website
- value:
event_type: FOUNDING
event_date: '1880'
date_precision: year
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'
data_tier: TIER_4_INFERRED
description: Founding event with approximate date

View file

@ -16,7 +16,9 @@ imports:
- ./SearchAPI - ./SearchAPI
- ./METSAPI - ./METSAPI
- ./DataServiceEndpointTypes - ./DataServiceEndpointTypes
- ../slots/auxiliary_platforms # REMOVED - migrated to has_or_had_auxiliary_entities with range AuxiliaryDigitalPlatform (Rule 53)
# - ../slots/auxiliary_platforms
- ../slots/has_or_had_auxiliary_entities
- ../slots/has_or_had_powered_by_cm - ../slots/has_or_had_powered_by_cm
- ../slots/has_or_had_access_restriction - ../slots/has_or_had_access_restriction
- ../slots/preservation_level - ../slots/preservation_level
@ -103,7 +105,9 @@ classes:
slots: slots:
- has_or_had_access_restriction - has_or_had_access_restriction
- has_or_had_api_endpoint - has_or_had_api_endpoint
- auxiliary_platforms # MIGRATED from auxiliary_platforms to has_or_had_auxiliary_entities (Rule 53)
# - auxiliary_platforms
- has_or_had_auxiliary_entities
- collection_web_address - collection_web_address
- has_or_had_data_service_endpoint - has_or_had_data_service_endpoint
- fixity_check_date - fixity_check_date
@ -241,7 +245,11 @@ classes:
description: Open to all users description: Open to all users
- value: API key required - value: API key required
description: Developer registration needed description: Developer registration needed
has_auxiliary_platform: # MIGRATED from auxiliary_platforms / has_auxiliary_platform (Rule 53)
has_or_had_auxiliary_entities:
description: |
MIGRATED from auxiliary_platforms (Rule 53).
Subordinate or auxiliary digital platforms associated with this platform.
range: AuxiliaryDigitalPlatform range: AuxiliaryDigitalPlatform
multivalued: true multivalued: true
inlined_as_list: true inlined_as_list: true
@ -326,7 +334,7 @@ classes:
- 'Multivalued on Custodian: one custodian can have multiple platforms (website + API + mobile app)' - 'Multivalued on Custodian: one custodian can have multiple platforms (website + API + mobile app)'
- Temporal validity tracks platform lifecycle (launch, shutdown, migration) - Temporal validity tracks platform lifecycle (launch, shutdown, migration)
- IIIF and linked data flags enable discovery of interoperable platforms - IIIF and linked data flags enable discovery of interoperable platforms
- 'NEW: auxiliary_platforms links to subordinate AuxiliaryDigitalPlatform sites (project portals, microsites, APIs)' - 'MIGRATED: auxiliary_platforms → has_or_had_auxiliary_entities for AuxiliaryDigitalPlatform sites (project portals, microsites, APIs)'
- Hierarchical pattern mirrors CustodianName → CustodianAppellation relationship - Hierarchical pattern mirrors CustodianName → CustodianAppellation relationship
see_also: see_also:
- https://schema.org/WebSite - https://schema.org/WebSite

View file

@ -20,7 +20,10 @@ imports:
- ../slots/isbn - ../slots/isbn
- ../slots/language - ../slots/language
- ../slots/price - ../slots/price
- ../slots/authors # REMOVED - migrated to has_or_had_author (Rule 53)
# - ../slots/authors
- ../slots/has_or_had_author
- ./Author
# REMOVED: ../slots/binding - Use has_or_had_type with BindingType instead (2026-01-15) # REMOVED: ../slots/binding - Use has_or_had_type with BindingType instead (2026-01-15)
- ../slots/has_or_had_type - ../slots/has_or_had_type
- ./BindingType - ./BindingType
@ -51,7 +54,7 @@ imports:
- ../slots/worldcat_id - ../slots/worldcat_id
- ./SpecificityAnnotation - ./SpecificityAnnotation
- ./TemplateSpecificityScores - ./TemplateSpecificityScores
- ../slots/has_author # REMOVED: ../slots/has_author - migrated to has_or_had_author (Rule 53)
default_prefix: hc default_prefix: hc
classes: classes:
ExhibitionCatalog: ExhibitionCatalog:
@ -80,7 +83,8 @@ classes:
- bf:Instance - bf:Instance
- bibo:Book - bibo:Book
slots: slots:
- authors # REMOVED: authors - migrated to has_or_had_author (Rule 53)
- has_or_had_author
# REMOVED: binding - Use has_or_had_type with BindingType instead (2026-01-15) # REMOVED: binding - Use has_or_had_type with BindingType instead (2026-01-15)
- has_or_had_type - has_or_had_type
- catalog_description - catalog_description
@ -146,13 +150,28 @@ classes:
examples: examples:
- value: PRINT_CATALOG - value: PRINT_CATALOG
- value: DIGITAL_CATALOG - value: DIGITAL_CATALOG
has_author: has_or_had_author:
description: >-
Authors of the exhibition catalog.
MIGRATED from authors/has_author slots (Rule 53).
Uses Author class for structured authorship data including
name, role (author/editor/translator), affiliation, and identifiers.
required: false required: false
range: string range: Author
inlined: true
multivalued: true multivalued: true
examples: examples:
- value: Pieter Roelofs - value: |
- value: Gregor J.M. Weber author_name: Pieter Roelofs
author_role: AUTHOR
author_affiliation: Rijksmuseum Amsterdam
description: Primary author with affiliation
- value: |
author_name: Gregor J.M. Weber
author_role: AUTHOR
author_identifier: https://orcid.org/0000-0002-1234-5678
description: Author with ORCID identifier
editor: editor:
required: false required: false
range: string range: string
@ -340,9 +359,13 @@ classes:
catalog_title: Vermeer catalog_title: Vermeer
catalog_for: https://nde.nl/ontology/hc/exhibition/rijksmuseum-vermeer-2023 catalog_for: https://nde.nl/ontology/hc/exhibition/rijksmuseum-vermeer-2023
catalog_type: PRINT_CATALOG catalog_type: PRINT_CATALOG
has_author: has_or_had_author:
- Pieter Roelofs - author_name: Pieter Roelofs
- Gregor J.M. Weber author_role: AUTHOR
author_affiliation: Rijksmuseum Amsterdam
- author_name: Gregor J.M. Weber
author_role: AUTHOR
author_affiliation: Rijksmuseum Amsterdam
editor: editor:
- Pieter Roelofs - Pieter Roelofs
publisher: Rijksmuseum / Hannibal Publishing publisher: Rijksmuseum / Hannibal Publishing

View file

@ -17,8 +17,14 @@ imports:
- ../slots/id - ../slots/id
- ../slots/person_name - ../slots/person_name
- ../slots/has_person_name - ../slots/has_person_name
- ../slots/birth_date # REMOVED - migrated to has_or_had_date_of_birth (Rule 53)
- ../slots/birth_place # - ../slots/birth_date
- ../slots/has_or_had_date_of_birth
- ./BirthDate
# REMOVED - migrated to has_or_had_place_of_birth (Rule 53)
# - ../slots/birth_place
- ../slots/has_or_had_place_of_birth
- ./BirthPlace
- ../slots/death_place - ../slots/death_place
- ../slots/date_of_death - ../slots/date_of_death
- ../slots/deceased - ../slots/deceased
@ -99,8 +105,10 @@ classes:
slots: slots:
- is_or_was_affected_by_event - is_or_was_affected_by_event
- has_age - has_age
- birth_date # REMOVED: birth_date - migrated to has_or_had_date_of_birth (Rule 53)
- birth_place - has_or_had_date_of_birth
# REMOVED: birth_place - migrated to has_or_had_place_of_birth (Rule 53)
- has_or_had_place_of_birth
- contact_email - contact_email
- created - created
- date_of_death - date_of_death
@ -148,12 +156,48 @@ classes:
- Required is false initially to allow PersonObservation without hub linkage - Required is false initially to allow PersonObservation without hub linkage
- Production data SHOULD always have this link for full PICO compliance - Production data SHOULD always have this link for full PICO compliance
- 'Inverse relationship: Person.has_person_observation (implemented v0.9.8)' - 'Inverse relationship: Person.has_person_observation (implemented v0.9.8)'
birth_date: has_or_had_date_of_birth:
range: string description: >-
Birth date of the person using structured BirthDate class.
MIGRATED from birth_date slot (Rule 53).
Supports EDTF notation for uncertain/incomplete dates and
tracks provenance for inferred dates per Rule 45.
range: BirthDate
inlined: true
required: false required: false
birth_place: examples:
range: string - value: |
birth_edtf: "1970-08-15"
is_inferred: false
confidence: HIGH
description: Full date known
- value: |
birth_edtf: "197X"
is_inferred: true
confidence: LOW
description: Decade inferred from career start
has_or_had_place_of_birth:
description: >-
Birth place of the person using structured BirthPlace class.
MIGRATED from birth_place slot (Rule 53).
Supports historical vs. modern place names and links to
GeoNames/Wikidata for geographic resolution.
range: BirthPlace
inlined: true
required: false required: false
examples:
- value: |
place_name: Amsterdam
country_code: NL
geonames_id: 2759794
description: Birth place with geographic identifiers
- value: |
place_name: Batavia
modern_place_name: Jakarta
country_code: ID
description: Historical place name
death_place: death_place:
range: string range: string
required: false required: false

View file

@ -0,0 +1,26 @@
id: https://nde.nl/ontology/hc/slot/approximation_level
name: approximation_level_slot
title: Approximation Level Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
imports:
- linkml:types
default_prefix: hc
slots:
approximation_level:
description: >-
Level of approximation/uncertainty for a value.
See ApproximationLevelEnum for valid values:
- EXACT: Known with certainty
- APPROXIMATE: Close but not exact
- ESTIMATED: Calculated/inferred
- UNCERTAIN: Significant doubt
- UNKNOWN: Cannot be determined
range: string
slot_uri: hc:approximationLevel
annotations:
specificity_score: 0.30
specificity_rationale: >-
Approximation level is broadly useful for expressing uncertainty.

View file

@ -0,0 +1,61 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_author
name: has_or_had_author_slot
title: Has Or Had Author Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
bf: http://id.loc.gov/ontologies/bibframe/
bibo: http://purl.org/ontology/bibo/
rico: https://www.ica.org/standards/RiC/ontology#
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_author:
description: >-
Person or organization that authored/created a work.
Links to Author class which models creators of creative works such as
catalogs, publications, reports, and other documentary outputs.
**RiC-O Alignment**: Follows RiC-O temporal relationship pattern (has/had)
for properties that may change over time (e.g., posthumous attributions,
disputed authorship).
**Schema.org/Dublin Core Alignment**: Maps to schema:author and dcterms:creator.
**BIBFRAME Alignment**: Related to bf:contribution for bibliographic works.
**Use Cases**:
- Exhibition catalog authors
- Research report authors
- Finding aid compilers
- Publication contributors
**MIGRATED from authors (Rule 53)**: Changed from string to Author class
for structured authorship modeling including roles, affiliations, and temporal
aspects.
slot_uri: schema:author
range: Author
multivalued: true
inlined: true
exact_mappings:
- schema:author
- dcterms:creator
close_mappings:
- bf:contribution
- bibo:authorList
related_mappings:
- rico:hasOrHadAuthor
annotations:
owl.template: |-
AnnotationAssertion( rdfs:label {{slot_uri}} "has or had author"@en )
specificity_score: 0.35
specificity_rationale: >-
Authorship is broadly useful for any creative/documentary work
produced by heritage custodians.
custodian_types: '["*"]'
custodian_types_rationale: >-
All custodian types may produce authored works (catalogs, reports, etc.).

View file

@ -0,0 +1,61 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_date_of_birth
name: has_or_had_date_of_birth_slot
title: Has or Had Date of Birth Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
crm: http://www.cidoc-crm.org/cidoc-crm/
rico: https://www.ica.org/standards/RiC/ontology#
foaf: http://xmlns.com/foaf/0.1/
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_date_of_birth:
slot_uri: schema:birthDate
description: >-
The birth date of a person, modeled as a structured BirthDate class.
**TEMPORAL SEMANTICS (RiC-O Pattern)**:
Uses "has_or_had" prefix to indicate the relationship may be:
- Current (person is alive with this birth date)
- Historical (person is deceased, birth date is historical fact)
**ONTOLOGY ALIGNMENT**:
| Ontology | Property | Usage |
|----------|----------|-------|
| **Schema.org** | `schema:birthDate` | Primary property (web semantics) |
| **FOAF** | `foaf:birthday` | Social network date |
| **CIDOC-CRM** | `crm:P98i_was_born` → `crm:E67_Birth` | Birth event |
| **RiC-O** | `rico:birthDate` | Archival person modeling |
**INCOMPLETE DATES**:
Per Rule 44 (EDTF), incomplete dates are modeled using BirthDate class:
- Decade known: `birth_edtf: "197X"`
- Century known: `birth_edtf: "19XX"`
- Approximate: `birth_edtf: "1985~"`
**MIGRATION NOTE**:
Replaces simple `birth_date` string slot with structured BirthDate class
per Rule 53 (Full Slot Migration). This enables:
- EDTF date notation support
- Provenance tracking for inferred dates
- Confidence scoring
range: BirthDate
required: false
inlined: true
exact_mappings:
- schema:birthDate
- foaf:birthday
close_mappings:
- crm:P98i_was_born
- rico:birthDate
comments:
- "MIGRATED from birth_date slot (Rule 53)"
- "Supports EDTF notation for uncertain/incomplete dates"
- "BirthDate class provides provenance for inferred birth dates"

View file

@ -0,0 +1,58 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_place_of_birth
name: has_or_had_place_of_birth_slot
title: Has or Had Place of Birth Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
crm: http://www.cidoc-crm.org/cidoc-crm/
rico: https://www.ica.org/standards/RiC/ontology#
foaf: http://xmlns.com/foaf/0.1/
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_place_of_birth:
slot_uri: schema:birthPlace
description: >-
The place where a person was born, modeled as a structured BirthPlace class.
**TEMPORAL SEMANTICS (RiC-O Pattern)**:
Uses "has_or_had" prefix to indicate the relationship:
- Historical fact (birth location doesn't change)
- May use historical place names vs. modern equivalents
**ONTOLOGY ALIGNMENT**:
| Ontology | Property | Usage |
|----------|----------|-------|
| **Schema.org** | `schema:birthPlace` | Primary property |
| **FOAF** | `foaf:based_near` | Location association |
| **CIDOC-CRM** | `crm:P7_took_place_at` via Birth event | Place of birth event |
| **RiC-O** | `rico:birthPlace` | Archival person modeling |
**PLACE RESOLUTION**:
BirthPlace class enables:
- Historical place name preservation (e.g., "Batavia")
- Modern equivalent linkage (e.g., "Jakarta")
- GeoNames/Wikidata identifier linking
- Coordinate storage for mapping
**MIGRATION NOTE**:
Replaces simple `birth_place` string slot with structured BirthPlace class
per Rule 53 (Full Slot Migration).
range: BirthPlace
required: false
inlined: true
exact_mappings:
- schema:birthPlace
close_mappings:
- crm:P7_took_place_at
- rico:birthPlace
comments:
- "MIGRATED from birth_place slot (Rule 53)"
- "Supports historical vs. modern place names"
- "Links to GeoNames/Wikidata for disambiguation"

View file

@ -0,0 +1,54 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_service_area
name: has_or_had_service_area_slot
title: Has Or Had Service Area Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
org: http://www.w3.org/ns/org#
rico: https://www.ica.org/standards/RiC/ontology#
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_service_area:
description: >-
Geographic area or community served by an entity.
Links to ServiceArea class which models the "werkgebied" (operational territory)
of heritage custodians - the geographic area where they provide services and
collect materials.
**RiC-O Alignment**: Follows RiC-O temporal relationship pattern (has/had)
for properties that may change over time.
**Schema.org Alignment**: Maps to schema:areaServed for service coverage.
**Use Cases**:
- Archive branch serving specific municipalities
- Library branch serving neighborhood/district
- Museum outpost serving regional community
**MIGRATED from branch_service_area (Rule 53)**: Changed from string to
ServiceArea class for richer geographic modeling including boundaries,
temporal validity, and administrative hierarchy.
slot_uri: schema:areaServed
range: ServiceArea
inlined: true
exact_mappings:
- schema:areaServed
close_mappings:
- org:hasSite
- rico:hasOrHadLocation
annotations:
owl.template: |-
AnnotationAssertion( rdfs:label {{slot_uri}} "has or had service area"@en )
specificity_score: 0.45
specificity_rationale: >-
Service area is moderately specific - relevant for organizational/geographic
contexts but not universally applicable.
custodian_types: '["A", "L", "M", "O", "R"]'
custodian_types_rationale: >-
Service areas are most relevant to archives (A), libraries (L), museums (M),
official institutions (O), and research centers (R) that have geographic
service mandates.

View file

@ -0,0 +1,54 @@
id: https://nde.nl/ontology/hc/slot/is_or_was_approximate
name: is_or_was_approximate_slot
title: Is Or Was Approximate Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
crm: http://www.cidoc-crm.org/cidoc-crm/
rico: https://www.ica.org/standards/RiC/ontology#
imports:
- linkml:types
default_prefix: hc
slots:
is_or_was_approximate:
description: >-
Indicates whether a value (date, quantity, etc.) is approximate or uncertain.
Links to ApproximationStatus class which models different levels of uncertainty:
- exact: Known with certainty
- approximate: Close but not exact (circa, roughly)
- estimated: Calculated/inferred value
- uncertain: Significant doubt about accuracy
- unknown: Value cannot be determined
**RiC-O Alignment**: Follows RiC-O temporal relationship pattern (is/was)
for properties that may change over time as more information becomes available.
**CIDOC-CRM Alignment**: Related to crm:E52_Time-Span precision modeling.
**Use Cases**:
- Date approximation: "circa 1880" vs "1880-03-15"
- Event timing uncertainty: founding date known only to year
- Quantity estimates: "approximately 10,000 items"
**MIGRATED from approximate (Rule 53)**: Changed from string to
ApproximationStatus class for structured uncertainty modeling.
slot_uri: hc:isOrWasApproximate
range: ApproximationStatus
inlined: true
close_mappings:
- crm:P79_beginning_is_qualified_by
- crm:P80_end_is_qualified_by
related_mappings:
- rico:certainty
annotations:
owl.template: |-
AnnotationAssertion( rdfs:label {{slot_uri}} "is or was approximate"@en )
specificity_score: 0.30
specificity_rationale: >-
Approximation status is broadly useful across many contexts where
uncertainty needs to be expressed (dates, quantities, etc.).
custodian_types: '["*"]'
custodian_types_rationale: >-
Approximation/uncertainty is universal across all custodian types.

View file

@ -438,10 +438,10 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/approximate - original_slot_id: https://nde.nl/ontology/hc/slot/approximate
processed: processed:
status: false status: true
timestamp: null timestamp: "2026-01-14T12:45:00Z"
session: null session: "slot-migration-session-20260114"
notes: "Requires ApproximationStatus class creation" notes: "COMPLETED: Created is_or_was_approximate slot and ApproximationStatus class with ApproximationLevelEnum (EXACT, APPROXIMATE, ESTIMATED, UNCERTAIN, UNKNOWN). Also created approximation_level slot. Updated CustodianTimelineEvent.yaml imports, slots list, slot_usage with range ApproximationStatus, and examples (added 5th example showing approximate date). Archived approximate to archive/approximate_archived_20260114.yaml"
revision: revision:
- label: is_or_was_approximate - label: is_or_was_approximate
type: slot type: slot
@ -579,10 +579,10 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/authors - original_slot_id: https://nde.nl/ontology/hc/slot/authors
processed: processed:
status: false status: true
timestamp: null timestamp: '2026-01-14T15:30:00Z'
session: null session: "session-2026-01-14-author-migration"
notes: "Requires Author class creation" notes: "FULLY MIGRATED: ExhibitionCatalog.yaml - authors and has_author slots replaced with has_or_had_author (range: Author). Author class with AuthorRoleEnum created. Both authors.yaml and has_author.yaml archived."
revision: revision:
- label: has_or_had_author - label: has_or_had_author
type: slot type: slot
@ -644,10 +644,15 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/auxiliary_platforms - original_slot_id: https://nde.nl/ontology/hc/slot/auxiliary_platforms
processed: processed:
status: false status: true
timestamp: null timestamp: '2026-01-14T11:45:00Z'
session: null session: "slot-migration-session-8"
notes: "Maps to existing AuxiliaryPlatform class" notes: |
MIGRATED: auxiliary_platforms → has_or_had_auxiliary_entities + AuxiliaryDigitalPlatform
- has_or_had_auxiliary_entities slot created earlier this session
- AuxiliaryDigitalPlatform class already existed
- Updated DigitalPlatform.yaml: imports, slots list, slot_usage
- Archived to modules/slots/archive/auxiliary_platforms_archived_20260114.yaml
revision: revision:
- label: has_or_had_auxiliary_entities - label: has_or_had_auxiliary_entities
type: slot type: slot
@ -845,10 +850,10 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/birth_date - original_slot_id: https://nde.nl/ontology/hc/slot/birth_date
processed: processed:
status: false status: true
timestamp: null timestamp: '2026-01-14T16:00:00Z'
session: null session: "session-2026-01-14-birth-date-migration"
notes: "Requires BirthDate class creation" notes: "FULLY MIGRATED: PersonObservation.yaml - birth_date replaced with has_or_had_date_of_birth (range: BirthDate). BirthDate class created with EDTF support, confidence enum, and inference provenance. birth_date.yaml archived."
revision: revision:
- label: has_or_had_date_of_birth - label: has_or_had_date_of_birth
type: slot type: slot
@ -857,10 +862,10 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/birth_place - original_slot_id: https://nde.nl/ontology/hc/slot/birth_place
processed: processed:
status: false status: true
timestamp: null timestamp: '2026-01-14T16:15:00Z'
session: null session: "session-2026-01-14-birth-place-migration"
notes: "Requires BirthPlace class creation" notes: "FULLY MIGRATED: PersonObservation.yaml - birth_place replaced with has_or_had_place_of_birth (range: BirthPlace). BirthPlace class created with historical/modern place names, GeoNames/Wikidata integration. birth_place.yaml archived."
revision: revision:
- label: has_or_had_place_of_birth - label: has_or_had_place_of_birth
type: slot type: slot
@ -1057,10 +1062,10 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/branch_service_area - original_slot_id: https://nde.nl/ontology/hc/slot/branch_service_area
processed: processed:
status: false status: true
timestamp: null timestamp: "2026-01-14T12:30:00Z"
session: null session: "slot-migration-session-20260114"
notes: "Requires ServiceArea class creation" notes: "COMPLETED: Created has_or_had_service_area slot with range ServiceArea. Updated BranchOffice.yaml imports, slots list, slot_usage, and examples. ServiceArea class already existed with full geographic modeling. Archived branch_service_area to archive/branch_service_area_archived_20260114.yaml"
revision: revision:
- label: has_or_had_service_area - label: has_or_had_service_area
type: slot type: slot