Refactor code structure for improved readability and maintainability

This commit is contained in:
kempersc 2026-01-28 01:11:55 +01:00
parent 8c42292235
commit f800e198ff
2803 changed files with 128108 additions and 78216 deletions

View file

@ -1,17 +1,46 @@
# Rule: Do Not Delete Entries from slot_fixes.yaml # Rule: Do Not Delete From slot_fixes.yaml
**CRITICAL**: Entries in `schemas/20251121/linkml/modules/slots/slot_fixes.yaml` MUST NEVER be deleted. **Identifier**: `no-deletion-from-slot-fixes`
**Severity**: **CRITICAL**
This file serves as a persistent audit log and migration tracking registry. ## Core Directive
**Protocol**: **NEVER delete entries from `slot_fixes.yaml`.**
1. **Process** the migration specified in the `revision` section.
2. **Update** the `processed` section: The `slot_fixes.yaml` file serves as the historical record and audit trail for all schema migrations. Removing entries destroys this history and violates the project's data integrity principles.
## Workflow
When processing a migration:
1. **Do NOT Remove**: Never delete the entry for the slot you are working on.
2. **Update `processed`**: Instead, update the `processed` block:
* Set `status: true`. * Set `status: true`.
* Add a `notes` field describing the action taken (e.g., "Migrated to has_or_had_name + PersonName class. Slot archived."). * Set `date` to the current date (YYYY-MM-DD).
* Add a `date` field (YYYY-MM-DD). * Add a detailed `notes` string explaining what was done (e.g., "Fully migrated to [new_slot] + [Class] (Rule 53). [File].yaml updated. Slot archived.").
3. **Keep** the original entry intact. 3. **Preserve History**: The entry must remain in the file permanently as a record of the migration.
**Forbidden**: ## Rationale
* ❌ Deleting a processed block.
* ❌ Removing an entry because the slot file doesn't exist (mark as processed with note "Slot file not found, skipped"). * **Audit Trail**: We need to know what was migrated, when, and how.
* **Reversibility**: If a migration introduces a bug, the record helps us understand the original state.
* **Completeness**: The file tracks the total progress of the schema refactoring project.
## Example
**WRONG (Deletion)**:
```yaml
# DELETED from file
# - original_slot_id: ...
```
**CORRECT (Update)**:
```yaml
- original_slot_id: https://nde.nl/ontology/hc/slot/has_some_slot
processed:
status: true
date: '2026-01-27'
notes: Fully migrated to has_or_had_new_slot + NewClass (Rule 53).
revision:
...
```

View file

@ -0,0 +1,29 @@
# Rule: Slot Fixes File is Authoritative
**Scope:** Schema Migration / Slot Fixes
**Description:**
The file `/Users/kempersc/apps/glam/data/fixes/slot_fixes.yaml` is the **single authoritative source** for tracking slot migrations and fixes.
**Directives:**
1. **Authoritative Source:** Always read and update `/Users/kempersc/apps/glam/data/fixes/slot_fixes.yaml`. Do NOT use `schemas/.../slot_fixes.yaml` as the master list (though you may need to sync them if they diverge, the `data/fixes` version takes precedence).
2. **Processed Status:** When a slot migration is completed (schema updated, data migrated), you MUST update the entry in `slot_fixes.yaml` with a `processed` block containing:
* `status: true`
* `date: 'YYYY-MM-DD'`
* `notes`: Brief description of what was done.
3. **NEVER DELETE:** You MUST NOT delete entries from `slot_fixes.yaml`. Even if a slot is removed from the schema, the record of its fix MUST remain in this file with `status: true`.
4. **Format Compliance:** New slots added during migration must follow proper LinkML format conventions and use `slot_uri` and mappings (`exact_mappings`, `close_mappings`) that reference **legitimate predicates and classes found in `/Users/kempersc/apps/glam/data/ontology/`**.
**Example of Processed Entry:**
```yaml
- original_slot_id: https://nde.nl/ontology/hc/slot/has_old_slot
revision:
- label: has_new_slot
type: slot
- label: NewClass
type: class
processed:
status: true
date: '2026-01-27'
notes: Migrated to has_new_slot + NewClass. Old slot archived.
```

View file

@ -4806,3 +4806,9 @@ def test_historical_addition():
**Schema Version**: v0.2.1 (modular) **Schema Version**: v0.2.1 (modular)
**Last Updated**: 2025-12-08 **Last Updated**: 2025-12-08
**Maintained By**: GLAM Data Extraction Project **Maintained By**: GLAM Data Extraction Project
### Rule 61: Slot Fixes Authoritative File
🚨 **CRITICAL**: The file `/Users/kempersc/apps/glam/data/fixes/slot_fixes.yaml` is the AUTHORITATIVE source for slot migrations. NEVER delete entries from this file. Always mark completed migrations with `processed: {status: true}`.
**See**: `.opencode/rules/slot-fixes-authoritative-rule.md` for complete documentation

19045
data/fixes/bu/slot_fixes.yaml Normal file

File diff suppressed because it is too large Load diff

18229
data/fixes/slot_fixes.yaml Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,5 @@
{ {
"generated": "2026-01-27T10:50:25.504Z", "generated": "2026-01-27T21:17:12.304Z",
"schemaRoot": "/schemas/20251121/linkml", "schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 3000, "totalFiles": 3000,
"categoryCounts": { "categoryCounts": {

82
restore_slot_fixes.py Normal file
View file

@ -0,0 +1,82 @@
import yaml
import os
def load_yaml(path):
with open(path, 'r') as f:
return yaml.safe_load(f) or {}
def save_yaml(data, path):
with open(path, 'w') as f:
yaml.dump(data, f, sort_keys=False, allow_unicode=True)
def merge_slot_fixes():
full_path = 'slot_fixes_backup_full.yaml'
current_path = 'slot_fixes_current.yaml'
target_path = 'schemas/20251121/linkml/modules/slots/slot_fixes.yaml'
full_data = load_yaml(full_path)
current_data = load_yaml(current_path)
full_list = full_data.get('fixes', []) if isinstance(full_data, dict) else full_data
current_list = current_data.get('fixes', []) if isinstance(current_data, dict) else current_data
# Normalize structure if it's a list at root vs dict with 'fixes' key
# The standard seems to be a list, but let's check
if not isinstance(full_list, list):
# Maybe it's a list at root
full_list = full_data if isinstance(full_data, list) else []
if not isinstance(current_list, list):
current_list = current_data if isinstance(current_data, list) else []
print(f"Loaded {len(full_list)} entries from backup.")
print(f"Loaded {len(current_list)} entries from current file.")
# Map current entries by original_slot_id for easy lookup
current_map = {}
for entry in current_list:
if 'original_slot_id' in entry:
current_map[entry['original_slot_id']] = entry
elif 'orignal_slot_id' in entry: # Handle typo found in previous edits
current_map[entry['orignal_slot_id']] = entry
# Merge strategy:
# 1. Start with full backup list
# 2. Update matching entries with current version
# 3. Track which current entries were used
merged_list = []
processed_ids = set()
for entry in full_list:
slot_id = entry.get('original_slot_id') or entry.get('orignal_slot_id')
if slot_id and slot_id in current_map:
# Use the CURRENT version (contains recent updates)
merged_list.append(current_map[slot_id])
processed_ids.add(slot_id)
else:
# Use the BACKUP version (restoring deleted entry)
merged_list.append(entry)
# 4. Add any NEW entries from current that weren't in backup
for entry in current_list:
slot_id = entry.get('original_slot_id') or entry.get('orignal_slot_id')
if slot_id and slot_id not in processed_ids:
print(f"Adding new entry not in backup: {slot_id}")
merged_list.append(entry)
print(f"Total entries in merged file: {len(merged_list)}")
# Save result
# Check if the original file format was a list or dict
if isinstance(full_data, dict) and 'fixes' in full_data:
output_data = {'fixes': merged_list}
else:
output_data = merged_list
save_yaml(output_data, target_path)
print("Successfully restored slot_fixes.yaml")
if __name__ == "__main__":
merge_slot_fixes()

View file

@ -6,8 +6,14 @@ prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
org: http://www.w3.org/ns/org# org: http://www.w3.org/ns/org#
schema: http://schema.org/ schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
default_prefix: hc default_prefix: hc
slots: slots:
has_or_had_admin_staff_count: has_or_had_admin_staff_count:
@ -27,3 +33,5 @@ slots:
custodian_types_primary: M custodian_types_primary: M
specificity_score: 0.5 specificity_score: 0.5
specificity_rationale: Moderately specific slot. specificity_rationale: Moderately specific slot.
exact_mappings:
- hc:hasOrHadAdminStaffCount

View file

@ -0,0 +1,37 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_admission_fee
name: has_or_had_admission_fee_slot
title: Has Or Had Admission Fee Slot
prefixes:
gr: http://purl.org/goodrelations/v1#
hc: https://nde.nl/ontology/hc/
linkml: https://w3id.org/linkml/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_admission_fee:
description: "Admission fee charged by the institution. Temporal as fees change. A string describing the fee amount or structure (free, \u20AC10, \u20AC5-15, etc.)."
range: string
slot_uri: hc:hasOrHadAdmissionFee
close_mappings:
- schema:price
- schema:priceRange
related_mappings:
- schema:offers
- gr:hasPriceSpecification
comments:
- schema:offers links to Offer objects, not fee amounts directly. An admission fee is a specific price value, not an offer.
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Applicable to all heritage custodian types.
custodian_types_primary: M
specificity_score: 0.5
specificity_rationale: Moderately specific slot.

View file

@ -6,8 +6,14 @@ prefixes:
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
prov: http://www.w3.org/ns/prov# prov: http://www.w3.org/ns/prov#
schema: http://schema.org/
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
default_prefix: hc default_prefix: hc
slots: slots:
has_or_had_assigned_processor: has_or_had_assigned_processor:

View file

@ -0,0 +1,33 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_classification
name: has_or_had_classification_slot
title: has_or_had_classification slot
description: "Generic temporal classification slot following RiC-O naming pattern. Used for various classification schemes (biological, organizational, etc.).\nReplaces bespoke classification slots per Rule 53/56: - bio_type_classification \u2192 has_or_had_classification (in OutdoorSite)"
version: 1.0.0
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
skos: http://www.w3.org/2004/02/skos/core#
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_classification:
slot_uri: schema:additionalType
description: "Classification or categorization scheme value. Uses schema:additionalType for type classification compatibility.\nClasses narrow this slot's range via slot_usage to specific enum types: - OutdoorSite \u2192 BioCustodianTypeEnum (biological/botanical classification)"
range: uriorcurie
multivalued: true
exact_mappings:
- schema:additionalType
close_mappings:
- skos:Concept
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -0,0 +1,45 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_comprehensive_overview
name: has_or_had_comprehensive_overview_slot
title: Has Or Had Comprehensive Overview Slot
description: 'Generic slot for linking to comprehensive overview collections.
Follows RiC-O temporal naming convention to indicate the relationship may be current or historical.'
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
dcterms: http://purl.org/dc/terms/
schema: http://schema.org/
rico: https://www.ica.org/standards/RiC/ontology#
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
- ../classes/Overview
default_prefix: hc
slots:
has_or_had_comprehensive_overview:
description: "Links an entity to a comprehensive overview collection of resources.\nFollows RiC-O temporal naming convention (`hasOrHad*`) to indicate the relationship may be current or historical.\n**USAGE**:\n```yaml finding_aid:\n has_or_had_comprehensive_overview:\n id: hc:overview/findingaid-links\n title: \"All Links\"\n includes_or_included:\n - url: https://example.org/link1\n link_text: \"Related Resource\"\n```\n**DESIGN RATIONALE**:\nThis is a GENERIC slot for linking to comprehensive collections of resources. Replaces domain-specific slots like `all_links` with a typed relationship to an `Overview` class.\n**MIGRATION NOTE** (2026-01-14):\nCreated as replacement for `all_links` slot. The new pattern: - Uses typed `Overview` class instead of untyped string list - Uses `includes_or_included` for WebLink composition - Enables richer metadata about link collections\n**ONTOLOGY ALIGNMENT**:\n- `dcterms:hasPart` - Dublin Core part-whole relationship - `schema:hasPart`\
\ - Schema.org containment - `rico:hasOrHadPart` - RiC-O temporal containment"
range: Overview
multivalued: false
inlined: true
slot_uri: dcterms:hasPart
exact_mappings:
- dcterms:hasPart
close_mappings:
- schema:hasPart
- rico:hasOrHadPart
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Comprehensive overviews applicable to all heritage custodian types.
custodian_types_primary: A
specificity_score: 0.35
specificity_rationale: Low-moderate specificity - applicable across many contexts where comprehensive resource collections are needed.
comments:
- Replaces all_links slot
- Uses Overview class for typed collection
- Created from slot_fixes.yaml migration (2026-01-14)

View file

@ -0,0 +1,115 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_custodian_type
name: has_or_had_custodian_type_slot
title: Has Or Had Custodian Type Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
org: http://www.w3.org/ns/org#
rov: http://www.w3.org/ns/regorg#
skos: http://www.w3.org/2004/02/skos/core#
crm: http://www.cidoc-crm.org/cidoc-crm/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
rdfs: http://www.w3.org/2000/01/rdf-schema#
xsd: http://www.w3.org/2001/XMLSchema#
default_prefix: hc
imports:
- linkml:types
- ../classes/CustodianType
slots:
has_or_had_custodian_type:
slot_uri: org:classification
description: "The organizational type classification(s) of a heritage custodian within\nthe GLAMORCUBESFIXPHDNT taxonomy.\n\n**Predicate Semantics**:\nThis slot uses org:classification as its primary predicate, which links\nan organization to its type classification(s) using SKOS concepts.\n\n**Temporal Semantics** (RiC-O Pattern):\nThe \"hasOrHad\" naming follows RiC-O convention indicating this relationship\nmay be historical - an institution may have changed type over time\n(e.g., a library becoming a museum, or a mixed institution).\n\n**Ontological Alignment**:\n- **Primary** (`slot_uri`): `org:classification` - W3C Organization Ontology\n predicate for organizational classification (range: skos:Concept)\n- **Close**: `rov:orgType` - Registered Organization Vocabulary predicate\n (subPropertyOf org:classification, for legal entity types like GmbH, Ltd)\n- **Related**: `crm:P2_has_type` - CIDOC-CRM predicate for typing entities\n (domain: E1_CRM_Entity, range: E55_Type)\n- **Related**:\
\ `schema:additionalType` - Schema.org predicate for additional\n type classification beyond the primary @type\n- **Broad**: `dcterms:type` - Dublin Core predicate for resource type\n\n**Range**:\nValues are instances of `CustodianType` or its 19 subclasses:\n\n| Code | Subclass | Wikidata | Description |\n|------|--------------------------------|-----------|--------------------------------|\n| A | ArchiveOrganizationType | Q166118 | Archives |\n| B | BioCustodianType | Q167346 | Botanical gardens, zoos |\n| C | CommercialOrganizationType | Q6881511 | Corporate archives |\n| D | DigitalPlatformType | Q3565794 | Digital platforms |\n| E | EducationProviderType | Q3152824 | Educational institutions |\n| F | FeatureCustodianType | Q4989906 | Monuments, memorials |\n| G | GalleryType \
\ | Q1007870 | Art galleries |\n| H | HolySacredSiteType | Q1370598 | Religious heritage sites |\n| I | IntangibleHeritageGroupType | Q59544 | Intangible heritage orgs |\n| L | LibraryType | Q7075 | Libraries |\n| M | MuseumType | Q33506 | Museums |\n| N | NonProfitType | Q163740 | NGOs, advocacy groups |\n| O | OfficialInstitutionType | Q2659904 | Government agencies |\n| P | PersonalCollectionType | Q2668072 | Private collections |\n| R | ResearchOrganizationType | Q31855 | Research institutes |\n| S | HeritageSocietyType | Q476068 | Historical societies |\n| T | TasteScentHeritageType | Q5765838 | Culinary/olfactory heritage |\n| U | UnspecifiedType | Q35120 | Unknown\
\ type |\n| X | MixedCustodianType | Q35120 | Multiple types combined |\n\nEach CustodianType subclass provides:\n- Wikidata Q-number alignment (via schema:additionalType)\n- Multilingual labels (skos:prefLabel, skos:altLabel)\n- Hierarchical relationships (skos:broader, skos:narrower)\n- GHCID single-letter code derivation\n\n**Cardinality**:\nMultivalued - institutions may have multiple types (e.g., museum + archive).\nUse MixedCustodianType (X) for institutions with complex multi-type identity.\n"
range: CustodianType
required: false
multivalued: true
inlined_as_list: true
exact_mappings:
- org:classification
close_mappings:
- rov:orgType
related_mappings:
- crm:P2_has_type
- schema:additionalType
broad_mappings:
- dcterms:type
annotations:
rico_naming_convention: 'Follows RiC-O "hasOrHad" pattern for temporal predicates.
See Rule 39: Slot Naming Convention (RiC-O Style)
'
replaces_slots: custodian_type, custodian_types
migration_date: '2026-01-09'
predicate_clarification: 'slot_uri and mappings reference PREDICATES (properties), not classes.
- org:classification is a PREDICATE (links Organization to Concept)
- CustodianType is a CLASS (the range of valid values)
'
range_note: 'Range is CustodianType (abstract class). Valid values are the 19
CustodianType subclasses defined in modules/classes/:
- ArchiveOrganizationType.yaml
- BioCustodianType.yaml
- CommercialOrganizationType.yaml
- DigitalPlatformType.yaml
- EducationProviderType.yaml
- FeatureCustodianType.yaml
- GalleryType.yaml
- HolySacredSiteType.yaml
- IntangibleHeritageGroupType.yaml
- LibraryType.yaml
- MuseumType.yaml
- NonProfitType.yaml (N)
- OfficialInstitutionType.yaml
- PersonalCollectionType.yaml
- ResearchOrganizationType.yaml
- HeritageSocietyType.yaml
- TasteScentHeritageType.yaml
- UnspecifiedType.yaml
- MixedCustodianType.yaml
'
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
comments:
- Unified slot replacing custodian_type (singular) and custodian_types (plural)
- slot_uri=org:classification is a PREDICATE, not a class
- range=CustodianType is an ABSTRACT CLASS - valid values are its 19 subclasses
- 'RiC-O naming: hasOrHad indicates potentially historical relationship'
- 'Multivalued: institutions may have multiple type classifications'
examples:
- value: hc:MuseumType
description: Art museum classification (M code)
- value: hc:ArchiveOrganizationType
description: Archive classification (A code)
- value: '[hc:MuseumType, hc:ArchiveOrganizationType]'
description: Mixed institution with both museum and archive functions
- value: hc:MixedCustodianType
description: Explicit mixed type when institution defies single categorization (X code)

View file

@ -1,68 +1,83 @@
# has_or_had_precision slot
# Generic temporal-aware slot for timestamp precision levels
#
# Generation date: 2026-01-15
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 42 (no prefix), 43 (singular noun)
# Migrated from: timestamp_precision per slot_fixes.yaml (Rule 53)
id: https://nde.nl/ontology/hc/slot/has_or_had_precision id: https://nde.nl/ontology/hc/slot/has_or_had_precision
name: has_or_had_precision_slot name: has_or_had_precision_slot
title: Has Or Had Precision Slot title: Has Or Had Precision Slot
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
time: http://www.w3.org/2006/time# time: http://www.w3.org/2006/time#
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
slots: slots:
has_or_had_precision: has_or_had_precision:
slot_uri: time:unitType slot_uri: time:unitType
description: | description: 'The precision level of a timestamp or measurement.
The precision level of a timestamp or measurement.
Generic temporal-aware slot following RiC-O naming convention (Rule 39). Generic temporal-aware slot following RiC-O naming convention (Rule 39).
The "has_or_had" phrasing indicates the precision may apply to: The "has_or_had" phrasing indicates the precision may apply to:
- Current timestamps (active records) - Current timestamps (active records)
- Historical timestamps (past events) - Historical timestamps (past events)
**Ontological Alignment**: **Ontological Alignment**:
- **Primary** (`slot_uri`): `time:unitType` - OWL Time unit type - **Primary** (`slot_uri`): `time:unitType` - OWL Time unit type
**Values**: **Values**:
- year: Precision to the year - year: Precision to the year
- month: Precision to the month - month: Precision to the month
- day: Precision to the day - day: Precision to the day
- hour: Precision to the hour - hour: Precision to the hour
- minute: Precision to the minute - minute: Precision to the minute
- second: Precision to the second - second: Precision to the second
- millisecond: Precision to the millisecond - millisecond: Precision to the millisecond
**Usage**: **Usage**:
Used alongside `has_or_had_timestamp` to indicate the granularity Used alongside `has_or_had_timestamp` to indicate the granularity
of the timestamp value. Can often be auto-derived from timestamp of the timestamp value. Can often be auto-derived from timestamp
format if not explicitly provided. format if not explicitly provided.
'
range: string range: string
required: false required: false
multivalued: false multivalued: false
exact_mappings: exact_mappings:
- time:unitType - time:unitType
annotations: annotations:
migration_date: "2026-01-15" migration_date: '2026-01-15'
migrated_from: timestamp_precision migrated_from: timestamp_precision
rule_reference: "Rule 39: RiC-O temporal naming convention" rule_reference: 'Rule 39: RiC-O temporal naming convention'
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
examples: examples:
- value: "year" - value: year
description: "Year precision (e.g., '1995')" description: Year precision (e.g., '1995')
- value: "day" - value: day
description: "Day precision (e.g., '1995-06-15')" description: Day precision (e.g., '1995-06-15')
- value: "second" - value: second
description: "Second precision (e.g., '1995-06-15T10:30:00Z')" description: Second precision (e.g., '1995-06-15T10:30:00Z')

View file

@ -4,8 +4,16 @@ title: Product Categories Slot
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
default_prefix: hc default_prefix: hc
slots: slots:
has_or_had_product_category: has_or_had_product_category:
@ -39,3 +47,9 @@ slots:
range: ProductCategoryEnum range: ProductCategoryEnum
multivalued: true multivalued: true
slot_uri: hc:productCategories slot_uri: hc:productCategories
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- hc:productCategories

View file

@ -0,0 +1,55 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_registration_number
name: has_or_had_registration_number_slot
imports:
- linkml:types
slots:
has_or_had_registration_number:
slot_uri: rov:registration
range: RegistrationNumber
multivalued: true
description: 'Official registration numbers assigned by authorities (Chamber of Commerce,
charity registration, company registration, etc.).
Organizations can have multiple registrations in different systems.
Each registration has temporal validity to track changes over time.
Links to RegistrationNumber class which includes:
- number: The actual registration number
- type: Type of registration (KvK, EIN, charity number, etc.)
- temporal_validity: Time period when registration is/was valid
'
comments:
- Replaces deprecated registration_number (singular) and registration_date slots
- Temporal validity now captured in RegistrationNumber.temporal_validity
- Multiple registrations common for organizations operating in multiple jurisdictions
exact_mappings:
- rov:registration
close_mappings:
- schema:identifier
- tooi:organisatieIdentificatie
examples:
- value: "- number: \"41215422\"\n type: \"KvK\"\n temporal_validity:\n begin_of_the_begin: \"1885-07-01\"\n"
description: Dutch Chamber of Commerce registration for Rijksmuseum
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#

View file

@ -5,8 +5,16 @@ prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
default_prefix: hc default_prefix: hc
slots: slots:
has_or_had_related_archive: has_or_had_related_archive:
@ -15,3 +23,9 @@ slots:
range: ArchiveReference range: ArchiveReference
multivalued: true multivalued: true
inlined_as_list: true inlined_as_list: true
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- rico:isRelatedTo

View file

@ -5,8 +5,16 @@ prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
default_prefix: hc default_prefix: hc
slots: slots:
has_or_had_related_guide: has_or_had_related_guide:
@ -15,3 +23,9 @@ slots:
range: RelatedGuideReference range: RelatedGuideReference
multivalued: true multivalued: true
inlined_as_list: true inlined_as_list: true
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- rico:isRelatedTo

View file

@ -5,8 +5,15 @@ prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov# prov: http://www.w3.org/ns/prov#
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
default_prefix: hc default_prefix: hc
slots: slots:
has_or_had_research_attempt: has_or_had_research_attempt:
@ -45,3 +52,9 @@ slots:
range: string range: string
multivalued: true multivalued: true
slot_uri: prov:wasGeneratedBy slot_uri: prov:wasGeneratedBy
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- prov:wasGeneratedBy

View file

@ -0,0 +1,41 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_safeguard
name: has_or_had_safeguard_slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
crm: http://www.cidoc-crm.org/cidoc-crm/
owl: http://www.w3.org/2002/07/owl#
ich: https://ich.unesco.org/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
- ../classes/IntangibleHeritageForm
slots:
has_or_had_safeguard:
slot_uri: crm:P109_has_current_or_former_curator
description: "Intangible heritage forms that this custodian safeguards/preserves.\n\nWe use the inverse direction: Custodian \u2192 IntangibleHeritageForm\n\n**UNESCO 2003 Convention Context**:\n\n\"Safeguarding\" in the intangible heritage context means measures aimed at ensuring\nthe viability of intangible cultural heritage, including:\n- Identification and documentation\n- Research and preservation\n- Protection and promotion\n- Enhancement and transmission (especially through formal and non-formal education)\n- Revitalization of various aspects of such heritage\n\n**Usage**:\n\n- Custodians with `institution_type = I` (Intangible Heritage Group) typically safeguard heritage forms\n- Custodians with `institution_type = T` (Taste/Smell) may also safeguard culinary traditions\n- Other custodian types may occasionally safeguard heritage forms as secondary activity\n\n**Examples**:\n- Stichting Amsterdam Gay Pride safeguards Pride Amsterdam\n- Gilde Sint Joris Heemkundige Kring safeguards\
\ local folklore traditions\n- Bakkerij van Maanen safeguards traditional Dutch baking methods"
range: IntangibleHeritageForm
multivalued: true
inlined: false
exact_mappings:
- crm:P109_has_current_or_former_curator
related_mappings:
- ich:safeguardedBy
- schema:maintainer
comments:
- Inverse of safeguarded_by (crm:P109i_is_current_or_former_curator_of)
- Creates owl:inverseOf axiom in RDF output
- Enables navigation from Custodian to heritage forms they preserve
- 'Inverse: `safeguarded_by` (crm:P109i_is_current_or_former_curator_of) | Pattern: If Custodian safeguards HeritageForm, then HeritageForm safeguarded_by Custodian'
annotations:
inverse_slot: safeguarded_by
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -4,9 +4,17 @@ title: Scene Segments Slot
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
- ../classes/VideoTimeSegment - ../classes/VideoTimeSegment
default_prefix: hc default_prefix: hc
slots: slots:
has_or_had_scene_segment: has_or_had_scene_segment:
@ -28,3 +36,9 @@ slots:
range: VideoTimeSegment range: VideoTimeSegment
multivalued: true multivalued: true
slot_uri: hc:sceneSegments slot_uri: hc:sceneSegments
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- hc:sceneSegments

View file

@ -4,9 +4,17 @@ title: Secondary Systems Slot
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
- ../classes/DigitalPlatform - ../classes/DigitalPlatform
default_prefix: hc default_prefix: hc
slots: slots:
has_or_had_secondary_system: has_or_had_secondary_system:
@ -27,3 +35,9 @@ slots:
' '
range: DigitalPlatform range: DigitalPlatform
slot_uri: hc:secondarySystems slot_uri: hc:secondarySystems
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- hc:secondarySystems

View file

@ -0,0 +1,29 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_section_link
name: has_or_had_section_link_slot
title: Section Links Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_section_link:
slot_uri: schema:relatedLink
description: Links within this section
range: PageLink
multivalued: true
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- schema:relatedLink

View file

@ -0,0 +1,53 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_short_code
name: has_or_had_short_code_slot
title: Has Or Had Short Code Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
dcterms: http://purl.org/dc/terms/
schema: http://schema.org/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
default_prefix: hc
imports:
- linkml:types
slots:
has_or_had_short_code:
slot_uri: skos:notation
description: "Short code or notation for a type classification.\n\n**Temporal Semantics** (RiC-O Pattern):\nThe \"hasOrHad\" naming follows RiC-O convention indicating this relationship\nmay be historical - a type's code may change over time.\n\n**Ontological Alignment**:\n- **Primary** (`slot_uri`): `skos:notation` - SKOS notation for\n coding system identifiers\n- **Related**: `dcterms:identifier` - Dublin Core identifier\n\n**Format**:\nTypically uppercase with underscores (e.g., ARCHIVE_DEPOT, COLD_STORAGE).\nCodes align with enum values for backward compatibility.\n\n**Pattern**:\n^[A-Z][A-Z0-9_]*$ - Uppercase letters, digits, and underscores\n"
range: string
required: false
multivalued: false
pattern: ^[A-Z][A-Z0-9_]*$
exact_mappings:
- skos:notation
related_mappings:
- dcterms:identifier
annotations:
rico_naming_convention: 'Follows RiC-O "hasOrHad" pattern for temporal predicates.
See Rule 39: Slot Naming Convention (RiC-O Style)
'
replaces_slots: storage_type_code
migration_date: '2026-01-13'
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
comments:
- Generic short code slot for type classifications
- Maps to skos:notation for controlled vocabulary codes
- 'Pattern: uppercase with underscores (ARCHIVE_DEPOT)'
- Codes align with enum values for backward compatibility
- 'RiC-O naming: hasOrHad indicates potentially historical relationship'
examples:
- value: ARCHIVE_DEPOT
description: Archive depot storage type code
- value: COLD_STORAGE
description: Cold storage type code
- value: CLIMATE_CONTROLLED
description: Climate controlled zone type code

View file

@ -4,9 +4,17 @@ title: Silence Segments Slot
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
- ../classes/VideoTimeSegment - ../classes/VideoTimeSegment
default_prefix: hc default_prefix: hc
slots: slots:
has_or_had_silence_segment: has_or_had_silence_segment:
@ -28,3 +36,9 @@ slots:
range: VideoTimeSegment range: VideoTimeSegment
multivalued: true multivalued: true
slot_uri: hc:silenceSegments slot_uri: hc:silenceSegments
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- hc:silenceSegments

View file

@ -4,8 +4,16 @@ title: Sound Event Types Slot
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
default_prefix: hc default_prefix: hc
slots: slots:
has_or_had_sound_event_type: has_or_had_sound_event_type:
@ -30,3 +38,9 @@ slots:
range: SoundEventTypeEnum range: SoundEventTypeEnum
multivalued: true multivalued: true
slot_uri: hc:soundEventTypes slot_uri: hc:soundEventTypes
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- hc:soundEventTypes

View file

@ -4,8 +4,16 @@ title: Speech Segments Slot
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
default_prefix: hc default_prefix: hc
slots: slots:
has_or_had_speech_segment: has_or_had_speech_segment:
@ -27,3 +35,9 @@ slots:
range: SpeechSegment range: SpeechSegment
multivalued: true multivalued: true
slot_uri: hc:speechSegments slot_uri: hc:speechSegments
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- hc:speechSegments

View file

@ -0,0 +1,31 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_storage_facility
name: has_or_had_storage_facility_slot
title: Storage Facilities Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
- ../classes/Storage
default_prefix: hc
slots:
has_or_had_storage_facility:
slot_uri: premis:storedAt
range: Storage
multivalued: true
inlined_as_list: true
description: Storage facilities operated by this custodian for heritage collections.
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- premis:storedAt

View file

@ -4,8 +4,16 @@ title: Strategic Objectives Slot
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
default_prefix: hc default_prefix: hc
slots: slots:
has_or_had_strategic_objective: has_or_had_strategic_objective:
@ -25,3 +33,9 @@ slots:
Extracted from official agenda documentation. Extracted from official agenda documentation.
' '
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- org:purpose

View file

@ -0,0 +1,33 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_sub_guide
name: has_or_had_sub_guide_slot
title: Sub Guides Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
rico: https://www.ica.org/standards/RiC/ontology#
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_sub_guide:
slot_uri: rico:directlyIncludes
description: Sub-guides or related finding aids within this repository
range: SubGuideReference
multivalued: true
inlined_as_list: true
comments:
- rico:includes does not exist - use rico:directlyIncludes or rico:includesOrIncluded
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- rico:directlyIncludes

View file

@ -0,0 +1,29 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_sub_section
name: has_or_had_sub_section_slot
title: Sub Sections Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_sub_section:
slot_uri: schema:hasPart
description: Nested sub-sections
range: PageSection
multivalued: true
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- schema:hasPart

View file

@ -4,8 +4,16 @@ title: Text Regions Slot
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
default_prefix: hc default_prefix: hc
slots: slots:
has_or_had_text_region: has_or_had_text_region:
@ -29,3 +37,9 @@ slots:
range: TextRegion range: TextRegion
multivalued: true multivalued: true
slot_uri: hc:textRegions slot_uri: hc:textRegions
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- hc:textRegions

View file

@ -5,8 +5,15 @@ prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/ schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
default_prefix: hc default_prefix: hc
slots: slots:
has_or_had_thematic_route: has_or_had_thematic_route:
@ -36,3 +43,9 @@ slots:
- Creative Europe: 3 strands (Culture, Media, Cross-sectoral) - Creative Europe: 3 strands (Culture, Media, Cross-sectoral)
' '
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- schema:hasPart

View file

@ -0,0 +1,31 @@
id: https://nde.nl/ontology/hc/slot/has_outdoor_seating
name: has_outdoor_seating_slot
title: has_outdoor_seating slot
version: 1.0.0
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
default_prefix: hc
slots:
has_outdoor_seating:
slot_uri: schema:amenityFeature
description: 'Whether facility has outdoor/terrace seating.
'
range: boolean
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- schema:amenityFeature

View file

@ -0,0 +1,30 @@
id: https://nde.nl/ontology/hc/slot/has_publication_series
name: has_publication_series_slot
title: Has Publication Series Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
default_prefix: hc
slots:
has_publication_series:
description: 'Whether this research center publishes a regular publication series.
'
range: boolean
slot_uri: hc:hasPublicationSeries
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- hc:hasPublicationSeries

View file

@ -0,0 +1,30 @@
id: https://nde.nl/ontology/hc/slot/has_research_library
name: has_research_library_slot
title: Has Research Library Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
default_prefix: hc
slots:
has_research_library:
description: 'Whether this research center maintains a specialized research library.
'
range: boolean
slot_uri: hc:hasResearchLibrary
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- hc:hasResearchLibrary

View file

@ -6,8 +6,15 @@ prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/ schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
default_prefix: hc default_prefix: hc
slots: slots:
has_security_system: has_security_system:
@ -19,3 +26,9 @@ slots:
' '
range: boolean range: boolean
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- schema:amenityFeature

View file

@ -4,9 +4,17 @@ title: Has Sub Branch Slot
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
- ../classes/OrganizationBranch - ../classes/OrganizationBranch
default_prefix: hc default_prefix: hc
slots: slots:
has_sub_branch: has_sub_branch:
@ -21,3 +29,9 @@ slots:
' '
range: OrganizationBranch range: OrganizationBranch
slot_uri: hc:hasSubBranch slot_uri: hc:hasSubBranch
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- hc:hasSubBranch

View file

@ -0,0 +1,43 @@
id: https://nde.nl/ontology/hc/slot/has_unit
name: has_unit
title: Has Organizational Unit
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
org: http://www.w3.org/ns/org#
owl: http://www.w3.org/2002/07/owl#
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
- ../classes/OrganizationalStructure
slots:
has_unit:
slot_uri: org:hasUnit
description: "Organizational units (departments, divisions, teams) that are part of \nthis organizational structure.\n\n**Hierarchical Navigation**:\n- Down: has_unit \u2192 child units\n- Up: parent_unit \u2192 parent unit"
range: OrganizationalStructure
multivalued: true
exact_mappings:
- org:hasUnit
related_mappings:
- crm:P148_has_component
- rico:includesOrIncluded
- rdf:type
comments:
- Inverse of parent_unit (org:unitOf)
- Enables top-down navigation of organizational hierarchy
- Creates owl:inverseOf axiom in RDF output
- 'Inverse: `parent_unit` (org:unitOf) | Pattern: If A hasUnit B, then B unitOf A'
annotations:
inverse_slot: parent_unit
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
examples:
- value: "OrganizationalStructure:\n unit_name: \"Collections Division\"\n has_unit:\n - unit_name: \"Paintings\\ \\ Department\"\n - unit_name: \"Prints and Drawings Department\"\n - unit_name: \"Applied Arts Depart...\n"
description: Usage example

View file

@ -0,0 +1,33 @@
id: https://nde.nl/ontology/hc/slot/hazard
name: hazard_slot
title: Hazards Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
default_prefix: hc
slots:
hazard:
description: 'Hazards or safety concerns in the space.
Aligned with schema:warning.
'
slot_uri: schema:warning
range: string
multivalued: true
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- schema:warning

View file

@ -0,0 +1,37 @@
id: https://nde.nl/ontology/hc/slot/hc_id
name: hc_id-slot
imports:
- linkml:types
slots:
hc_id:
description: "The persistent identifier for a heritage custodian entity in the NDE Heritage \nCustodian ontology. This is the core identifier that serves as the hub connecting\nall observations, reconstructions, and names related to this custodian.\n\nFormat: https://nde.nl/ontology/hc/{abstracted-ghcid}\nExample: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804\n\nThe ID is derived from the GHCID pattern but abstracted/normalized for use\nas a persistent URI in the ontology namespace.\n"
slot_uri: dcterms:identifier
range: uriorcurie
required: true
identifier: true
pattern: ^https://nde\.nl/ontology/hc/[a-z0-9-]+$
comments:
- This is THE identifying property for custodian entities. All other properties and relationships connect through this hub identifier.
- The path component after /hc/ is an abstracted, lowercased, hyphenated version of the GHCID pattern (country-region-city-type-abbrev-qnumber).
see_also:
- https://nde.nl/ontology/hc/
- https://www.dublincore.org/specifications/dublin-core/dcmi-terms/#identifier
broad_mappings:
- dcterms:identifier
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- dcterms:identifier
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#

View file

@ -0,0 +1,43 @@
id: https://nde.nl/ontology/hc/slot/hc_preset_uri
name: hc_preset_uri_slot
title: HC Ontology Preset URI Slot
description: 'Slot for referencing Heritage Custodian ontology environmental preset individuals.
These presets are defined in hc-storage.ttl and provide standard environmental
configurations for heritage preservation contexts.
'
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
default_prefix: hc
slots:
hc_preset_uri:
description: "URI of the corresponding HC ontology environmental preset individual.\n\nThese presets define standard environmental parameters for heritage storage.\n\nExample presets:\n- hc:StandardArchiveEnvironment (18\xB0C, 50% RH)\n- hc:ColdStorageEnvironment (-5\xB0C, 30% RH)\n- hc:PhotographicMaterialsEnvironment (15\xB0C, 35% RH)\n- hc:TextileStorageEnvironment (18\xB0C, 50% RH, 50 lux)\n"
range: string
slot_uri: skos:exactMatch
examples:
- value: hc:StandardArchiveEnvironment
description: "Standard archive storage preset (18\xB0C, 50% RH)"
- value: hc:ColdStorageEnvironment
description: "Cold storage preset (-5\xB0C, 30% RH)"
- value: hc:PhotographicMaterialsEnvironment
description: "Photographic materials storage preset (15\xB0C, 35% RH)"
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- skos:exactMatch

View file

@ -0,0 +1,28 @@
id: https://nde.nl/ontology/hc/slot/heading_level
name: heading_level_slot
title: Heading Level Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
default_prefix: hc
slots:
heading_level:
slot_uri: hc:headingLevel
description: Heading level (1-6 for h1-h6)
range: integer
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- hc:headingLevel

View file

@ -0,0 +1,28 @@
id: https://nde.nl/ontology/hc/slot/heading_text
name: heading_text_slot
title: Heading Text Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
dcterms: http://purl.org/dc/terms/
schema: http://schema.org/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
default_prefix: hc
slots:
heading_text:
slot_uri: dcterms:title
description: Text of the section heading (original language)
range: string
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- dcterms:title

View file

@ -0,0 +1,28 @@
id: https://nde.nl/ontology/hc/slot/heading_text_en
name: heading_text_en_slot
title: Heading Text En Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
dcterms: http://purl.org/dc/terms/
schema: http://schema.org/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
default_prefix: hc
slots:
heading_text_en:
slot_uri: dcterms:title
description: English translation of heading
range: string
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- dcterms:title

View file

@ -0,0 +1,32 @@
id: https://nde.nl/ontology/hc/slot/headline
name: headline_slot
title: Headline Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
default_prefix: hc
slots:
headline:
description: 'Professional headline/tagline from LinkedIn.
Typically includes current job title and/or professional identity.
'
range: string
slot_uri: hc:headline
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- hc:headline

View file

@ -0,0 +1,30 @@
id: https://nde.nl/ontology/hc/slot/heritage_designation_date
name: heritage_designation_date_slot
title: Heritage Designation Date Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
default_prefix: hc
slots:
heritage_designation_date:
description: 'Date when heritage status was designated.
'
range: date
slot_uri: dcterms:date
annotations:
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
exact_mappings:
- dcterms:date

View file

@ -1,5 +1,5 @@
{ {
"generated": "2026-01-27T21:17:12.304Z", "generated": "2026-01-28T00:11:55.430Z",
"schemaRoot": "/schemas/20251121/linkml", "schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 3000, "totalFiles": 3000,
"categoryCounts": { "categoryCounts": {

View file

@ -1,7 +1,26 @@
classes: classes:
APIEndpoint: APIEndpoint:
class_uri: schema:EntryPoint class_uri: schema:EntryPoint
description: "An API endpoint." description: An API endpoint.
slots: slots:
- has_or_had_url - has_or_had_url
- has_or_had_description - has_or_had_description
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types

View file

@ -1,8 +1,14 @@
classes: classes:
APIRequest: APIRequest:
class_uri: prov:Activity class_uri: prov:Activity
description: "An API request event." description: An API request event.
slots: slots:
- has_or_had_provenance - has_or_had_provenance
- has_or_had_endpoint - has_or_had_endpoint
- has_or_had_version - has_or_had_version
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,7 +1,13 @@
classes: classes:
APIVersion: APIVersion:
class_uri: schema:SoftwareApplication class_uri: schema:SoftwareApplication
description: "Version of an API." description: Version of an API.
slots: slots:
- has_or_had_label - has_or_had_label
- has_or_had_identifier - has_or_had_identifier
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,26 +1,33 @@
id: https://nde.nl/ontology/hc/class/AVEquipment id: https://nde.nl/ontology/hc/class/AVEquipment
name: AVEquipment name: AVEquipment
title: AVEquipment title: AVEquipment
description: >- description: Audiovisual equipment used in heritage contexts (e.g., for playback, digitization).
Audiovisual equipment used in heritage contexts (e.g., for playback, digitization).
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/ schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_name - ../slots/has_or_had_name
- ../slots/has_or_had_type - ../slots/has_or_had_type
classes: classes:
AVEquipment: AVEquipment:
class_uri: schema:Product class_uri: schema:Product
description: AV Equipment. description: AV Equipment.
slots: slots:
- has_or_had_name - has_or_had_name
- has_or_had_type - has_or_had_type
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -8,58 +8,54 @@ prefixes:
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
imports: imports:
- linkml:types - linkml:types
- ./ArchiveOrganizationType - ./ArchiveOrganizationType
- ./CollectionType - ./CollectionType
- ./AcademicArchiveRecordSetTypes - ./AcademicArchiveRecordSetTypes
- ../slots/has_or_had_scope # was: type_scope - migrated per Rule 53 (2026-01-15) - ../slots/has_or_had_scope
- ./Scope # for has_or_had_scope range (2026-01-15) - ./Scope
- ../slots/hold_or_held_record_set_type - ../slots/hold_or_held_record_set_type
- ../slots/has_or_had_custodian_type - ../slots/has_or_had_type
- ../slots/dual_class_link - ../slots/dual_class_link
# broader_concept REMOVED - migrated to has_or_had_hypernym (Rule 53) - ../slots/has_or_had_hypernym
- ../slots/has_or_had_hypernym - ../slots/has_or_had_label
- ../slots/has_or_had_label - ../slots/specificity_annotation
- ../slots/specificity_annotation - ../slots/has_or_had_score
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/is_or_was_related_to
- ../slots/is_or_was_related_to # was: wikidata_alignment - migrated per Rule 53 (2026-01-15) - ./DualClassLink
- ./DualClassLink - ./SpecificityAnnotation
- ./SpecificityAnnotation - ./TemplateSpecificityScore
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17) - ./TemplateSpecificityType
- ./TemplateSpecificityTypes
- ./TemplateSpecificityType - ./WikidataAlignment
- ./WikiDataEntry
- ./TemplateSpecificityTypes - ./AcademicArchiveRecordSetType
- ./WikidataAlignment
- ./WikiDataEntry # for is_or_was_related_to range (2026-01-15)
- ./AcademicArchiveRecordSetType
classes: classes:
AcademicArchive: AcademicArchive:
is_a: ArchiveOrganizationType is_a: ArchiveOrganizationType
class_uri: schema:ArchiveOrganization class_uri: schema:ArchiveOrganization
description: Archive of a higher education institution (university, college, polytechnic). description: Archive of a higher education institution (university, college, polytechnic).
slots: slots:
- has_or_had_custodian_type - has_or_had_type
- dual_class_link - dual_class_link
- hold_or_held_record_set_type - hold_or_held_record_set_type
# broader_concept REMOVED - migrated to has_or_had_hypernym (Rule 53)
- has_or_had_hypernym - has_or_had_hypernym
- has_or_had_label - has_or_had_label
- specificity_annotation - specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - has_or_had_score
- is_or_was_related_to # was: wikidata_alignment - migrated per Rule 53 (2026-01-15) - is_or_was_related_to
structured_aliases: structured_aliases:
- literal_form: Hochschularchiv - literal_form: Hochschularchiv
in_language: de in_language: de
- literal_form: archivo académico - literal_form: "archivo acad\xE9mico"
in_language: es in_language: es
- literal_form: archives académiques - literal_form: "archives acad\xE9miques"
in_language: fr in_language: fr
- literal_form: archivio accademico - literal_form: archivio accademico
in_language: it in_language: it
- literal_form: academisch archief - literal_form: academisch archief
in_language: nl in_language: nl
- literal_form: arquivo acadêmico - literal_form: "arquivo acad\xEAmico"
in_language: pt in_language: pt
keywords: keywords:
- administrative records - administrative records
@ -82,26 +78,19 @@ classes:
equals_expression: '["hc:UniversityAdministrativeFonds", "hc:StudentRecordSeries", "hc:FacultyPaperCollection", "hc:CampusDocumentationCollection"] equals_expression: '["hc:UniversityAdministrativeFonds", "hc:StudentRecordSeries", "hc:FacultyPaperCollection", "hc:CampusDocumentationCollection"]
' '
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16) has_or_had_identifier:
pattern: ^Q[0-9]+$ pattern: ^Q[0-9]+$
# equals_string removed 2026-01-17: incompatible with range uriorcurie; value Q27032435 in exact_mappings
description: Wikidata identifier for Academic Archive concept (Q27032435) description: Wikidata identifier for Academic Archive concept (Q27032435)
has_or_had_custodian_type: has_or_had_type:
equals_expression: '["hc:ArchiveOrganizationType"]' equals_expression: '["hc:ArchiveOrganizationType"]'
is_or_was_related_to: # was: wikidata_alignment - migrated per Rule 53 (2026-01-15) is_or_was_related_to:
range: WikidataAlignment range: WikidataAlignment
inlined: true inlined: true
has_or_had_hypernym: has_or_had_hypernym:
description: >- description: MIGRATED from broader_concept (Rule 53). SKOS broader (parent) concept in the archive type hierarchy.
MIGRATED from broader_concept (Rule 53).
SKOS broader (parent) concept in the archive type hierarchy.
equals_expression: '["wd:Q166118"]' equals_expression: '["wd:Q166118"]'
has_or_had_label: has_or_had_label:
description: >- description: Human-readable label for the broader concept. Stored for display to avoid repeated lookups. MIGRATED from broader_concept_label (2026-01-15) per Rule 53.
Human-readable label for the broader concept.
Stored for display to avoid repeated lookups.
MIGRATED from broader_concept_label (2026-01-15) per Rule 53.
# equals_string removed 2026-01-17: incompatible with range uriorcurie
ifabsent: string(archive) ifabsent: string(archive)
dual_class_link: dual_class_link:
range: DualClassLink range: DualClassLink
@ -129,3 +118,9 @@ classes:
- wd:Q124762372 - wd:Q124762372
- wd:Q1065413 - wd:Q1065413
- AcademicArchiveRecordSetType - AcademicArchiveRecordSetType
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -8,31 +8,31 @@ prefixes:
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
imports: imports:
- linkml:types - linkml:types
- ./CollectionType - ./CollectionType
- ../slots/has_or_had_custodian_type - ../slots/has_or_had_type
- ../slots/dual_class_link - ../slots/dual_class_link
- ../slots/specificity_annotation - ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/has_or_had_score
- ../slots/has_or_had_scope # was: type_scope - migrated per Rule 53 (2026-01-15) - ../slots/has_or_had_scope
- ./Scope # for has_or_had_scope range (2026-01-15) - ./Scope
- ../slots/is_or_was_related_to # was: wikidata_alignment - migrated per Rule 53 (2026-01-15) - ../slots/is_or_was_related_to
- ./DualClassLink # for DualClassLink range - ./DualClassLink
- ./WikidataAlignment # for WikidataAlignment range - ./WikidataAlignment
classes: classes:
AcademicArchiveRecordSetType: AcademicArchiveRecordSetType:
description: A rico:RecordSetType for classifying collections of academic and higher education institutional records. description: A rico:RecordSetType for classifying collections of academic and higher education institutional records.
is_a: CollectionType is_a: CollectionType
class_uri: rico:RecordSetType class_uri: rico:RecordSetType
slots: slots:
- has_or_had_custodian_type - has_or_had_type
- dual_class_link - dual_class_link
- specificity_annotation - specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - has_or_had_score
- has_or_had_scope # was: type_scope - migrated per Rule 53 (2026-01-15) - has_or_had_scope
- is_or_was_related_to # was: wikidata_alignment - migrated per Rule 53 (2026-01-15) - is_or_was_related_to
attributes: attributes:
has_or_had_scope: # was: type_scope - migrated per Rule 53 (2026-01-15) has_or_had_scope:
range: Scope range: Scope
multivalued: true multivalued: true
inlined_as_list: true inlined_as_list: true
@ -47,26 +47,26 @@ classes:
structured_aliases: structured_aliases:
- literal_form: Hochschularchivbestand - literal_form: Hochschularchivbestand
in_language: de in_language: de
- literal_form: fondo de archivo académico - literal_form: "fondo de archivo acad\xE9mico"
in_language: es in_language: es
- literal_form: fonds d'archives académiques - literal_form: "fonds d'archives acad\xE9miques"
in_language: fr in_language: fr
- literal_form: academisch archiefbestand - literal_form: academisch archiefbestand
in_language: nl in_language: nl
slot_usage: slot_usage:
has_or_had_custodian_type: has_or_had_type:
equals_expression: '["hc:ArchiveOrganizationType"]' equals_expression: '["hc:ArchiveOrganizationType"]'
is_or_was_related_to: # was: wikidata_alignment - migrated per Rule 53 (2026-01-15) is_or_was_related_to:
range: WikidataAlignment range: WikidataAlignment
inlined: true inlined: true
dual_class_link: dual_class_link:
range: DualClassLink range: DualClassLink
inlined: true inlined: true
exact_mappings: exact_mappings:
- wd:Q27032435 # Wikidata (was: slot_usage wikidata_equivalent - migrated per Rule 53, 2026-01-17) - wd:Q27032435
- rico:RecordSetType - rico:RecordSetType
broad_mappings: broad_mappings:
- wd:Q27032435 - wd:Q27032435
close_mappings: close_mappings:
- skos:Concept - skos:Concept
see_also: see_also:
@ -76,3 +76,9 @@ classes:
- StudentRecordSeries - StudentRecordSeries
- FacultyPaperCollection - FacultyPaperCollection
- CampusDocumentationCollection - CampusDocumentationCollection
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -15,14 +15,12 @@ imports:
- linkml:types - linkml:types
- ./AcademicArchiveRecordSetType - ./AcademicArchiveRecordSetType
- ./AcademicArchive - ./AcademicArchive
- ../slots/has_or_had_custodian_type - ../slots/has_or_had_type
- ../slots/specificity_annotation - ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/has_or_had_score
- ./SpecificityAnnotation - ./SpecificityAnnotation
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17) - ./TemplateSpecificityScore
- ./TemplateSpecificityType - ./TemplateSpecificityType
- ./TemplateSpecificityTypes - ./TemplateSpecificityTypes
- ../slots/organizational_principle - ../slots/organizational_principle
- ../slots/organizational_principle_uri - ../slots/organizational_principle_uri
@ -31,7 +29,7 @@ imports:
- ../slots/record_set_type - ../slots/record_set_type
- ../slots/scope_exclude - ../slots/scope_exclude
- ../slots/scope_include - ../slots/scope_include
- ../slots/has_or_had_custodian_type - ../slots/has_or_had_type
- ../slots/organizational_principle - ../slots/organizational_principle
- ../slots/organizational_principle_uri - ../slots/organizational_principle_uri
- ../slots/privacy_note - ../slots/privacy_note
@ -40,8 +38,8 @@ imports:
- ../slots/scope_exclude - ../slots/scope_exclude
- ../slots/scope_include - ../slots/scope_include
- ../slots/specificity_annotation - ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/has_or_had_score
- ../slots/has_or_had_custodian_type - ../slots/has_or_had_type
- ../slots/organizational_principle - ../slots/organizational_principle
- ../slots/organizational_principle_uri - ../slots/organizational_principle_uri
- ../slots/privacy_note - ../slots/privacy_note
@ -50,29 +48,22 @@ imports:
- ../slots/scope_exclude - ../slots/scope_exclude
- ../slots/scope_include - ../slots/scope_include
- ../slots/specificity_annotation - ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/has_or_had_score
classes: classes:
UniversityAdministrativeFonds: UniversityAdministrativeFonds:
is_a: AcademicArchiveRecordSetType is_a: AcademicArchiveRecordSetType
class_uri: rico:RecordSetType class_uri: rico:RecordSetType
description: "A rico:RecordSetType for university administrative records organized as a fonds.\n\n**Definition**:\nRecords\ description: "A rico:RecordSetType for university administrative records organized as a fonds.\n\n**Definition**:\nRecords created or accumulated by a university's central administration in the \nexercise of governance, policy-making, and operational functions. Organized \naccording to archival principles of provenance (respect des fonds).\n\n**Typical Contents**:\n- Governance records (board minutes, resolutions, bylaws)\n- Committee records (senate, faculty councils, standing committees)\n- Policy records (institutional policies, procedures, guidelines)\n- Strategic planning documents\n- Accreditation and institutional assessment records\n- Executive correspondence\n\n**RiC-O Alignment**:\nThis class is a specialized rico:RecordSetType. Records classified with this\ntype follow the fonds organizational principle as defined by rico-rst:Fonds\n(respect des fonds / provenance-based organization from university central administration).\n"
\ created or accumulated by a university's central administration in the \nexercise of governance, policy-making, and\
\ operational functions. Organized \naccording to archival principles of provenance (respect des fonds).\n\n**Typical\
\ Contents**:\n- Governance records (board minutes, resolutions, bylaws)\n- Committee records (senate, faculty councils,\
\ standing committees)\n- Policy records (institutional policies, procedures, guidelines)\n- Strategic planning documents\n\
- Accreditation and institutional assessment records\n- Executive correspondence\n\n**RiC-O Alignment**:\nThis class\
\ is a specialized rico:RecordSetType. Records classified with this\ntype follow the fonds organizational principle\
\ as defined by rico-rst:Fonds\n(respect des fonds / provenance-based organization from university central administration).\n"
structured_aliases: structured_aliases:
- literal_form: Hochschulverwaltungsbestand - literal_form: Hochschulverwaltungsbestand
in_language: de in_language: de
- literal_form: fondo de administración universitaria - literal_form: "fondo de administraci\xF3n universitaria"
in_language: es in_language: es
- literal_form: fonds d'administration universitaire - literal_form: fonds d'administration universitaire
in_language: fr in_language: fr
- literal_form: universiteitsbestuursarchief - literal_form: universiteitsbestuursarchief
in_language: nl in_language: nl
- literal_form: fundo de administração universitária - literal_form: "fundo de administra\xE7\xE3o universit\xE1ria"
in_language: pt in_language: pt
keywords: keywords:
- governance records - governance records
@ -98,9 +89,9 @@ classes:
- rico:RecordSetType - rico:RecordSetType
- rico-rst:Fonds - rico-rst:Fonds
slots: slots:
- has_or_had_custodian_type - has_or_had_type
- specificity_annotation - specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - has_or_had_score
- organizational_principle - organizational_principle
- organizational_principle_uri - organizational_principle_uri
- record_note - record_note
@ -108,7 +99,7 @@ classes:
- scope_exclude - scope_exclude
- scope_include - scope_include
slot_usage: slot_usage:
has_or_had_custodian_type: has_or_had_type:
equals_expression: '["hc:ArchiveOrganizationType"]' equals_expression: '["hc:ArchiveOrganizationType"]'
record_set_type: record_set_type:
equals_string: UniversityAdministrativeFonds equals_string: UniversityAdministrativeFonds
@ -117,35 +108,31 @@ classes:
organizational_principle_uri: organizational_principle_uri:
equals_string: https://www.ica.org/standards/RiC/vocabularies/recordSetTypes#Fonds equals_string: https://www.ica.org/standards/RiC/vocabularies/recordSetTypes#Fonds
record_note: record_note:
equals_string: This RecordSetType classifies record sets following the fonds principle. The fonds structure reflects equals_string: This RecordSetType classifies record sets following the fonds principle. The fonds structure reflects provenance from university central administration.
provenance from university central administration.
scope_include: scope_include:
equals_string: '["governance records", "committee records", "policy records", "strategic planning", "accreditation equals_string: '["governance records", "committee records", "policy records", "strategic planning", "accreditation records"]'
records"]'
scope_exclude: scope_exclude:
equals_string: '["student records", "faculty papers", "research data"]' equals_string: '["student records", "faculty papers", "research data"]'
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
AcademicStudentRecordSeries: AcademicStudentRecordSeries:
is_a: AcademicArchiveRecordSetType is_a: AcademicArchiveRecordSetType
class_uri: rico:RecordSetType class_uri: rico:RecordSetType
description: "A rico:RecordSetType for student records organized as archival series.\n\n**Definition**:\nRecords documenting\ description: "A rico:RecordSetType for student records organized as archival series.\n\n**Definition**:\nRecords documenting the academic careers and activities of students, typically \norganized as series within a larger university fonds. Subject to retention \nschedules and privacy regulations (FERPA in US, GDPR in EU, AVG in NL).\n\n**Typical Contents**:\n- Enrollment and registration records\n- Academic transcripts and grade records\n- Graduation records and diploma registers\n- Disciplinary records\n- Financial aid records\n- Student organization records\n\n**Privacy Considerations**:\nAccess restrictions typically apply due to personally identifiable information.\nHistorical student records (typically 75+ years) may have fewer restrictions.\n\n**RiC-O Alignment**:\nThis class is a specialized rico:RecordSetType. Records classified with this\ntype follow the series organizational principle as defined by rico-rst:Series\n(organizational level within the university fonds).\n"
\ the academic careers and activities of students, typically \norganized as series within a larger university fonds.\
\ Subject to retention \nschedules and privacy regulations (FERPA in US, GDPR in EU, AVG in NL).\n\n**Typical Contents**:\n\
- Enrollment and registration records\n- Academic transcripts and grade records\n- Graduation records and diploma registers\n\
- Disciplinary records\n- Financial aid records\n- Student organization records\n\n**Privacy Considerations**:\nAccess\
\ restrictions typically apply due to personally identifiable information.\nHistorical student records (typically 75+\
\ years) may have fewer restrictions.\n\n**RiC-O Alignment**:\nThis class is a specialized rico:RecordSetType. Records\
\ classified with this\ntype follow the series organizational principle as defined by rico-rst:Series\n(organizational\
\ level within the university fonds).\n"
structured_aliases: structured_aliases:
- literal_form: Studentenaktenserie - literal_form: Studentenaktenserie
in_language: de in_language: de
- literal_form: serie de expedientes estudiantiles - literal_form: serie de expedientes estudiantiles
in_language: es in_language: es
- literal_form: série de dossiers étudiants - literal_form: "s\xE9rie de dossiers \xE9tudiants"
in_language: fr in_language: fr
- literal_form: studentendossiers - literal_form: studentendossiers
in_language: nl in_language: nl
- literal_form: série de registros de alunos - literal_form: "s\xE9rie de registros de alunos"
in_language: pt in_language: pt
keywords: keywords:
- enrollment records - enrollment records
@ -172,9 +159,9 @@ classes:
- rico-rst:Series - rico-rst:Series
- UniversityAdministrativeFonds - UniversityAdministrativeFonds
slots: slots:
- has_or_had_custodian_type - has_or_had_type
- specificity_annotation - specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - has_or_had_score
- organizational_principle - organizational_principle
- organizational_principle_uri - organizational_principle_uri
- privacy_note - privacy_note
@ -183,7 +170,7 @@ classes:
- scope_exclude - scope_exclude
- scope_include - scope_include
slot_usage: slot_usage:
has_or_had_custodian_type: has_or_had_type:
equals_expression: '["hc:ArchiveOrganizationType"]' equals_expression: '["hc:ArchiveOrganizationType"]'
record_set_type: record_set_type:
equals_string: AcademicStudentRecordSeries equals_string: AcademicStudentRecordSeries
@ -192,28 +179,18 @@ classes:
organizational_principle_uri: organizational_principle_uri:
equals_string: https://www.ica.org/standards/RiC/vocabularies/recordSetTypes#Series equals_string: https://www.ica.org/standards/RiC/vocabularies/recordSetTypes#Series
record_note: record_note:
equals_string: This RecordSetType classifies record sets following the series principle. Typically a series within equals_string: This RecordSetType classifies record sets following the series principle. Typically a series within the university administration fonds or registrar's office fonds.
the university administration fonds or registrar's office fonds.
scope_include: scope_include:
equals_string: '["enrollment records", "academic transcripts", "graduation records", "disciplinary records", "financial equals_string: '["enrollment records", "academic transcripts", "graduation records", "disciplinary records", "financial aid records"]'
aid records"]'
scope_exclude: scope_exclude:
equals_string: '["faculty records", "research records", "administrative policy"]' equals_string: '["faculty records", "research records", "administrative policy"]'
privacy_note: privacy_note:
equals_string: Subject to educational records privacy laws (FERPA, GDPR, AVG). Access restrictions typically apply equals_string: Subject to educational records privacy laws (FERPA, GDPR, AVG). Access restrictions typically apply for records less than 75 years old.
for records less than 75 years old.
FacultyPaperCollection: FacultyPaperCollection:
is_a: AcademicArchiveRecordSetType is_a: AcademicArchiveRecordSetType
class_uri: rico:RecordSetType class_uri: rico:RecordSetType
description: "A rico:RecordSetType for faculty papers and personal archives.\n\n**Definition**:\nPersonal papers of faculty\ description: "A rico:RecordSetType for faculty papers and personal archives.\n\n**Definition**:\nPersonal papers of faculty members documenting their academic careers, research \nactivities, teaching, and professional service. These are typically acquired as \ndonations or bequests, distinct from official university records.\n\n**Typical Contents**:\n- Research documentation and notes\n- Correspondence (professional and personal)\n- Lecture notes and course materials\n- Manuscripts and drafts\n- Conference papers and presentations\n- Professional organization records\n- Photographs and audiovisual materials\n\n**Provenance**:\nUnlike administrative fonds, faculty papers are personal archives with the \nindividual faculty member as creator/accumulator. The university acquires \ncustody but respects original order where it exists.\n\n**RiC-O Alignment**:\nThis class is a specialized rico:RecordSetType. Records classified with this\ntype follow the fonds organizational principle as defined\
\ members documenting their academic careers, research \nactivities, teaching, and professional service. These are typically\ \ by rico-rst:Fonds\n(personal papers fonds with the faculty member as creator/accumulator).\n"
\ acquired as \ndonations or bequests, distinct from official university records.\n\n**Typical Contents**:\n- Research\
\ documentation and notes\n- Correspondence (professional and personal)\n- Lecture notes and course materials\n- Manuscripts\
\ and drafts\n- Conference papers and presentations\n- Professional organization records\n- Photographs and audiovisual\
\ materials\n\n**Provenance**:\nUnlike administrative fonds, faculty papers are personal archives with the \nindividual\
\ faculty member as creator/accumulator. The university acquires \ncustody but respects original order where it exists.\n\
\n**RiC-O Alignment**:\nThis class is a specialized rico:RecordSetType. Records classified with this\ntype follow the\
\ fonds organizational principle as defined by rico-rst:Fonds\n(personal papers fonds with the faculty member as creator/accumulator).\n"
structured_aliases: structured_aliases:
- literal_form: Professorennachlass - literal_form: Professorennachlass
in_language: de in_language: de
@ -251,12 +228,11 @@ classes:
- rico:RecordSetType - rico:RecordSetType
- rico-rst:Fonds - rico-rst:Fonds
annotations: annotations:
acquisition_note: Typically acquired through donation or bequest. May include restrictions on access or publication acquisition_note: Typically acquired through donation or bequest. May include restrictions on access or publication specified by donor agreement.
specified by donor agreement.
slots: slots:
- has_or_had_custodian_type - has_or_had_type
- specificity_annotation - specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - has_or_had_score
- organizational_principle - organizational_principle
- organizational_principle_uri - organizational_principle_uri
- record_note - record_note
@ -264,7 +240,7 @@ classes:
- scope_exclude - scope_exclude
- scope_include - scope_include
slot_usage: slot_usage:
has_or_had_custodian_type: has_or_had_type:
equals_expression: '["hc:ArchiveOrganizationType", "hc:LibraryType"]' equals_expression: '["hc:ArchiveOrganizationType", "hc:LibraryType"]'
record_set_type: record_set_type:
equals_string: FacultyPaperCollection equals_string: FacultyPaperCollection
@ -273,8 +249,7 @@ classes:
organizational_principle_uri: organizational_principle_uri:
equals_string: https://www.ica.org/standards/RiC/vocabularies/recordSetTypes#Fonds equals_string: https://www.ica.org/standards/RiC/vocabularies/recordSetTypes#Fonds
record_note: record_note:
equals_string: This RecordSetType classifies record sets following the fonds principle. Personal archives with individual equals_string: This RecordSetType classifies record sets following the fonds principle. Personal archives with individual faculty member as creator/accumulator.
faculty member as creator/accumulator.
scope_include: scope_include:
equals_string: '["research documentation", "correspondence", "lecture notes", "manuscripts", "conference papers"]' equals_string: '["research documentation", "correspondence", "lecture notes", "manuscripts", "conference papers"]'
scope_exclude: scope_exclude:
@ -282,26 +257,18 @@ classes:
CampusDocumentationCollection: CampusDocumentationCollection:
is_a: AcademicArchiveRecordSetType is_a: AcademicArchiveRecordSetType
class_uri: rico:RecordSetType class_uri: rico:RecordSetType
description: "A rico:RecordSetType for campus life and institutional documentation.\n\n**Definition**:\nMaterials documenting\ description: "A rico:RecordSetType for campus life and institutional documentation.\n\n**Definition**:\nMaterials documenting campus life, institutional identity, and university \nculture beyond formal administrative records. Often includes visual materials, \npublications, and ephemera that capture the lived experience of the institution.\n\n**Typical Contents**:\n- Campus photographs and audiovisual materials\n- University publications (yearbooks, newspapers, magazines)\n- Ephemera (programs, posters, invitations)\n- Memorabilia and artifacts\n- Oral histories\n- Event documentation\n- Building and facilities documentation\n\n**Collection Nature**:\nMay be assembled collections (artificial) rather than strictly provenance-based,\nespecially for ephemera and visual materials. Documentation value often takes\nprecedence over strict archival arrangement.\n\n**RiC-O Alignment**:\nThis class is a specialized rico:RecordSetType. Records classified with this\ntype follow the collection organizational\
\ campus life, institutional identity, and university \nculture beyond formal administrative records. Often includes\ \ principle as defined by rico-rst:Collection\n(assembled/artificial collection organized by subject or documentation purpose).\n"
\ visual materials, \npublications, and ephemera that capture the lived experience of the institution.\n\n**Typical\
\ Contents**:\n- Campus photographs and audiovisual materials\n- University publications (yearbooks, newspapers, magazines)\n\
- Ephemera (programs, posters, invitations)\n- Memorabilia and artifacts\n- Oral histories\n- Event documentation\n\
- Building and facilities documentation\n\n**Collection Nature**:\nMay be assembled collections (artificial) rather\
\ than strictly provenance-based,\nespecially for ephemera and visual materials. Documentation value often takes\nprecedence\
\ over strict archival arrangement.\n\n**RiC-O Alignment**:\nThis class is a specialized rico:RecordSetType. Records\
\ classified with this\ntype follow the collection organizational principle as defined by rico-rst:Collection\n(assembled/artificial\
\ collection organized by subject or documentation purpose).\n"
structured_aliases: structured_aliases:
- literal_form: Campus-Dokumentationssammlung - literal_form: Campus-Dokumentationssammlung
in_language: de in_language: de
- literal_form: colección de documentación del campus - literal_form: "colecci\xF3n de documentaci\xF3n del campus"
in_language: es in_language: es
- literal_form: collection de documentation du campus - literal_form: collection de documentation du campus
in_language: fr in_language: fr
- literal_form: campusdocumentatiecollectie - literal_form: campusdocumentatiecollectie
in_language: nl in_language: nl
- literal_form: coleção de documentação do campus - literal_form: "cole\xE7\xE3o de documenta\xE7\xE3o do campus"
in_language: pt in_language: pt
keywords: keywords:
- campus photographs - campus photographs
@ -329,12 +296,11 @@ classes:
- rico:RecordSetType - rico:RecordSetType
- rico-rst:Collection - rico-rst:Collection
annotations: annotations:
collection_nature_note: Often includes artificial/assembled collections organized by subject, format, or documentation collection_nature_note: Often includes artificial/assembled collections organized by subject, format, or documentation purpose rather than strict provenance.
purpose rather than strict provenance.
slots: slots:
- has_or_had_custodian_type - has_or_had_type
- specificity_annotation - specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - has_or_had_score
- organizational_principle - organizational_principle
- organizational_principle_uri - organizational_principle_uri
- record_note - record_note
@ -342,7 +308,7 @@ classes:
- scope_exclude - scope_exclude
- scope_include - scope_include
slot_usage: slot_usage:
has_or_had_custodian_type: has_or_had_type:
equals_expression: '["hc:ArchiveOrganizationType", "hc:LibraryType", "hc:MuseumType"]' equals_expression: '["hc:ArchiveOrganizationType", "hc:LibraryType", "hc:MuseumType"]'
record_set_type: record_set_type:
equals_string: CampusDocumentationCollection equals_string: CampusDocumentationCollection
@ -351,8 +317,7 @@ classes:
organizational_principle_uri: organizational_principle_uri:
equals_string: https://www.ica.org/standards/RiC/vocabularies/recordSetTypes#Collection equals_string: https://www.ica.org/standards/RiC/vocabularies/recordSetTypes#Collection
record_note: record_note:
equals_string: This RecordSetType classifies record sets following the collection principle. May be assembled collection equals_string: This RecordSetType classifies record sets following the collection principle. May be assembled collection (artificial) organized by subject or documentation purpose.
(artificial) organized by subject or documentation purpose.
scope_include: scope_include:
equals_string: '["photographs", "audiovisual materials", "publications", "ephemera", "oral histories", "memorabilia"]' equals_string: '["photographs", "audiovisual materials", "publications", "ephemera", "oral histories", "memorabilia"]'
scope_exclude: scope_exclude:

View file

@ -1,24 +1,24 @@
id: https://nde.nl/ontology/hc/class/AcademicInstitution id: https://nde.nl/ontology/hc/class/AcademicInstitution
name: AcademicInstitution name: AcademicInstitution
title: AcademicInstitution title: AcademicInstitution
description: >- description: An institution of higher education or research.
An institution of higher education or research.
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/ schema: http://schema.org/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_name - ../slots/has_or_had_name
classes: classes:
AcademicInstitution: AcademicInstitution:
class_uri: schema:EducationalOrganization class_uri: schema:EducationalOrganization
description: Academic institution. description: Academic institution.
slots: slots:
- has_or_had_name - has_or_had_name
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,24 +1,24 @@
id: https://nde.nl/ontology/hc/class/AcademicProgram id: https://nde.nl/ontology/hc/class/AcademicProgram
name: AcademicProgram name: AcademicProgram
title: AcademicProgram title: AcademicProgram
description: >- description: An educational or research program offered by an academic institution.
An educational or research program offered by an academic institution.
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/ schema: http://schema.org/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_name - ../slots/has_or_had_name
classes: classes:
AcademicProgram: AcademicProgram:
class_uri: schema:EducationalOccupationalProgram class_uri: schema:EducationalOccupationalProgram
description: Academic program. description: Academic program.
slots: slots:
- has_or_had_name - has_or_had_name
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,29 +1,32 @@
id: https://nde.nl/ontology/hc/class/AccessApplication id: https://nde.nl/ontology/hc/class/AccessApplication
name: AccessApplication name: AccessApplication
title: Access Application title: Access Application
description: >- description: An application or process for requesting access to materials. MIGRATED from has_access_application_url slot per Rule 53. Follows schema:Action.
An application or process for requesting access to materials.
MIGRATED from has_access_application_url slot per Rule 53.
Follows schema:Action.
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/ schema: http://schema.org/
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_url - ../slots/has_or_had_url
- ./URL - ./URL
default_prefix: hc default_prefix: hc
classes: classes:
AccessApplication: AccessApplication:
class_uri: schema:Action class_uri: schema:Action
slots: slots:
- has_or_had_label - has_or_had_label
- has_or_had_description - has_or_had_description
- has_or_had_url - has_or_had_url
slot_usage: slot_usage:
has_or_had_url: has_or_had_url:
range: URL range: URL
inlined: true inlined: true
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,24 +1,24 @@
id: https://nde.nl/ontology/hc/class/AccessControl id: https://nde.nl/ontology/hc/class/AccessControl
name: AccessControl name: AccessControl
title: AccessControl title: AccessControl
description: >- description: Mechanisms or policies for controlling access to resources.
Mechanisms or policies for controlling access to resources.
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/ schema: http://schema.org/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
classes: classes:
AccessControl: AccessControl:
class_uri: schema:DigitalDocumentPermission class_uri: schema:DigitalDocumentPermission
description: Access control policy. description: Access control policy.
slots: slots:
- has_or_had_description - has_or_had_description
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,30 +1,33 @@
id: https://nde.nl/ontology/hc/class/AccessInterface id: https://nde.nl/ontology/hc/class/AccessInterface
name: AccessInterface name: AccessInterface
title: Access Interface title: Access Interface
description: >- description: An interface for accessing digital resources (e.g., API, portal). MIGRATED from has_access_interface_url slot per Rule 53. Follows dcat:DataService.
An interface for accessing digital resources (e.g., API, portal).
MIGRATED from has_access_interface_url slot per Rule 53.
Follows dcat:DataService.
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
dcat: http://www.w3.org/ns/dcat# dcat: http://www.w3.org/ns/dcat#
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_url - ../slots/has_or_had_url
- ./URL - ./URL
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/has_or_had_description - ../slots/has_or_had_description
default_prefix: hc default_prefix: hc
classes: classes:
AccessInterface: AccessInterface:
class_uri: dcat:DataService class_uri: dcat:DataService
slots: slots:
- has_or_had_url - has_or_had_url
- has_or_had_label - has_or_had_label
- has_or_had_description - has_or_had_description
slot_usage: slot_usage:
has_or_had_url: has_or_had_url:
range: URL range: URL
inlined: true inlined: true
required: true required: true
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,24 +1,24 @@
id: https://nde.nl/ontology/hc/class/AccessLevel id: https://nde.nl/ontology/hc/class/AccessLevel
name: AccessLevel name: AccessLevel
title: AccessLevel title: AccessLevel
description: >- description: A defined level of access permission (e.g., Public, Restricted, Confidential).
A defined level of access permission (e.g., Public, Restricted, Confidential).
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_label - ../slots/has_or_had_label
classes: classes:
AccessLevel: AccessLevel:
class_uri: skos:Concept class_uri: skos:Concept
description: Access level concept. description: Access level concept.
slots: slots:
- has_or_had_label - has_or_had_label
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -12,88 +12,48 @@ prefixes:
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
# Migrated per slot_fixes.yaml (Rule 53) - 2026-01-14 - ../slots/temporal_extent
# valid_from + valid_to → temporal_extent + TimeSpan (with begin_of_the_begin/end_of_the_end) - ./TimeSpan
- ../slots/temporal_extent - ../slots/embargo_end_date
- ./TimeSpan - ../slots/contact_email
- ../slots/embargo_end_date - ../slots/policy_id
- ../slots/contact_email - ../slots/policy_name
- ../slots/policy_id - ../slots/has_or_had_description
- ../slots/policy_name - ./Description
# has_or_had_access_description REMOVED - migrated to has_or_had_description + Description (Rule 53) - ../slots/has_or_had_level
- ../slots/has_or_had_description - ./AccessLevel
- ./Description - ../slots/requires_appointment
# has_or_had_access_level REMOVED - migrated to has_or_had_level + AccessLevel (Rule 53) - ../slots/poses_or_posed_condition
- ../slots/has_or_had_level - ./Condition
- ./AccessLevel - ../slots/credentials_required
# RESTORED 2026-01-15: requires_appointment has correct semantics (schema:reservationRequired) - ../slots/cultural_protocol_url
# The is_or_was_required slot was incorrectly using schema:isRequired which is for form field validation - ../slots/embargo_reason
# KEPT for backward compatibility - simple boolean for basic use cases - ../slots/imposes_or_imposed
- ../slots/requires_appointment - ./Fee
# MIGRATED 2026-01-22: condition → poses_or_posed_condition + Condition (Rule 53) - ../slots/fee_required
- ../slots/poses_or_posed_condition - ../slots/legal_basis
- ./Condition - ../slots/registration_required
- ../slots/credentials_required - ../slots/review_date
- ../slots/cultural_protocol_url - ../slots/rights_statement
- ../slots/embargo_reason - ../slots/rights_statement_url
- ../slots/imposes_or_imposed # was: fee_amount - migrated per Rule 53 (2026-01-26) - ../slots/specificity_annotation
- ./Fee - ../slots/has_or_had_score
- ../slots/fee_required - ./SpecificityAnnotation
- ../slots/legal_basis - ./TemplateSpecificityScore
- ../slots/registration_required - ./TemplateSpecificityType
- ../slots/review_date - ./TemplateSpecificityTypes
- ../slots/rights_statement - ../slots/condition_of_access
- ../slots/rights_statement_url - ../slots/requires_or_required
- ../slots/specificity_annotation - ./Appointment
- ../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
# ADDED 2026-01-17: Rich appointment modeling per slot_fixes.yaml revision for appointment_required
# These enable structured access conditions with Appointment entities (vs. just boolean)
- ../slots/condition_of_access
- ../slots/requires_or_required
- ./Appointment
classes: classes:
AccessPolicy: AccessPolicy:
class_uri: premis:RightsStatus class_uri: premis:RightsStatus
description: "Access policy defining conditions under which heritage collections can be accessed.\n\n**PURPOSE**:\n\n\ description: "Access policy defining conditions under which heritage collections can be accessed.\n\n**PURPOSE**:\n\nAccessPolicy captures the access conditions governing a Collection:\n- WHO can access (public, researchers, staff only)\n- HOW access is granted (open, by appointment, with credentials)\n- WHEN access is available (opening hours, embargo periods)\n- WHAT restrictions apply (fragile materials, privacy, cultural sensitivity)\n\n1. **PREMIS**:\n - `premis:RightsStatus` - \"Information about the rights status of an object.\"\n - Links to Collection via premis:rightsStatus\n\n2. **Dublin Core**:\n - `dcterms:accessRights` - \"Information about who may access the resource\n or an indication of its security status.\"\n\n3. **RiC-O**:\n - `rico:hasOrHadAllMembersWithAccessConditions` - Links RecordSet to access\n conditions applying to all members\n\n4. **RightsStatements.org**:\n - Standardized rights statements for cultural heritage\n - E.g., \"In Copyright\"\
AccessPolicy captures the access conditions governing a Collection:\n- WHO can access (public, researchers, staff only)\n\ , \"No Copyright\", \"Unknown Copyright\"\n\n**ACCESS LEVEL TAXONOMY**:\n\n```\nAccessPolicy (root)\n \u2502\n \u251C\u2500\u2500 OpenAccess\n \u2502 \u251C\u2500\u2500 PUBLIC_OPEN - No restrictions, walk-in access\n \u2502 \u251C\u2500\u2500 PUBLIC_REGISTRATION - Free registration required\n \u2502 \u2514\u2500\u2500 PUBLIC_ONLINE - Digital access freely available\n \u2502\n \u251C\u2500\u2500 RestrictedAccess\n \u2502 \u251C\u2500\u2500 RESEARCHERS_ONLY - Academic researchers with credentials\n \u2502 \u251C\u2500\u2500 BY_APPOINTMENT - Advance booking required\n \u2502 \u251C\u2500\u2500 STAFF_ONLY - Internal access only\n \u2502 \u2514\u2500\u2500 PERMISSION_REQUIRED - Written permission needed\n \u2502\n \u251C\u2500\u2500 ClosedAccess\n \u2502 \u251C\u2500\u2500 TEMPORARILY_CLOSED - Renovation, conservation\n \u2502 \u251C\u2500\u2500 EMBARGOED - Time-limited closure\n \u2502 \u251C\u2500\u2500 PERMANENTLY_CLOSED - Not accessible\n\
- HOW access is granted (open, by appointment, with credentials)\n- WHEN access is available (opening hours, embargo\ \ \u2502 \u2514\u2500\u2500 REPATRIATED - Returned to community of origin\n \u2502\n \u2514\u2500\u2500 ConditionalAccess\n \u251C\u2500\u2500 CULTURALLY_SENSITIVE - Indigenous/sacred materials\n \u251C\u2500\u2500 PRIVACY_RESTRICTED - Personal data protection\n \u251C\u2500\u2500 FRAGILE_HANDLING - Special handling required\n \u2514\u2500\u2500 LEGAL_RESTRICTION - Copyright, legal constraints\n```\n\n**USE CASES**:\n\n1. **Archive Open Access**:\n ```yaml\n AccessPolicy:\n policy_id: \"hc:access-policy/nationaal-archief-open\"\n access_level: \"PUBLIC_OPEN\"\n access_description: \"Open to all visitors during reading room hours\"\n conditions: \"Valid ID required for registration\"\n ```\n\n2. **Restricted Research Materials**:\n ```yaml\n AccessPolicy:\n policy_id: \"hc:access-policy/university-special-collections\"\n access_level: \"RESEARCHERS_ONLY\"\n access_description: \"Academic researchers with institutional\
\ periods)\n- WHAT restrictions apply (fragile materials, privacy, cultural sensitivity)\n\n1. **PREMIS**:\n - `premis:RightsStatus`\ \ affiliation\"\n conditions: \"Letter of introduction required from supervising institution\"\n requires_appointment: true\n ```\n\n3. **Embargoed Collection**:\n ```yaml\n AccessPolicy:\n policy_id: \"hc:access-policy/donor-embargo-2050\"\n access_level: \"EMBARGOED\"\n access_description: \"Closed until 2050 per donor agreement\"\n embargo_end_date: \"2050-01-01\"\n embargo_reason: \"Donor privacy restrictions\"\n ```\n\n4. **Culturally Sensitive**:\n ```yaml\n AccessPolicy:\n policy_id: \"hc:access-policy/indigenous-protocols\"\n access_level: \"CULTURALLY_SENSITIVE\"\n access_description: \"Access governed by Traditional Knowledge protocols\"\n conditions: \"Consultation with originating community required\"\n cultural_protocol_url: \"https://localcontexts.org/tk-labels/\"\n ```\n\n**RELATIONSHIP TO DIM ARCHIVE**:\n\nDimArchive (Dark archive / Preservation-only storage) uses AccessPolicy to express:\n- Materials stored\
\ - \"Information about the rights status of an object.\"\n - Links\ \ for preservation, not current access\n- Access restricted until triggering conditions (time, event)\n- \"Gray literature\" or un-catalogued backlogs awaiting processing\n"
\ to Collection via premis:rightsStatus\n\n2. **Dublin Core**:\n - `dcterms:accessRights` - \"Information\
\ about who may access the resource\n or an indication of its security status.\"\n\n3. **RiC-O**:\n - `rico:hasOrHadAllMembersWithAccessConditions`\
\ - Links RecordSet to access\n conditions applying to all members\n\n4. **RightsStatements.org**:\n - Standardized\
\ rights statements for cultural heritage\n - E.g., \"In Copyright\", \"No Copyright\", \"Unknown Copyright\"\n\n\
**ACCESS LEVEL TAXONOMY**:\n\n```\nAccessPolicy (root)\n │\n ├── OpenAccess\n │ ├── PUBLIC_OPEN - No restrictions,\
\ walk-in access\n │ ├── PUBLIC_REGISTRATION - Free registration required\n │ └── PUBLIC_ONLINE - Digital\
\ access freely available\n │\n ├── RestrictedAccess\n │ ├── RESEARCHERS_ONLY - Academic researchers with credentials\n\
\ │ ├── BY_APPOINTMENT - Advance booking required\n │ ├── STAFF_ONLY - Internal access only\n │ └── PERMISSION_REQUIRED\
\ - Written permission needed\n │\n ├── ClosedAccess\n │ ├── TEMPORARILY_CLOSED - Renovation, conservation\n\
\ │ ├── EMBARGOED - Time-limited closure\n │ ├── PERMANENTLY_CLOSED - Not accessible\n │ └── REPATRIATED\
\ - Returned to community of origin\n │\n └── ConditionalAccess\n ├── CULTURALLY_SENSITIVE - Indigenous/sacred\
\ materials\n ├── PRIVACY_RESTRICTED - Personal data protection\n ├── FRAGILE_HANDLING - Special handling\
\ required\n └── LEGAL_RESTRICTION - Copyright, legal constraints\n```\n\n**USE CASES**:\n\n1. **Archive Open\
\ Access**:\n ```yaml\n AccessPolicy:\n policy_id: \"hc:access-policy/nationaal-archief-open\"\n access_level:\
\ \"PUBLIC_OPEN\"\n access_description: \"Open to all visitors during reading room hours\"\n conditions: \"\
Valid ID required for registration\"\n ```\n\n2. **Restricted Research Materials**:\n ```yaml\n AccessPolicy:\n\
\ policy_id: \"hc:access-policy/university-special-collections\"\n access_level: \"RESEARCHERS_ONLY\"\n \
\ access_description: \"Academic researchers with institutional affiliation\"\n conditions: \"Letter of introduction\
\ required from supervising institution\"\n requires_appointment: true\n ```\n\n3. **Embargoed Collection**:\n\
\ ```yaml\n AccessPolicy:\n policy_id: \"hc:access-policy/donor-embargo-2050\"\n access_level: \"EMBARGOED\"\
\n access_description: \"Closed until 2050 per donor agreement\"\n embargo_end_date: \"2050-01-01\"\n embargo_reason:\
\ \"Donor privacy restrictions\"\n ```\n\n4. **Culturally Sensitive**:\n ```yaml\n AccessPolicy:\n policy_id:\
\ \"hc:access-policy/indigenous-protocols\"\n access_level: \"CULTURALLY_SENSITIVE\"\n access_description: \"\
Access governed by Traditional Knowledge protocols\"\n conditions: \"Consultation with originating community required\"\
\n cultural_protocol_url: \"https://localcontexts.org/tk-labels/\"\n ```\n\n**RELATIONSHIP TO DIM ARCHIVE**:\n\
\nDimArchive (Dark archive / Preservation-only storage) uses AccessPolicy to express:\n- Materials stored for preservation,\
\ not current access\n- Access restricted until triggering conditions (time, event)\n- \"Gray literature\" or un-catalogued\
\ backlogs awaiting processing\n"
exact_mappings: exact_mappings:
- premis:RightsStatus - premis:RightsStatus
- dcterms:accessRights - dcterms:accessRights
@ -103,16 +63,10 @@ classes:
related_mappings: related_mappings:
- rico:hasOrHadAllMembersWithAccessConditions - rico:hasOrHadAllMembersWithAccessConditions
slots: slots:
# has_or_had_access_description REMOVED - migrated to has_or_had_description (Rule 53)
- has_or_had_description - has_or_had_description
# has_or_had_access_level REMOVED - migrated to has_or_had_level (Rule 53)
- has_or_had_level - has_or_had_level
# RESTORED 2026-01-15: requires_appointment - correct semantics (schema:reservationRequired)
# KEPT for backward compatibility as simple boolean flag
- requires_appointment - requires_appointment
# MIGRATED 2026-01-22: condition → poses_or_posed_condition + Condition (Rule 53)
- poses_or_posed_condition - poses_or_posed_condition
# ADDED 2026-01-17: Rich access condition modeling per slot_fixes.yaml revision
- condition_of_access - condition_of_access
- requires_or_required - requires_or_required
- contact_email - contact_email
@ -120,7 +74,7 @@ classes:
- cultural_protocol_url - cultural_protocol_url
- embargo_end_date - embargo_end_date
- embargo_reason - embargo_reason
- imposes_or_imposed # was: fee_amount - migrated per Rule 53 (2026-01-26) - imposes_or_imposed
- fee_required - fee_required
- legal_basis - legal_basis
- policy_id - policy_id
@ -130,8 +84,8 @@ classes:
- rights_statement - rights_statement
- rights_statement_url - rights_statement_url
- specificity_annotation - specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - has_or_had_score
- temporal_extent # was: valid_from + valid_to - migrated per Rule 53 - temporal_extent
slot_usage: slot_usage:
policy_id: policy_id:
range: uriorcurie range: uriorcurie
@ -150,11 +104,14 @@ classes:
description: Restricted to researchers description: Restricted to researchers
- value: Embargoed until 2050 - value: Embargoed until 2050
description: Time-limited closure description: Time-limited closure
has_or_had_level: # was: has_or_had_access_level has_or_had_level:
description: | description: 'Access level of the policy.
Access level of the policy.
MIGRATED from has_or_had_access_level per Rule 53. MIGRATED from has_or_had_access_level per Rule 53.
Uses AccessLevel class. Uses AccessLevel class.
'
range: AccessLevel range: AccessLevel
required: true required: true
inlined: true inlined: true
@ -165,11 +122,14 @@ classes:
has_or_had_label: RESEARCHERS_ONLY has_or_had_label: RESEARCHERS_ONLY
- value: - value:
has_or_had_label: EMBARGOED has_or_had_label: EMBARGOED
has_or_had_description: # was: has_or_had_access_description has_or_had_description:
description: | description: 'Description of the access policy.
Description of the access policy.
MIGRATED from has_or_had_access_description per Rule 53. MIGRATED from has_or_had_access_description per Rule 53.
Uses Description class. Uses Description class.
'
range: Description range: Description
inlined: true inlined: true
examples: examples:
@ -179,23 +139,24 @@ classes:
- value: - value:
description_text: Access restricted to academic researchers with institutional has_or_had_affiliation description_text: Access restricted to academic researchers with institutional has_or_had_affiliation
description: University special collections description: University special collections
# MIGRATED 2026-01-22: condition → poses_or_posed_condition + Condition (Rule 53)
poses_or_posed_condition: poses_or_posed_condition:
range: Condition range: Condition
multivalued: true multivalued: true
inlined: true inlined: true
inlined_as_list: true inlined_as_list: true
description: | description: 'Access conditions or requirements using structured Condition class.
Access conditions or requirements using structured Condition class.
MIGRATED from condition string slot per slot_fixes.yaml (Rule 53, 2026-01-22). MIGRATED from condition string slot per slot_fixes.yaml (Rule 53, 2026-01-22).
'
examples: examples:
- value: - value:
- has_or_had_type: AccessCondition - has_or_had_type: AccessCondition
has_or_had_description: has_or_had_description:
description_text: "Valid government-issued ID required" description_text: Valid government-issued ID required
- has_or_had_type: AccessCondition - has_or_had_type: AccessCondition
has_or_had_description: has_or_had_description:
description_text: "Registration form must be completed" description_text: Registration form must be completed
description: Archive access conditions using Condition class description: Archive access conditions using Condition class
rights_statement: rights_statement:
range: string range: string
@ -213,9 +174,11 @@ classes:
description: No Copyright - United States description: No Copyright - United States
requires_appointment: requires_appointment:
range: boolean range: boolean
description: | description: 'Whether an appointment is required for access.
Whether an appointment is required for access.
Uses schema:reservationRequired which is semantically correct for access policies. Uses schema:reservationRequired which is semantically correct for access policies.
'
examples: examples:
- value: true - value: true
description: Appointment required description: Appointment required
@ -238,34 +201,37 @@ classes:
description: Free access description: Free access
- value: true - value: true
description: Fee required description: Fee required
imposes_or_imposed: # was: fee_amount - migrated per Rule 53 (2026-01-26) imposes_or_imposed:
description: | description: 'Fees imposed by the access policy.
Fees imposed by the access policy.
MIGRATED from fee_amount per Rule 53. MIGRATED from fee_amount per Rule 53.
Uses Fee class with structured Quantity. Uses Fee class with structured Quantity.
'
range: Fee range: Fee
inlined: true inlined: true
multivalued: true multivalued: true
examples: examples:
- value: - value:
has_or_had_quantity: has_or_had_quantity:
quantity_value: 5.00 quantity_value: 5.0
has_or_had_unit: has_or_had_unit:
unit_value: "EUR" unit_value: EUR
has_or_had_description: "Daily reading room fee" has_or_had_description: Daily reading room fee
description: €5.00 per day description: "\u20AC5.00 per day"
- value: - value:
has_or_had_quantity: has_or_had_quantity:
quantity_value: 0 quantity_value: 0
has_or_had_description: "Free for researchers" has_or_had_description: Free for researchers
description: Free for researchers description: Free for researchers
- value: - value:
has_or_had_quantity: has_or_had_quantity:
quantity_value: 10.00 quantity_value: 10.0
has_or_had_unit: has_or_had_unit:
unit_value: "EUR" unit_value: EUR
has_or_had_description: "General public fee" has_or_had_description: General public fee
description: €10 for general public description: "\u20AC10 for general public"
embargo_end_date: embargo_end_date:
range: date range: date
examples: examples:
@ -300,11 +266,14 @@ classes:
examples: examples:
- value: access@nationaalarchief.nl - value: access@nationaalarchief.nl
description: Access request contact description: Access request contact
temporal_extent: # was: valid_from + valid_to - migrated per Rule 53 temporal_extent:
description: | description: 'Validity period for this access policy using CIDOC-CRM TimeSpan.
Validity period for this access policy using CIDOC-CRM TimeSpan.
MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53).
Uses begin_of_the_begin for policy start date and end_of_the_end for expiry. Uses begin_of_the_begin for policy start date and end_of_the_end for expiry.
'
range: TimeSpan range: TimeSpan
inlined: true inlined: true
required: false required: false
@ -313,40 +282,46 @@ classes:
begin_of_the_begin: '2024-01-01' begin_of_the_begin: '2024-01-01'
end_of_the_end: '2050-12-31' end_of_the_end: '2050-12-31'
description: Policy valid from 2024 until end of 2050 description: Policy valid from 2024 until end of 2050
# ADDED 2026-01-17: Rich access condition modeling per slot_fixes.yaml revision
condition_of_access: condition_of_access:
description: | description: 'Textual conditions or requirements for access (RiC-O style).
Textual conditions or requirements for access (RiC-O style).
Use for human-readable access requirements. For structured appointment Use for human-readable access requirements. For structured appointment
data, use requires_or_required with Appointment instances. data, use requires_or_required with Appointment instances.
'
range: string range: string
multivalued: true multivalued: true
examples: examples:
- value: - value:
- "Appointment required 48 hours in advance" - Appointment required 48 hours in advance
- "Valid researcher credentials required" - Valid researcher credentials required
- "Materials must be handled with cotton gloves" - Materials must be handled with cotton gloves
description: Multiple access conditions description: Multiple access conditions
requires_or_required: requires_or_required:
description: | description: 'Links to structured Appointment entities for rich appointment modeling.
Links to structured Appointment entities for rich appointment modeling.
ADDED 2026-01-17 per slot_fixes.yaml revision for appointment_required. ADDED 2026-01-17 per slot_fixes.yaml revision for appointment_required.
Use this for detailed appointment requirements (lead time, booking method, Use this for detailed appointment requirements (lead time, booking method,
contact info). For simple boolean, use requires_appointment instead. contact info). For simple boolean, use requires_appointment instead.
'
range: Appointment range: Appointment
multivalued: true multivalued: true
inlined: true inlined: true
examples: examples:
- value: - value:
- appointment_id: "hc:appointment/special-collections-48h" - appointment_id: hc:appointment/special-collections-48h
has_or_had_label: "Special Collections Appointment" has_or_had_label: Special Collections Appointment
has_or_had_description: "Book at least 48 hours in advance for manuscript access" has_or_had_description: Book at least 48 hours in advance for manuscript access
lead_time_hours: 48 lead_time_hours: 48
booking_method: booking_method:
- email - email
- online_form - online_form
booking_contact: "bijzondere.collecties@archive.nl" booking_contact: bijzondere.collecties@archive.nl
appointment_required: true appointment_required: true
description: Structured appointment requirement with rich metadata description: Structured appointment requirement with rich metadata
comments: comments:
@ -361,7 +336,6 @@ classes:
- https://localcontexts.org/ - https://localcontexts.org/
- https://www.ica.org/standards/RiC/ontology#Rule - https://www.ica.org/standards/RiC/ontology#Rule
examples: examples:
# MIGRATED 2026-01-22: condition → poses_or_posed_condition + Condition (Rule 53)
- value: - value:
policy_id: https://nde.nl/ontology/hc/access-policy/nationaal-archief-open policy_id: https://nde.nl/ontology/hc/access-policy/nationaal-archief-open
policy_name: Nationaal Archief Public Access policy_name: Nationaal Archief Public Access
@ -372,15 +346,15 @@ classes:
poses_or_posed_condition: poses_or_posed_condition:
- has_or_had_type: AccessCondition - has_or_had_type: AccessCondition
has_or_had_description: has_or_had_description:
description_text: "Valid government-issued ID required" description_text: Valid government-issued ID required
- has_or_had_type: AccessCondition - has_or_had_type: AccessCondition
has_or_had_description: has_or_had_description:
description_text: "Registration form must be completed" description_text: Registration form must be completed
- has_or_had_type: HandlingCondition - has_or_had_type: HandlingCondition
has_or_had_description: has_or_had_description:
description_text: "Original materials handled with gloves" description_text: Original materials handled with gloves
registration_required: true registration_required: true
requires_appointment: false # Walk-in access allowed requires_appointment: false
fee_required: false fee_required: false
contact_email: studiezaal@nationaalarchief.nl contact_email: studiezaal@nationaalarchief.nl
description: Standard archive public access policy description: Standard archive public access policy
@ -406,15 +380,14 @@ classes:
poses_or_posed_condition: poses_or_posed_condition:
- has_or_had_type: ProcessingCondition - has_or_had_type: ProcessingCondition
has_or_had_description: has_or_had_description:
description_text: "Awaiting processing and cataloging" description_text: Awaiting processing and cataloging
- has_or_had_type: AccessCondition - has_or_had_type: AccessCondition
has_or_had_description: has_or_had_description:
description_text: "Access may be arranged for urgent research needs" description_text: Access may be arranged for urgent research needs
requires_appointment: true # Appointment required for DIM archive access requires_appointment: true
credentials_required: PROFESSIONAL credentials_required: PROFESSIONAL
contact_email: preservation@archive.org contact_email: preservation@archive.org
description: Dark archive / DIM access policy description: Dark archive / DIM access policy
# ADDED 2026-01-17: Example with rich appointment modeling
- value: - value:
policy_id: https://nde.nl/ontology/hc/access-policy/special-collections-rich policy_id: https://nde.nl/ontology/hc/access-policy/special-collections-rich
policy_name: Special Collections - Rich Appointment Policy policy_name: Special Collections - Rich Appointment Policy
@ -423,21 +396,24 @@ classes:
has_or_had_description: has_or_had_description:
description_text: Academic researchers with institutional affiliation description_text: Academic researchers with institutional affiliation
condition_of_access: condition_of_access:
- "Valid institutional ID required" - Valid institutional ID required
- "Letter of introduction from supervisor" - Letter of introduction from supervisor
- "Maximum 5 items per visit" - Maximum 5 items per visit
requires_or_required: requires_or_required:
- appointment_id: "hc:appointment/special-collections-booking" - appointment_id: hc:appointment/special-collections-booking
has_or_had_label: "Special Collections Appointment" has_or_had_label: Special Collections Appointment
has_or_had_description: | has_or_had_description: 'Appointments for manuscript and rare book collections must be made
Appointments for manuscript and rare book collections must be made
at least 48 hours in advance. Please specify which materials you at least 48 hours in advance. Please specify which materials you
wish to consult. wish to consult.
'
lead_time_hours: 48 lead_time_hours: 48
booking_method: booking_method:
- email - email
- online_form - online_form
booking_contact: "bijzondere.collecties@archive.nl" booking_contact: bijzondere.collecties@archive.nl
confirmation_required: true confirmation_required: true
cancellation_notice_hours: 24 cancellation_notice_hours: 24
appointment_required: true appointment_required: true
@ -446,3 +422,9 @@ classes:
fee_required: false fee_required: false
contact_email: special.collections@archive.nl contact_email: special.collections@archive.nl
description: Rich appointment modeling with structured Appointment entity description: Rich appointment modeling with structured Appointment entity
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,27 +1,27 @@
id: https://nde.nl/ontology/hc/class/AccessTriggerEvent id: https://nde.nl/ontology/hc/class/AccessTriggerEvent
name: AccessTriggerEvent name: AccessTriggerEvent
title: AccessTriggerEvent title: AccessTriggerEvent
description: >- description: An event that triggers a change in access status (e.g. embargo expiration).
An event that triggers a change in access status (e.g. embargo expiration).
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov# prov: http://www.w3.org/ns/prov#
schema: http://schema.org/ schema: http://schema.org/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/temporal_extent - ../slots/temporal_extent
classes: classes:
AccessTriggerEvent: AccessTriggerEvent:
class_uri: prov:Activity class_uri: prov:Activity
description: Access trigger event. description: Access trigger event.
slots: slots:
- has_or_had_description - has_or_had_description
- temporal_extent - temporal_extent
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -0,0 +1,31 @@
id: https://nde.nl/ontology/hc/class/AccessibilityFeature
name: AccessibilityFeature
title: AccessibilityFeature
description: >-
A feature providing accessibility.
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_label
- ../slots/has_or_had_description
classes:
AccessibilityFeature:
class_uri: schema:LocationFeatureSpecification
description: Accessibility feature.
annotations:
specificity_score: 0.1
specificity_rationale: "Generic utility class created during migration"
custodian_types: ["*"]
custodian_types_rationale: "Universal utility concept"
slots:
- has_or_had_label
- has_or_had_description

View file

@ -1,32 +1,35 @@
id: https://nde.nl/ontology/hc/class/AccessionEvent id: https://nde.nl/ontology/hc/class/AccessionEvent
name: AccessionEvent name: AccessionEvent
title: Accession Event title: Accession Event
description: >- description: The act of accessioning a record or object into a collection. MIGRATED from has_accession_date slot context per Rule 53. Follows rico:Instantiation.
The act of accessioning a record or object into a collection.
MIGRATED from has_accession_date slot context per Rule 53.
Follows rico:Instantiation.
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
imports: imports:
- linkml:types - linkml:types
- ../slots/temporal_extent - ../slots/temporal_extent
- ./TimeSpan - ./TimeSpan
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
- ./Identifier - ./Identifier
default_prefix: hc default_prefix: hc
classes: classes:
AccessionEvent: AccessionEvent:
class_uri: rico:Instantiation class_uri: rico:Instantiation
slots: slots:
- temporal_extent - temporal_extent
- has_or_had_label - has_or_had_label
- has_or_had_description - has_or_had_description
- has_or_had_identifier - has_or_had_identifier
slot_usage: slot_usage:
temporal_extent: temporal_extent:
required: true required: true
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,10 +1,7 @@
id: https://nde.nl/ontology/hc/class/AccessionNumber id: https://nde.nl/ontology/hc/class/AccessionNumber
name: AccessionNumber name: AccessionNumber
title: Accession Number title: Accession Number
description: >- description: A unique identifier assigned to an object or record upon accession. MIGRATED from has_accession_number slot per Rule 53. Follows rico:Identifier or crm:E42_Identifier.
A unique identifier assigned to an object or record upon accession.
MIGRATED from has_accession_number slot per Rule 53.
Follows rico:Identifier or crm:E42_Identifier.
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
@ -12,15 +9,21 @@ prefixes:
crm: http://www.cidoc-crm.org/cidoc-crm/ crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
imports: imports:
- linkml:types - linkml:types
- ./Identifier - ./Identifier
default_prefix: hc default_prefix: hc
classes: classes:
AccessionNumber: AccessionNumber:
is_a: Identifier is_a: Identifier
class_uri: rico:Identifier class_uri: rico:Identifier
slots: slots:
- has_or_had_label - has_or_had_label
- has_or_had_description - has_or_had_description
exact_mappings: exact_mappings:
- crm:E42_Identifier - crm:E42_Identifier
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -0,0 +1,29 @@
id: https://nde.nl/ontology/hc/class/AccountIdentifier
name: AccountIdentifier
title: AccountIdentifier
description: >-
Identifier for an account.
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_value
classes:
AccountIdentifier:
class_uri: schema:PropertyValue
description: Account identifier.
annotations:
specificity_score: 0.1
specificity_rationale: "Generic utility class created during migration"
custodian_types: ["*"]
custodian_types_rationale: "Universal utility concept"
slots:
- has_or_had_value

View file

@ -0,0 +1,29 @@
id: https://nde.nl/ontology/hc/class/AccountStatus
name: AccountStatus
title: AccountStatus
description: >-
Status of an account.
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_label
classes:
AccountStatus:
class_uri: skos:Concept
description: Account status.
annotations:
specificity_score: 0.1
specificity_rationale: "Generic utility class created during migration"
custodian_types: ["*"]
custodian_types_rationale: "Universal utility concept"
slots:
- has_or_had_label

View file

@ -0,0 +1,29 @@
id: https://nde.nl/ontology/hc/class/Accreditation
name: Accreditation
title: Accreditation
description: >-
Accreditation status or certificate.
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_label
classes:
Accreditation:
class_uri: schema:Permit
description: Accreditation.
annotations:
specificity_score: 0.1
specificity_rationale: "Generic utility class created during migration"
custodian_types: ["*"]
custodian_types_rationale: "Universal utility concept"
slots:
- has_or_had_label

View file

@ -0,0 +1,29 @@
id: https://nde.nl/ontology/hc/class/AccreditationBody
name: AccreditationBody
title: AccreditationBody
description: >-
Organization that grants accreditation.
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_name
classes:
AccreditationBody:
class_uri: schema:Organization
description: Accreditation body.
annotations:
specificity_score: 0.1
specificity_rationale: "Generic utility class created during migration"
custodian_types: ["*"]
custodian_types_rationale: "Universal utility concept"
slots:
- has_or_had_name

View file

@ -0,0 +1,29 @@
id: https://nde.nl/ontology/hc/class/AccreditationEvent
name: AccreditationEvent
title: AccreditationEvent
description: >-
Event of granting accreditation.
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov#
default_prefix: hc
imports:
- linkml:types
- ../slots/temporal_extent
classes:
AccreditationEvent:
class_uri: prov:Activity
description: Accreditation event.
annotations:
specificity_score: 0.1
specificity_rationale: "Generic utility class created during migration"
custodian_types: ["*"]
custodian_types_rationale: "Universal utility concept"
slots:
- temporal_extent

View file

@ -1,7 +1,13 @@
classes: classes:
Accumulation: Accumulation:
class_uri: rico:Accumulation class_uri: rico:Accumulation
description: "The period during which the records were accumulated." description: The period during which the records were accumulated.
slots: slots:
- temporal_extent - temporal_extent
- has_or_had_description - has_or_had_description
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,8 +1,14 @@
classes: classes:
AccuracyLevel: AccuracyLevel:
class_uri: skos:Concept class_uri: skos:Concept
description: "A qualitative or quantitative level of accuracy (e.g. for coordinates)." description: A qualitative or quantitative level of accuracy (e.g. for coordinates).
slots: slots:
- has_or_had_label - has_or_had_label
- has_or_had_description - has_or_had_description
- has_or_had_value - has_or_had_value
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,10 +1,6 @@
id: https://nde.nl/ontology/hc/class/Acquisition id: https://nde.nl/ontology/hc/class/Acquisition
name: acquisition_class name: acquisition_class
title: Acquisition Class title: Acquisition Class
# Created per slot_fixes.yaml revision for collection_date migration
# RULE 53: Structured acquisition event with temporal extent
# CIDOC-CRM E8 Acquisition pattern
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
@ -13,20 +9,22 @@ prefixes:
schema: http://schema.org/ schema: http://schema.org/
dwc: http://rs.tdwg.org/dwc/terms/ dwc: http://rs.tdwg.org/dwc/terms/
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
dcterms: http://purl.org/dc/terms/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
- ../slots/temporal_extent - ../slots/temporal_extent
- ./TimeSpan - ./TimeSpan
- ../slots/specificity_annotation - ../slots/specificity_annotation
- ../slots/has_or_had_score - ../slots/has_or_had_score
- ./SpecificityAnnotation - ./SpecificityAnnotation
- ./TemplateSpecificityScore - ./TemplateSpecificityScore
- ./TemplateSpecificityType - ./TemplateSpecificityType
- ./TemplateSpecificityTypes - ./TemplateSpecificityTypes
default_range: string default_range: string
enums: enums:
AcquisitionMethodEnum: AcquisitionMethodEnum:
description: Methods by which items are acquired for collections. description: Methods by which items are acquired for collections.
@ -59,110 +57,63 @@ enums:
description: Commissioned work (created for the collection) description: Commissioned work (created for the collection)
UNKNOWN: UNKNOWN:
description: Acquisition method unknown description: Acquisition method unknown
classes: classes:
Acquisition: Acquisition:
class_uri: crm:E8_Acquisition class_uri: crm:E8_Acquisition
description: >- description: 'Represents an acquisition event - how and when an object or specimen was obtained for a collection.
Represents an acquisition event - how and when an object or specimen was obtained for a collection.
CIDOC-CRM E8 Acquisition models the transfer of legal ownership rights. CIDOC-CRM E8 Acquisition models the transfer of legal ownership rights.
**Key properties**: **Key properties**: - `temporal_extent`: When the acquisition occurred (TimeSpan with fuzzy boundaries for historical items) - `acquisition_method`: How the item was acquired (field collection, purchase, donation, etc.) - `acquisition_source`: From whom/where acquired (collector, dealer, previous owner, field location) - `acquisition_agent`: Who performed the acquisition (collector, curator, institution)
- `temporal_extent`: When the acquisition occurred (TimeSpan with fuzzy boundaries for historical items)
- `acquisition_method`: How the item was acquired (field collection, purchase, donation, etc.) **Darwin Core alignment**: For biological specimens: - `temporal_extent` replaces `dwc:eventDate` (collection date) - `acquisition_source` can capture `dwc:locality` and `dwc:recordedBy`
- `acquisition_source`: From whom/where acquired (collector, dealer, previous owner, field location)
- `acquisition_agent`: Who performed the acquisition (collector, curator, institution) **Use cases**: - Museum object provenance (purchase from dealer, 1923) - Biological specimen collection (field collection, Amazon basin, 1750s) - Archival transfer (transferred from ministry archives, 2001) - Art donation (donated by artist''s estate, 2015)'
**Darwin Core alignment**: For biological specimens:
- `temporal_extent` replaces `dwc:eventDate` (collection date)
- `acquisition_source` can capture `dwc:locality` and `dwc:recordedBy`
**Use cases**:
- Museum object provenance (purchase from dealer, 1923)
- Biological specimen collection (field collection, Amazon basin, 1750s)
- Archival transfer (transferred from ministry archives, 2001)
- Art donation (donated by artist's estate, 2015)
exact_mappings: exact_mappings:
- crm:E8_Acquisition - crm:E8_Acquisition
close_mappings: close_mappings:
- prov:Activity - prov:Activity
- schema:AcquireAction - schema:AcquireAction
related_mappings: related_mappings:
- rico:Event - rico:Event
- dwc:Event - dwc:Event
slots: slots:
- temporal_extent - temporal_extent
- specificity_annotation - specificity_annotation
- has_or_had_score - has_or_had_score
attributes: attributes:
acquisition_method: acquisition_method:
range: AcquisitionMethodEnum range: AcquisitionMethodEnum
description: >- description: Method by which the item was acquired (field collection, purchase, donation, etc.).
Method by which the item was acquired (field collection, purchase, donation, etc.).
acquisition_source: acquisition_source:
range: string range: string
description: >- description: 'Source from which item was acquired. Can be: - Person name (collector, donor, seller) - Institution name (transferring institution) - Location (field collection locality) - Dealer or auction house'
Source from which item was acquired. Can be:
- Person name (collector, donor, seller)
- Institution name (transferring institution)
- Location (field collection locality)
- Dealer or auction house
acquisition_agent: acquisition_agent:
range: string range: string
description: >- description: Agent who performed the acquisition (collector name, curator, institution). For biological specimens, maps to dwc:recordedBy.
Agent who performed the acquisition (collector name, curator, institution).
For biological specimens, maps to dwc:recordedBy.
acquisition_location: acquisition_location:
range: string range: string
description: >- description: Location where acquisition occurred (field collection site, auction house location). For biological specimens, can capture field locality.
Location where acquisition occurred (field collection site, auction house location).
For biological specimens, can capture field locality.
acquisition_reference: acquisition_reference:
range: string range: string
description: >- description: Reference number or identifier for the acquisition (accession number, lot number).
Reference number or identifier for the acquisition (accession number, lot number).
acquisition_notes: acquisition_notes:
range: string range: string
description: >- description: Additional notes about the acquisition event.
Additional notes about the acquisition event.
acquisition_date_text: acquisition_date_text:
range: string range: string
description: >- description: Original date text as recorded (e.g., "1750s", "pre-1662", "circa 1900"). For backward compatibility with string-based collection_date. The structured date should be in temporal_extent.
Original date text as recorded (e.g., "1750s", "pre-1662", "circa 1900").
For backward compatibility with string-based collection_date.
The structured date should be in temporal_extent.
comments: comments:
- "Created per slot_fixes.yaml revision for collection_date migration" - Created per slot_fixes.yaml revision for collection_date migration
- "Replaces simple collection_date string with structured acquisition event" - Replaces simple collection_date string with structured acquisition event
- "RULE 53: Part of collection_date → was_acquired_through + Acquisition migration" - "RULE 53: Part of collection_date \u2192 was_acquired_through + Acquisition migration"
annotations: annotations:
specificity_score: 0.70 specificity_score: 0.7
specificity_rationale: "Fairly specific - applies to items with acquisition provenance" specificity_rationale: Fairly specific - applies to items with acquisition provenance
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
examples: examples:
- value: | - value: "# Biological specimen collected in the field\nacquisition_method: FIELD_COLLECTION\ntemporal_extent:\n begin_of_the_begin: \"1750-01-01\"\n end_of_the_end: \"1759-12-31\"\n notes: \"Collected sometime in the 1750s\"\nacquisition_source: \"Amazon basin, Brazil\"\nacquisition_agent: \"Unknown Dutch collector\"\nacquisition_date_text: \"1750s\"\n"
# Biological specimen collected in the field - value: "# Museum object purchased from dealer\nacquisition_method: PURCHASE\ntemporal_extent:\n begin_of_the_begin: \"1923-03-15\"\n end_of_the_end: \"1923-03-15\"\nacquisition_source: \"Sotheby's London\"\nacquisition_reference: \"Lot 245, Sale of March 1923\"\n"
acquisition_method: FIELD_COLLECTION - value: "# Historical specimen with uncertain date\nacquisition_method: FIELD_COLLECTION\ntemporal_extent:\n begin_of_the_begin: \"1600-01-01\"\n end_of_the_end: \"1662-12-31\"\n notes: \"Pre-1662 (before Great Fire of London)\"\nacquisition_date_text: \"pre-1662\"\n"
temporal_extent:
begin_of_the_begin: "1750-01-01"
end_of_the_end: "1759-12-31"
notes: "Collected sometime in the 1750s"
acquisition_source: "Amazon basin, Brazil"
acquisition_agent: "Unknown Dutch collector"
acquisition_date_text: "1750s"
- value: |
# Museum object purchased from dealer
acquisition_method: PURCHASE
temporal_extent:
begin_of_the_begin: "1923-03-15"
end_of_the_end: "1923-03-15"
acquisition_source: "Sotheby's London"
acquisition_reference: "Lot 245, Sale of March 1923"
- value: |
# Historical specimen with uncertain date
acquisition_method: FIELD_COLLECTION
temporal_extent:
begin_of_the_begin: "1600-01-01"
end_of_the_end: "1662-12-31"
notes: "Pre-1662 (before Great Fire of London)"
acquisition_date_text: "pre-1662"

View file

@ -0,0 +1,29 @@
id: https://nde.nl/ontology/hc/class/AcquisitionBudget
name: AcquisitionBudget
title: AcquisitionBudget
description: >-
Budget allocated for acquisitions.
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_amount
classes:
AcquisitionBudget:
class_uri: schema:MonetaryAmount
description: Acquisition budget.
annotations:
specificity_score: 0.1
specificity_rationale: "Generic utility class created during migration"
custodian_types: ["*"]
custodian_types_rationale: "Universal utility concept"
slots:
- has_or_had_amount

View file

@ -1,35 +1,38 @@
id: https://nde.nl/ontology/hc/class/AcquisitionEvent id: https://nde.nl/ontology/hc/class/AcquisitionEvent
name: AcquisitionEvent name: AcquisitionEvent
title: Acquisition Event title: Acquisition Event
description: >- description: An event in which an entity is acquired. MIGRATED from has_acquisition_source per Rule 53. Follows rico:Instantiation.
An event in which an entity is acquired.
MIGRATED from has_acquisition_source per Rule 53.
Follows rico:Instantiation.
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
rico: https://www.ica.org/standards/RiC/ontology# rico: https://www.ica.org/standards/RiC/ontology#
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_origin - ../slots/has_or_had_origin
- ../slots/temporal_extent - ../slots/temporal_extent
- ./TimeSpan - ./TimeSpan
- ../slots/has_or_had_method - ../slots/has_or_had_method
- ./AcquisitionMethod - ./AcquisitionMethod
- ../slots/has_or_had_provenance - ../slots/has_or_had_provenance
- ./Provenance - ./Provenance
- ./Entity - ./Entity
default_prefix: hc default_prefix: hc
classes: classes:
AcquisitionEvent: AcquisitionEvent:
class_uri: rico:Instantiation class_uri: rico:Instantiation
slots: slots:
- has_or_had_origin - has_or_had_origin
- temporal_extent - temporal_extent
- has_or_had_method - has_or_had_method
- has_or_had_provenance - has_or_had_provenance
slot_usage: slot_usage:
has_or_had_origin: has_or_had_origin:
range: Entity range: Entity
required: true required: true
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,23 +1,32 @@
id: https://nde.nl/ontology/hc/class/AcquisitionMethod id: https://nde.nl/ontology/hc/class/AcquisitionMethod
name: AcquisitionMethod name: AcquisitionMethod
title: Acquisition Method title: Acquisition Method
description: >- description: Method by which an object or collection was acquired. MIGRATED from has_acquisition_method slot context per Rule 53. Follows crm:E55_Type.
Method by which an object or collection was acquired.
MIGRATED from has_acquisition_method slot context per Rule 53.
Follows crm:E55_Type.
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
crm: http://www.cidoc-crm.org/cidoc-crm/ crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/has_or_had_description - ../slots/has_or_had_description
default_prefix: hc default_prefix: hc
classes: classes:
AcquisitionMethod: AcquisitionMethod:
class_uri: crm:E55_Type class_uri: crm:E55_Type
slots: slots:
- has_or_had_label - has_or_had_label
- has_or_had_description - has_or_had_description
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,20 +1,6 @@
# Activity - Base class for all heritage domain activities
#
# This is the main Activity class that uses generic slots for:
# - Identifier (has_activity_identifier)
# - Type (has_or_had_activity_type → ActivityType)
# - Description (has_activity_description)
# - Label (has_activity_name)
# - Timespan (has_timespan → TimeSpan)
# - Succession (is_or_was_succeeded_by, preceding_activity)
#
# Generation date: 2026-01-13
# Rule compliance: 38, 39, 42, 43, 48
id: https://nde.nl/ontology/hc/class/Activity id: https://nde.nl/ontology/hc/class/Activity
name: Activity name: Activity
title: Activity Class title: Activity Class
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
@ -25,261 +11,192 @@ prefixes:
dcterms: http://purl.org/dc/terms/ dcterms: http://purl.org/dc/terms/
aat: http://vocab.getty.edu/aat/ aat: http://vocab.getty.edu/aat/
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../metadata - ../metadata
- ./TimeSpan - ./TimeSpan
- ./ActivityType - ./ActivityType
- ./ActivityTypes - ./ActivityTypes
- ../slots/has_activity_identifier # MIGRATED: was ../slots/has_activity_identifier (2026-01-26) - ../slots/has_activity_identifier
- ../slots/has_or_had_identifier # Added for has_activity_identifier migration - ../slots/has_or_had_identifier
- ./Identifier # Added for has_or_had_identifier range - ./Identifier
- ../slots/has_or_had_label # was: has_activity_name - migrated per Rule 53 (2026-01-26) - ../slots/has_or_had_label
- ./Label - ./Label
- ../slots/has_or_had_description # was: has_activity_description - migrated per Rule 53 (2026-01-26) - ../slots/has_or_had_description
- ./Description - ./Description
- ../slots/has_activity_status - ../slots/has_activity_status
- ../slots/note - ../slots/note
- ../slots/specificity_annotation - ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/has_or_had_score
- ./SpecificityAnnotation - ./SpecificityAnnotation
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17) - ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityType - ./TemplateSpecificityTypes
- ./TemplateSpecificityTypes
classes: classes:
Activity: Activity:
class_uri: prov:Activity class_uri: prov:Activity
description: | description: "Base class for activities performed by heritage custodians.\n\n**DEFINITION**:\n\nAn Activity represents a discrete or ongoing action undertaken by a heritage\ncustodian. This is the base class for all activity instances in the ontology.\n\n**ONTOLOGICAL ALIGNMENT**:\n\n| Ontology | Class | Use Case |\n|----------|-------|----------|\n| PROV-O | prov:Activity | Primary - provenance tracking |\n| CIDOC-CRM | crm:E7_Activity | Cultural heritage domain |\n| RiC-O | rico:Activity | Archival activities |\n| Schema.org | schema:Action | Web semantics |\n\n**KEY RELATIONSHIPS**:\n\n```\nActivity\n \u2502\n \u251C\u2500\u2500 has_or_had_activity_type \u2192 ActivityType (classification)\n \u2502 \u2514\u2500\u2500 CurationActivityType, ConservationActivityType, etc.\n \u2502\n \u251C\u2500\u2500 has_timespan \u2192 TimeSpan (temporal extent)\n \u2502 \u2514\u2500\u2500 start_date, end_date, fuzzy bounds\n \u2502\n \u251C\u2500\u2500 is_or_was_succeeded_by\
Base class for activities performed by heritage custodians. \ \u2192 Activity (succession)\n \u2502\n \u2514\u2500\u2500 preceding_activity \u2192 Activity (inverse succession)\n```\n\n**SPECIALIZATION**:\n\nThis base class is extended by domain-specific activity classes:\n- CurationActivity - Collection management (existing, to be refactored)\n- ConservationActivity - Preservation work\n- ExhibitionActivity - Exhibition planning and execution\n- DigitizationActivity - Digital transformation projects\n\n**PROVENANCE (PROV-O)**:\n\nActivities generate provenance information:\n- `prov:Activity` - The activity itself\n- `prov:wasAssociatedWith` - Responsible agents\n- `prov:used` - Entities processed\n- `prov:generated` - Entities created\n- `prov:atTime` - Temporal extent\n"
**DEFINITION**:
An Activity represents a discrete or ongoing action undertaken by a heritage
custodian. This is the base class for all activity instances in the ontology.
**ONTOLOGICAL ALIGNMENT**:
| Ontology | Class | Use Case |
|----------|-------|----------|
| PROV-O | prov:Activity | Primary - provenance tracking |
| CIDOC-CRM | crm:E7_Activity | Cultural heritage domain |
| RiC-O | rico:Activity | Archival activities |
| Schema.org | schema:Action | Web semantics |
**KEY RELATIONSHIPS**:
```
Activity
├── has_or_had_activity_type → ActivityType (classification)
│ └── CurationActivityType, ConservationActivityType, etc.
├── has_timespan → TimeSpan (temporal extent)
│ └── start_date, end_date, fuzzy bounds
├── is_or_was_succeeded_by → Activity (succession)
└── preceding_activity → Activity (inverse succession)
```
**SPECIALIZATION**:
This base class is extended by domain-specific activity classes:
- CurationActivity - Collection management (existing, to be refactored)
- ConservationActivity - Preservation work
- ExhibitionActivity - Exhibition planning and execution
- DigitizationActivity - Digital transformation projects
**PROVENANCE (PROV-O)**:
Activities generate provenance information:
- `prov:Activity` - The activity itself
- `prov:wasAssociatedWith` - Responsible agents
- `prov:used` - Entities processed
- `prov:generated` - Entities created
- `prov:atTime` - Temporal extent
exact_mappings: exact_mappings:
- prov:Activity - prov:Activity
close_mappings: close_mappings:
- crm:E7_Activity - crm:E7_Activity
- rico:Activity - rico:Activity
- schema:Action - schema:Action
related_mappings: related_mappings:
- aat:300054277 # activities (functions) - aat:300054277
slots: slots:
- has_or_had_identifier # was: has_activity_identifier - migrated per Rule 53 (2026-01-26) - has_or_had_identifier
- has_or_had_label # was: has_activity_name - migrated per Rule 53 (2026-01-26) - has_or_had_label
- has_or_had_description # was: has_activity_description - migrated per Rule 53 (2026-01-26) - has_or_had_description
- has_or_had_activity_type - has_or_had_activity_type
# MIGRATED 2026-01-26: has_timespan/start_date/end_date → temporal_extent - temporal_extent
- temporal_extent - is_or_was_succeeded_by
- is_or_was_succeeded_by - preceding_activity
- preceding_activity - has_or_had_status
- has_or_had_status # was: status - migrated per Rule 53 (2026-01-26) - note
- note - specificity_annotation
- specificity_annotation - has_or_had_score
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
slot_usage: slot_usage:
has_or_had_identifier: # was: has_activity_identifier - migrated per Rule 53 (2026-01-26) has_or_had_identifier:
description: | description: 'Unique identifier for this activity instance.
Unique identifier for this activity instance.
MIGRATED from has_activity_identifier per Rule 53. MIGRATED from has_activity_identifier per Rule 53.
Format: URI following NDE Heritage Custodian ontology conventions. Format: URI following NDE Heritage Custodian ontology conventions.
Pattern: `https://nde.nl/ontology/hc/activity/{custodian-slug}-{type}-{year}-{sequence}` Pattern: `https://nde.nl/ontology/hc/activity/{custodian-slug}-{type}-{year}-{sequence}`
'
range: Identifier range: Identifier
required: true required: true
identifier: true identifier: true
inlined: true inlined: true
examples: examples:
- value: - value:
identifier_value: "https://nde.nl/ontology/hc/activity/rijksmuseum-inventory-2025-001" identifier_value: https://nde.nl/ontology/hc/activity/rijksmuseum-inventory-2025-001
description: "2025 inventory at Rijksmuseum" description: 2025 inventory at Rijksmuseum
- value: - value:
identifier_value: "https://nde.nl/ontology/hc/activity/nationaal-archief-digitization-voc-2024" identifier_value: https://nde.nl/ontology/hc/activity/nationaal-archief-digitization-voc-2024
description: "VOC digitization project at Nationaal Archief" description: VOC digitization project at Nationaal Archief
has_or_had_label:
has_or_had_label: # was: has_activity_name - migrated per Rule 53 (2026-01-26)
range: string range: string
required: true required: true
description: Human-readable name for this activity. description: Human-readable name for this activity.
examples: examples:
- value: "2025 Annual Collection Inventory" - value: 2025 Annual Collection Inventory
description: "Recurring annual inventory" description: Recurring annual inventory
- value: "VOC Archives Digitization Project Phase 2" - value: VOC Archives Digitization Project Phase 2
description: "Multi-year digitization project" description: Multi-year digitization project
has_or_had_description:
has_or_had_description: # was: has_activity_description - migrated per Rule 53 (2026-01-26)
range: string range: string
required: false required: false
description: Detailed description of the activity scope and objectives. description: Detailed description of the activity scope and objectives.
examples: examples:
- value: | - value: "Annual physical inventory of the Dutch Masters collection, \ncovering approximately 450 paintings. Spot-check methodology \nwith 20% sample verified against catalog records.\n"
Annual physical inventory of the Dutch Masters collection, description: Inventory activity description
covering approximately 450 paintings. Spot-check methodology
with 20% sample verified against catalog records.
description: "Inventory activity description"
has_or_had_activity_type: has_or_had_activity_type:
range: ActivityType range: ActivityType
required: true required: true
multivalued: true multivalued: true
description: | description: 'The type classification(s) for this activity.
The type classification(s) for this activity.
Values are ActivityType subclasses from ActivityTypes.yaml. Values are ActivityType subclasses from ActivityTypes.yaml.
'
examples: examples:
- value: CurationActivityType - value: CurationActivityType
description: "Curation activity" description: Curation activity
- value: "[DigitizationActivityType, ResearchActivityType]" - value: '[DigitizationActivityType, ResearchActivityType]'
description: "Combined digitization and research project" description: Combined digitization and research project
temporal_extent: temporal_extent:
range: TimeSpan range: TimeSpan
required: false required: false
inlined: true inlined: true
description: | description: 'Temporal extent of this activity.
Temporal extent of this activity.
Replaces has_timespan, start_date, end_date. Replaces has_timespan, start_date, end_date.
Uses CIDOC-CRM four-point temporal model for fuzzy bounds. Uses CIDOC-CRM four-point temporal model for fuzzy bounds.
'
examples: examples:
- value: - value:
begin_of_the_begin: "2025-01-15" begin_of_the_begin: '2025-01-15'
end_of_the_end: "2025-03-31" end_of_the_end: '2025-03-31'
description: "Q1 2025 activity period" description: Q1 2025 activity period
is_or_was_succeeded_by: is_or_was_succeeded_by:
range: Activity range: Activity
multivalued: true multivalued: true
inlined: false inlined: false
description: Activity/activities that follow this one. description: Activity/activities that follow this one.
examples: examples:
- value: https://nde.nl/ontology/hc/activity/conservation-treatment-2025 - value: https://nde.nl/ontology/hc/activity/conservation-treatment-2025
description: "Conservation follows condition survey" description: Conservation follows condition survey
preceding_activity: preceding_activity:
range: Activity range: Activity
inlined: false inlined: false
description: Activity that preceded this one. description: Activity that preceded this one.
examples: examples:
- value: https://nde.nl/ontology/hc/activity/condition-survey-2024 - value: https://nde.nl/ontology/hc/activity/condition-survey-2024
description: "Condition survey informed this conservation treatment" description: Condition survey informed this conservation treatment
has_or_had_status:
has_or_had_status: # was: status - migrated per Rule 53 (2026-01-26)
range: string range: string
required: false required: false
description: Current status of the activity. description: Current status of the activity.
examples: examples:
- value: "IN_PROGRESS" - value: IN_PROGRESS
description: "Activity currently underway" description: Activity currently underway
- value: "COMPLETED" - value: COMPLETED
description: "Activity finished" description: Activity finished
- value: "PLANNED" - value: PLANNED
description: "Activity scheduled for future" description: Activity scheduled for future
note: note:
range: string range: string
multivalued: true multivalued: true
description: Additional notes about the activity. description: Additional notes about the activity.
annotations: annotations:
specificity_score: "0.50" specificity_score: '0.50'
specificity_rationale: "Moderately specific - Activity is a core domain concept but broadly applicable across all heritage custodian types." specificity_rationale: Moderately specific - Activity is a core domain concept but broadly applicable across all heritage custodian types.
has_or_had_score: # was: template_specificity - migrated per Rule 53 (2026-01-17) has_or_had_score: null
custodian_types:
# NOTE: slot_usage may need manual review for range/description updates '{"collection_discovery": 0.65, "organizational_change": 0.55, "general_heritage": 0.50}' - '*'
custodian_types_rationale: Universal utility concept
comments: comments:
- "Base class for all heritage domain activities" - Base class for all heritage domain activities
- "Extended by CurationActivity, ConservationActivity, etc." - Extended by CurationActivity, ConservationActivity, etc.
- "Uses generic slots: has_activity_identifier, has_or_had_activity_type, has_timespan" - 'Uses generic slots: has_activity_identifier, has_or_had_activity_type, has_timespan'
- "PROV-O primary alignment for provenance tracking" - PROV-O primary alignment for provenance tracking
- "Supports activity chaining via is_or_was_succeeded_by/preceding_activity" - Supports activity chaining via is_or_was_succeeded_by/preceding_activity
see_also: see_also:
- https://www.w3.org/TR/prov-o/ - https://www.w3.org/TR/prov-o/
- http://www.cidoc-crm.org/html/cidoc_crm_v7.1.3.html#E7 - http://www.cidoc-crm.org/html/cidoc_crm_v7.1.3.html#E7
- https://www.ica.org/standards/RiC/ontology - https://www.ica.org/standards/RiC/ontology
examples: examples:
- value: - value:
has_or_had_identifier: has_or_had_identifier:
identifier_value: "https://nde.nl/ontology/hc/activity/rijksmuseum-inventory-2025-001" identifier_value: https://nde.nl/ontology/hc/activity/rijksmuseum-inventory-2025-001
has_or_had_label: "2025 Annual Collection Inventory - Dutch Masters" has_or_had_label: 2025 Annual Collection Inventory - Dutch Masters
has_or_had_activity_type: has_or_had_activity_type:
- CurationActivityType - CurationActivityType
has_or_had_description: | has_or_had_description: "Annual physical inventory of the Dutch Masters collection \n(Gallery of Honour and adjacent galleries). Spot-check methodology \nwith 20% sample verification against CMS records.\n"
Annual physical inventory of the Dutch Masters collection temporal_extent:
(Gallery of Honour and adjacent galleries). Spot-check methodology begin_of_the_begin: '2025-01-15'
with 20% sample verification against CMS records. end_of_the_end: '2025-03-31'
temporal_extent: has_or_had_status: IN_PROGRESS
begin_of_the_begin: "2025-01-15" description: Inventory activity at Rijksmuseum
end_of_the_end: "2025-03-31" - value:
has_or_had_status: "IN_PROGRESS" has_or_had_identifier:
description: "Inventory activity at Rijksmuseum" identifier_value: https://nde.nl/ontology/hc/activity/kb-digitization-medieval-2024
has_or_had_label: Medieval Manuscripts Digitization Project
- value: has_or_had_activity_type:
has_or_had_identifier: - DigitizationActivityType
identifier_value: "https://nde.nl/ontology/hc/activity/kb-digitization-medieval-2024" - ResearchActivityType
has_or_had_label: "Medieval Manuscripts Digitization Project" has_or_had_description: "High-resolution digitization of 342 medieval manuscripts with \nHTR processing and metadata enhancement. IIIF-compliant output.\n"
has_or_had_activity_type: temporal_extent:
- DigitizationActivityType begin_of_the_begin: '2024-03-01'
- ResearchActivityType end_of_the_end: '2025-12-31'
has_or_had_description: | has_or_had_status: IN_PROGRESS
High-resolution digitization of 342 medieval manuscripts with preceding_activity: https://nde.nl/ontology/hc/activity/kb-condition-survey-2023
HTR processing and metadata enhancement. IIIF-compliant output. description: Digitization and research project at KB
temporal_extent:
begin_of_the_begin: "2024-03-01"
end_of_the_end: "2025-12-31"
has_or_had_status: "IN_PROGRESS"
preceding_activity: https://nde.nl/ontology/hc/activity/kb-condition-survey-2023
description: "Digitization and research project at KB"

View file

@ -1,16 +1,6 @@
# ActivityType - Abstract base class for activity type classifications
#
# Following the Type/Types naming convention (Rule 0b):
# - ActivityType.yaml: Abstract base class defining the type taxonomy
# - ActivityTypes.yaml: File containing all concrete subclasses
#
# Generation date: 2026-01-13
# Rule compliance: 0b (Type/Types naming), 37 (specificity scores), 50 (ontology mapping)
id: https://nde.nl/ontology/hc/class/ActivityType id: https://nde.nl/ontology/hc/class/ActivityType
name: ActivityType name: ActivityType
title: Activity Type Classification title: Activity Type Classification
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
@ -20,186 +10,112 @@ prefixes:
schema: http://schema.org/ schema: http://schema.org/
aat: http://vocab.getty.edu/aat/ aat: http://vocab.getty.edu/aat/
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/created - ../slots/created
- ../slots/modified - ../slots/modified
- ../slots/has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-15) - ../slots/has_or_had_identifier
- ./WikiDataIdentifier # for has_or_had_identifier range - ./WikiDataIdentifier
- ../slots/specificity_annotation - ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/has_or_had_score
- ../slots/has_or_had_description # was: type_description - migrated per Rule 53/56 (2026-01-16) - ../slots/has_or_had_description
- ../slots/has_or_had_label # was: type_label - migrated per Rule 53 - ../slots/has_or_had_label
- ./SpecificityAnnotation - ./SpecificityAnnotation
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17) - ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityType - ./TemplateSpecificityTypes
- ./TemplateSpecificityTypes
classes: classes:
ActivityType: ActivityType:
class_uri: skos:Concept class_uri: skos:Concept
description: | description: "Abstract base class for activity type classifications in the heritage domain.\n\n**DEFINITION**:\n\nActivityType represents CATEGORIES of activities performed by heritage\ncustodians, not individual activity instances. Each subclass defines\ncharacteristics of an activity category (function, typical duration,\ndeliverables, etc.).\n\n**CRITICAL: TYPE vs INSTANCE**\n\n| Aspect | ActivityType (This Class) | Activity (Instance Class) |\n|--------|---------------------------|---------------------------|\n| **Nature** | Classification/category | Individual activity |\n| **Examples** | CURATION, CONSERVATION | \"2025 Inventory at Rijksmuseum\" |\n| **Properties** | Category metadata, typical standards | Dates, responsible actors |\n| **Cardinality** | ~20-30 types | Thousands of instances |\n\n**CATEGORY STRUCTURE**:\n\nActivity types are organized into high-level categories:\n\n1. **CURATION**: Collection management activities\n - Accessioning, Cataloging, Inventory, Deaccessioning\n\
Abstract base class for activity type classifications in the heritage domain. \ - Rehousing, Relocation, Storage Reorganization\n \n2. **CONSERVATION**: Preservation activities\n - Preventive Conservation, Condition Assessment\n - Restoration, Stabilization, Environmental Monitoring\n \n3. **COMMERCIAL**: Business activities\n - Sales, Licensing, Merchandising\n - Venue Rental, Event Hosting\n \n4. **RESEARCH**: Scholarly activities\n - Provenance Research, Cataloging Research\n - Scientific Analysis, Documentation\n \n5. **EDUCATION**: Educational activities\n - Guided Tours, Workshops, Lectures\n - Online Courses, Educational Programs\n \n6. **EXHIBITION**: Display activities\n - Permanent Exhibition, Temporary Exhibition\n - Traveling Exhibition, Virtual Exhibition\n \n7. **DIGITIZATION**: Digital transformation activities\n - Scanning, Photography, 3D Modeling\n - OCR/HTR Processing, Metadata Enhancement\n \n8. **ADMINISTRATIVE**: Governance activities\n - Audit, Valuation, Insurance\n - Loan Management, Rights\
\ Management\n\n**ONTOLOGY ALIGNMENT**:\n\n- **SKOS Concept**: Activity types are concepts in a controlled vocabulary\n- **CIDOC-CRM E55_Type**: Cultural heritage domain type system\n- **AAT**: Getty Art & Architecture Thesaurus for activity terms\n- **SPECTRUM**: UK Collections Management Standard procedures\n\n**SUBCLASSES**:\n\nSee ActivityTypes.yaml for concrete activity type subclasses organized\nby category: CURATION, CONSERVATION, COMMERCIAL, RESEARCH, EDUCATION,\nEXHIBITION, DIGITIZATION, and ADMINISTRATIVE.\n"
**DEFINITION**:
ActivityType represents CATEGORIES of activities performed by heritage
custodians, not individual activity instances. Each subclass defines
characteristics of an activity category (function, typical duration,
deliverables, etc.).
**CRITICAL: TYPE vs INSTANCE**
| Aspect | ActivityType (This Class) | Activity (Instance Class) |
|--------|---------------------------|---------------------------|
| **Nature** | Classification/category | Individual activity |
| **Examples** | CURATION, CONSERVATION | "2025 Inventory at Rijksmuseum" |
| **Properties** | Category metadata, typical standards | Dates, responsible actors |
| **Cardinality** | ~20-30 types | Thousands of instances |
**CATEGORY STRUCTURE**:
Activity types are organized into high-level categories:
1. **CURATION**: Collection management activities
- Accessioning, Cataloging, Inventory, Deaccessioning
- Rehousing, Relocation, Storage Reorganization
2. **CONSERVATION**: Preservation activities
- Preventive Conservation, Condition Assessment
- Restoration, Stabilization, Environmental Monitoring
3. **COMMERCIAL**: Business activities
- Sales, Licensing, Merchandising
- Venue Rental, Event Hosting
4. **RESEARCH**: Scholarly activities
- Provenance Research, Cataloging Research
- Scientific Analysis, Documentation
5. **EDUCATION**: Educational activities
- Guided Tours, Workshops, Lectures
- Online Courses, Educational Programs
6. **EXHIBITION**: Display activities
- Permanent Exhibition, Temporary Exhibition
- Traveling Exhibition, Virtual Exhibition
7. **DIGITIZATION**: Digital transformation activities
- Scanning, Photography, 3D Modeling
- OCR/HTR Processing, Metadata Enhancement
8. **ADMINISTRATIVE**: Governance activities
- Audit, Valuation, Insurance
- Loan Management, Rights Management
**ONTOLOGY ALIGNMENT**:
- **SKOS Concept**: Activity types are concepts in a controlled vocabulary
- **CIDOC-CRM E55_Type**: Cultural heritage domain type system
- **AAT**: Getty Art & Architecture Thesaurus for activity terms
- **SPECTRUM**: UK Collections Management Standard procedures
**SUBCLASSES**:
See ActivityTypes.yaml for concrete activity type subclasses organized
by category: CURATION, CONSERVATION, COMMERCIAL, RESEARCH, EDUCATION,
EXHIBITION, DIGITIZATION, and ADMINISTRATIVE.
abstract: true abstract: true
exact_mappings: exact_mappings:
- skos:Concept - skos:Concept
close_mappings: close_mappings:
- crm:E55_Type - crm:E55_Type
- schema:DefinedTerm - schema:DefinedTerm
related_mappings: related_mappings:
- prov:Activity - prov:Activity
- aat:300054277 # activities (functions) - aat:300054277
slots: slots:
- created - created
- modified - modified
- specificity_annotation - specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - has_or_had_score
- has_or_had_description # was: type_description - migrated per Rule 53/56 (2026-01-16) - has_or_had_description
- has_or_had_identifier # was: type_id, wikidata_entity - consolidated per Rule 56 (2026-01-16) - has_or_had_identifier
- has_or_had_label # was: type_label - has_or_had_label
slot_usage: slot_usage:
has_or_had_identifier: # was: type_id - migrated per Rule 56 (2026-01-16) has_or_had_identifier:
range: uriorcurie range: uriorcurie
required: true required: true
identifier: true identifier: true
multivalued: true multivalued: true
description: | description: 'Unique identifier(s) for this activity type.
Unique identifier(s) for this activity type.
MIGRATED from type_id per Rule 56 (2026-01-16). MIGRATED from type_id per Rule 56 (2026-01-16).
Also includes Wikidata entity references (previously wikidata_entity). Also includes Wikidata entity references (previously wikidata_entity).
'
examples: examples:
- value: https://nde.nl/ontology/hc/activity-type/curation - value: https://nde.nl/ontology/hc/activity-type/curation
description: Internal type identifier for curation description: Internal type identifier for curation
- value: wd:Q1348059 - value: wd:Q1348059
description: Wikidata entity for curation description: Wikidata entity for curation
has_or_had_label:
has_or_had_label: # was: type_label - migrated per Rule 53
range: string range: string
required: true required: true
multivalued: true multivalued: true
description: | description: 'Human-readable label for this activity type.
Human-readable label for this activity type.
MIGRATED from type_label per slot_fixes.yaml (Rule 53). MIGRATED from type_label per slot_fixes.yaml (Rule 53).
'
examples: examples:
- value: ["Curation@en", "curatie@nl", "Kuration@de"] - value:
description: Multilingual labels for curation type - Curation@en
- curatie@nl
has_or_had_description: # was: type_description - migrated per Rule 53/56 (2026-01-16) - Kuration@de
description: Multilingual labels for curation type
has_or_had_description:
range: string range: string
required: false required: false
examples: examples:
- value: "Activities related to the ongoing management and care of collections" - value: Activities related to the ongoing management and care of collections
description: Description of curation activity type description: Description of curation activity type
created: created:
range: datetime range: datetime
modified: modified:
range: datetime range: datetime
annotations: annotations:
specificity_score: "0.40" specificity_score: '0.40'
specificity_rationale: "Moderately specific - activity types are domain-relevant but not specific to any single conversation template." specificity_rationale: Moderately specific - activity types are domain-relevant but not specific to any single conversation template.
has_or_had_score: # was: template_specificity - migrated per Rule 53 (2026-01-17) has_or_had_score: null
custodian_types:
# NOTE: slot_usage may need manual review for range/description updates '{"collection_discovery": 0.60, "organizational_change": 0.50, "general_heritage": 0.40}' - '*'
custodian_types_rationale: Universal utility concept
comments: comments:
- "Abstract base class - use specific subclasses (CurationType, ConservationType, etc.)" - Abstract base class - use specific subclasses (CurationType, ConservationType, etc.)
- "Represents ACTIVITY TYPES, not activity instances" - Represents ACTIVITY TYPES, not activity instances
- "Activity.has_or_had_activity_type references these type classes" - Activity.has_or_had_activity_type references these type classes
- "Follows Type/Types naming convention (Rule 0b)" - Follows Type/Types naming convention (Rule 0b)
- "Organized by function, domain, and typical characteristics" - Organized by function, domain, and typical characteristics
see_also: see_also:
- https://www.wikidata.org/ - https://www.wikidata.org/
- https://www.w3.org/2004/02/skos/ - https://www.w3.org/2004/02/skos/
- http://vocab.getty.edu/aat/ - http://vocab.getty.edu/aat/
- https://collectionstrust.org.uk/spectrum/ - https://collectionstrust.org.uk/spectrum/
examples: examples:
- value: - value:
has_or_had_identifier: # was: type_id, wikidata_entity has_or_had_identifier:
- https://nde.nl/ontology/hc/activity-type/curation - https://nde.nl/ontology/hc/activity-type/curation
- wd:Q1348059 - wd:Q1348059
has_or_had_label: has_or_had_label:
- Curation@en - Curation@en
- curatie@nl - curatie@nl
has_or_had_description: "Activities related to ongoing collection management" # was: type_description has_or_had_description: Activities related to ongoing collection management
description: "Curation activity type with multilingual labels and identifiers" description: Curation activity type with multilingual labels and identifiers

View file

@ -1,26 +1,12 @@
# ActivityTypes - Concrete activity type subclasses
#
# Following the Type/Types naming convention (Rule 0b):
# - ActivityType.yaml: Abstract base class defining the type taxonomy
# - ActivityTypes.yaml: File containing all concrete subclasses (THIS FILE)
#
# Generation date: 2026-01-13
# Rule compliance: 0b (Type/Types naming), 37 (specificity scores), 50 (ontology mapping)
# Migration: 2026-01-16 - wikidata_entity → wikidata_equivalent per Rule 53
id: https://nde.nl/ontology/hc/class/ActivityTypes id: https://nde.nl/ontology/hc/class/ActivityTypes
name: ActivityTypes name: ActivityTypes
title: Activity Type Subclasses title: ActivityTypes
description: >-
Container for ActivityType instances.
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
crm: http://www.cidoc-crm.org/cidoc-crm/
prov: http://www.w3.org/ns/prov#
schema: http://schema.org/
aat: http://vocab.getty.edu/aat/
wd: http://www.wikidata.org/entity/ # Added for Wikidata mappings (2026-01-17)
default_prefix: hc default_prefix: hc
@ -29,394 +15,12 @@ imports:
- ./ActivityType - ./ActivityType
classes: classes:
# =========================================================================== ActivityTypes:
# CURATION ACTIVITY TYPES class_uri: hc:ActivityTypes
# =========================================================================== description: Activity types container.
CurationActivityType:
is_a: ActivityType
class_uri: crm:E87_Curation_Activity
description: |
Activity type for ongoing collection management activities.
**CIDOC-CRM Definition**:
E87_Curation_Activity comprises "the activities that result in the continuity of
management and the preservation and evolution of instances of E78 Curated Holding."
**Subtypes**:
- Accessioning, Deaccessioning
- Cataloging, Inventory
- Rehousing, Relocation, Storage Reorganization
- Collection Development
**SPECTRUM Alignment**: Maps to SPECTRUM primary procedures
exact_mappings:
- crm:E87_Curation_Activity
- wd:Q1348059 # Wikidata: curation (was: annotation wikidata_equivalent - migrated per Rule 53, 2026-01-17)
close_mappings:
- aat:300054277 # activities (functions)
annotations: annotations:
activity_category: CURATION specificity_score: 0.1
spectrum_procedures: "inventory, cataloguing, acquisition, deaccession-and-disposal" specificity_rationale: "Generic utility class created during migration"
custodian_types: ["*"]
# =========================================================================== custodian_types_rationale: "Universal utility concept"
# CONSERVATION ACTIVITY TYPES tree_root: true
# ===========================================================================
ConservationActivityType:
is_a: ActivityType
class_uri: crm:E11_Modification
description: |
Activity type for preservation and conservation activities.
**CIDOC-CRM Definition**:
E11_Modification "comprises instances of E7 Activity that are undertaken to
create, alter or change E24 Physical Human-Made Thing."
**Subtypes**:
- Preventive Conservation
- Condition Assessment, Condition Survey
- Restoration, Stabilization
- Environmental Monitoring
- Disaster Planning and Response
**SPECTRUM Alignment**: Maps to SPECTRUM condition checking and collections care
exact_mappings:
- crm:E11_Modification
- wd:Q217102 # Wikidata: conservation (was: annotation wikidata_equivalent - migrated per Rule 53, 2026-01-17)
close_mappings:
- aat:300053803 # conservation (activity)
annotations:
activity_category: CONSERVATION
spectrum_procedures: "condition-checking, collections-care, conservation-assessment"
# ===========================================================================
# COMMERCIAL ACTIVITY TYPES
# ===========================================================================
CommercialActivityType:
is_a: ActivityType
class_uri: schema:TradeAction
description: |
Activity type for commercial and business operations.
**Definition**:
Commercial activities that generate revenue or involve commercial transactions
for heritage institutions.
**Subtypes**:
- Sales (museum shop, publications)
- Licensing (image rights, reproductions)
- Merchandising
- Venue Rental
- Event Hosting
- Ticket Sales
**Note**: Distinct from non-commercial educational or public service activities.
exact_mappings:
- schema:TradeAction
- wd:Q601401 # Wikidata: commerce (was: annotation wikidata_equivalent - migrated per Rule 53, 2026-01-17)
close_mappings:
- aat:300055704 # commerce
annotations:
activity_category: COMMERCIAL
# ===========================================================================
# RESEARCH ACTIVITY TYPES
# ===========================================================================
ResearchActivityType:
is_a: ActivityType
class_uri: crm:E7_Activity
description: |
Activity type for scholarly and research activities.
**Definition**:
Research activities undertaken by heritage custodians to increase knowledge
about collections, provenance, or heritage subjects.
**Subtypes**:
- Provenance Research
- Scientific Analysis (dating, material analysis)
- Historical Research
- Cataloging Research (attribution, identification)
- Documentation
- Publication
**CIDOC-CRM**: Maps to E13_Attribute_Assignment for research outcomes
exact_mappings:
- crm:E7_Activity
- wd:Q42240 # Wikidata: research (was: annotation wikidata_equivalent - migrated per Rule 53, 2026-01-17)
close_mappings:
- aat:300054608 # research (activity)
related_mappings:
- crm:E13_Attribute_Assignment
annotations:
activity_category: RESEARCH
# ===========================================================================
# EDUCATION ACTIVITY TYPES
# ===========================================================================
EducationActivityType:
is_a: ActivityType
class_uri: schema:EducationEvent
description: |
Activity type for educational and public programming activities.
**Definition**:
Educational activities designed to inform, educate, or engage the public
with heritage collections and subjects.
**Subtypes**:
- Guided Tours
- Workshops
- Lectures and Talks
- Educational Programs (school visits)
- Online Courses
- Public Events
- Outreach Programs
**Schema.org**: Maps to EducationEvent for structured data
exact_mappings:
- schema:EducationEvent
- wd:Q8434 # Wikidata: education (was: annotation wikidata_equivalent - migrated per Rule 53, 2026-01-17)
close_mappings:
- aat:300054552 # education (activity)
annotations:
activity_category: EDUCATION
# ===========================================================================
# EXHIBITION ACTIVITY TYPES
# ===========================================================================
ExhibitionActivityType:
is_a: ActivityType
class_uri: schema:ExhibitionEvent
description: |
Activity type for exhibition and display activities.
**Definition**:
Activities related to the public display of heritage collections.
**Subtypes**:
- Permanent Exhibition
- Temporary Exhibition
- Traveling Exhibition
- Virtual Exhibition
- Pop-up Exhibition
- Installation
**Schema.org**: Maps to ExhibitionEvent for structured data
exact_mappings:
- schema:ExhibitionEvent
- wd:Q464980 # Wikidata: exhibition (was: annotation wikidata_equivalent - migrated per Rule 53, 2026-01-17)
close_mappings:
- aat:300054766 # exhibitions (events)
related_mappings:
- crm:E7_Activity
annotations:
activity_category: EXHIBITION
# ===========================================================================
# DIGITIZATION ACTIVITY TYPES
# ===========================================================================
DigitizationActivityType:
is_a: ActivityType
class_uri: crm:E65_Creation
description: |
Activity type for digital transformation activities.
**Definition**:
Activities that create digital representations of physical heritage objects
or enhance digital access to collections.
**Subtypes**:
- Scanning (2D imaging)
- Photography (high-resolution capture)
- 3D Modeling (photogrammetry, laser scanning)
- OCR/HTR Processing (text recognition)
- Metadata Enhancement
- Digital Preservation
- IIIF Implementation
**CIDOC-CRM**: E65_Creation for creation of digital surrogates
exact_mappings:
- crm:E65_Creation
- wd:Q1116930 # Wikidata: digitization (was: annotation wikidata_equivalent - migrated per Rule 53, 2026-01-17)
close_mappings:
- aat:300266022 # digitization
annotations:
activity_category: DIGITIZATION
# ===========================================================================
# ADMINISTRATIVE ACTIVITY TYPES
# ===========================================================================
AdministrativeActivityType:
is_a: ActivityType
class_uri: prov:Activity
description: |
Activity type for governance and administrative activities.
**Definition**:
Administrative activities related to collection governance, compliance,
and institutional operations.
**Subtypes**:
- Audit
- Valuation
- Insurance Assessment
- Loan Management (incoming/outgoing)
- Rights Management
- Policy Development
- Strategic Planning
**SPECTRUM Alignment**: Maps to SPECTRUM audit, valuation, loans procedures
exact_mappings:
- prov:Activity
- wd:Q18643507 # Wikidata: administrative activity (was: annotation wikidata_equivalent - migrated per Rule 53, 2026-01-17)
close_mappings:
- aat:300055709 # administration
annotations:
activity_category: ADMINISTRATIVE
spectrum_procedures: "audit, valuation, loans-out, loans-in, rights-management"
# ===========================================================================
# ACQUISITION ACTIVITY TYPES
# ===========================================================================
AcquisitionActivityType:
is_a: ActivityType
class_uri: crm:E8_Acquisition
description: |
Activity type for acquisition and collection development activities.
**CIDOC-CRM Definition**:
E8_Acquisition "comprises the activities that result in the acquisition of a
E18 Physical Thing into the custody of an agent for a specific purpose."
**Subtypes**:
- Purchase
- Gift/Donation
- Bequest
- Transfer
- Excavation
- Field Collection
**SPECTRUM Alignment**: Maps to SPECTRUM acquisition procedure
exact_mappings:
- crm:E8_Acquisition
- wd:Q17157817 # Wikidata: acquisition (was: annotation wikidata_equivalent - migrated per Rule 53, 2026-01-17)
close_mappings:
- aat:300055711 # acquisition (activity)
annotations:
activity_category: ACQUISITION
spectrum_procedures: "acquisition"
# ===========================================================================
# MEMBERSHIP ACTIVITY TYPES
# ===========================================================================
MembershipActivityType:
is_a: ActivityType
class_uri: schema:JoinAction
description: |
Activity type for membership and affiliation activities.
**Definition**:
Activities related to institutional membership in professional organizations,
consortia, or networks.
**Subtypes**:
- Professional Membership (ICOM, ALA, SAA)
- Consortium Membership
- Network Participation
- Partnership Agreement
**Schema.org**: Maps to JoinAction for joining organizations
exact_mappings:
- schema:JoinAction
- wd:Q1141470 # Wikidata: membership (was: annotation wikidata_equivalent - migrated per Rule 53, 2026-01-17)
close_mappings:
- schema:OrganizationRole
annotations:
activity_category: MEMBERSHIP
# ===========================================================================
# LOAN ACTIVITY TYPES
# ===========================================================================
LoanActivityType:
is_a: ActivityType
class_uri: crm:E10_Transfer_of_Custody
description: |
Activity type for loan management activities.
**CIDOC-CRM Definition**:
E10_Transfer_of_Custody "comprises activities that result in a change of
custody of an E18 Physical Thing."
**Subtypes**:
- Outgoing Loan
- Incoming Loan
- Long-term Loan
- Exhibition Loan
**SPECTRUM Alignment**: Maps to SPECTRUM loans-out and loans-in procedures
exact_mappings:
- crm:E10_Transfer_of_Custody
- wd:Q1332755 # Wikidata: loan (was: annotation wikidata_equivalent - migrated per Rule 53, 2026-01-17)
close_mappings:
- aat:300312155 # loaning
annotations:
activity_category: LOAN
spectrum_procedures: "loans-out, loans-in"
# ===========================================================================
# COMMUNITY ENGAGEMENT ACTIVITY TYPES
# ===========================================================================
CommunityEngagementActivityType:
is_a: ActivityType
class_uri: schema:InteractAction
description: |
Activity type for community outreach, public programming, and engagement activities.
**Definition**:
Activities that connect heritage custodians with broader communities through
advocacy, public programs, and participatory engagement.
**Subtypes**:
- Membership Meetings: Monthly, quarterly, annual gatherings
- Lecture Series: Guest speakers on heritage topics
- Field Trips: Site visits, museum tours, heritage walks
- Workshops: Skill-building sessions (genealogy, conservation, identification)
- Public Events: Open houses, exhibitions, school programs
- Community Events: Heritage days, festivals, memorial events
- Digital Engagement: Websites, social media, online forums, virtual meetings
- Advocacy: Historic preservation, heritage education, policy engagement
- Partnerships: Collaborations with local government, museums, libraries, universities
**Typical Use Cases**:
- Heritage societies (heemkundekringen) connecting with local communities
- Archive associations conducting public outreach
- Museums hosting community events
**Schema.org**: Maps to InteractAction for community interaction activities
**Migration Note**: Created 2026-01-19 per slot_fixes.yaml revision.
Replaces community_engagement slot (string) with structured Activity class.
exact_mappings:
- schema:InteractAction
- wd:Q1069284 # Wikidata: community engagement
close_mappings:
- schema:CommunicateAction
- aat:300054552 # education (activity) - overlaps with educational engagement
related_mappings:
- schema:Event
annotations:
activity_category: COMMUNITY_ENGAGEMENT
migration_date: "2026-01-19"
replaces_slot: "community_engagement"

View file

@ -1,26 +1,26 @@
id: https://nde.nl/ontology/hc/class/Actor id: https://nde.nl/ontology/hc/class/Actor
name: Actor name: Actor
title: Actor title: Actor
description: >- description: An actor involved in an event or activity.
An actor involved in an event or activity.
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov# prov: http://www.w3.org/ns/prov#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_name - ../slots/has_or_had_name
- ../slots/has_or_had_role - ../slots/has_or_had_role
classes: classes:
Actor: Actor:
class_uri: prov:Agent class_uri: prov:Agent
description: Involved actor. description: Involved actor.
slots: slots:
- has_or_had_name - has_or_had_name
- has_or_had_role - has_or_had_role
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,18 +1,6 @@
# AddressType - Abstract base class for address type classifications
#
# Following the Type/Types naming convention (Rule 0b):
# - AddressType.yaml: Abstract base class defining the type taxonomy
# - AddressTypes.yaml: File containing all concrete subclasses
#
# Generation date: 2026-01-13 (migrated from address_type slot)
# Rule compliance: 0b (Type/Types naming), 37 (specificity scores), 38 (slot centralization)
#
# MIGRATION: This file replaces address_type slot with has_or_had_type + AddressType class
id: https://nde.nl/ontology/hc/class/AddressType id: https://nde.nl/ontology/hc/class/AddressType
name: address_type_class name: address_type_class
title: Address Type Class title: Address Type Class
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
@ -22,235 +10,179 @@ prefixes:
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
dcterms: http://purl.org/dc/terms/ dcterms: http://purl.org/dc/terms/
crm: http://www.cidoc-crm.org/cidoc-crm/ crm: http://www.cidoc-crm.org/cidoc-crm/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
# Shared slots (centralized) - ../slots/has_or_had_identifier
- ../slots/has_or_had_identifier - ../slots/has_or_had_code
- ../slots/has_or_had_short_code - ../slots/has_or_had_label
- ../slots/has_or_had_label - ../slots/has_or_had_description
- ../slots/has_or_had_description - ../slots/has_or_had_hypernym
- ../slots/has_or_had_hypernym - ../slots/has_or_had_hyponym
- ../slots/has_or_had_hyponym - ../slots/is_or_was_related_to
- ../slots/is_or_was_related_to - ../slots/is_or_was_equivalent_to
# REMOVED 2026-01-15: wikidata_id - migrated to is_or_was_equivalent_to + WikiDataIdentifier (Rule 53) - ./WikiDataIdentifier
- ../slots/is_or_was_equivalent_to
- ./WikiDataIdentifier
classes: classes:
AddressType: AddressType:
class_uri: skos:Concept class_uri: skos:Concept
description: | description: "Classification type for Address purposes in heritage custodian contexts.\n\n**DEFINITION**:\n\nAddressType provides a SKOS-based classification hierarchy for categorizing\ndifferent types of addresses based on their purpose or function. This enables:\n- Rich metadata (descriptions, use cases)\n- Hierarchical relationships (broader/narrower types)\n- Extensibility (new types without enum modification)\n- Semantic alignment with vCard, GLEIF, and Schema.org ontologies\n\n**ONTOLOGY ALIGNMENT**:\n\n| Ontology | Class/Property | Notes |\n|----------|----------------|-------|\n| **vCard** | `vcard:Type` | RFC6350 type codes (Home, Work) |\n| **GLEIF** | `gleif_base:hasAddressLegal`, `gleif_base:hasAddressHeadquarters` | Legal entity addresses |\n| **CIDOC-CRM** | `crm:E55_Type` | General type classification |\n| **SKOS** | `skos:Concept` | Controlled vocabulary concept |\n\n**ADDRESS TYPES FOR HERITAGE CUSTODIANS**:\n\n| Type | Use Case |\n|------|----------|\n| `HEADQUARTERS`\
Classification type for Address purposes in heritage custodian contexts. \ | Main organizational address |\n| `LEGAL` | Registered legal/business address (KvK, Chamber of Commerce) |\n| `VISITING` | Public visitor entrance address |\n| `MAILING` | Correspondence/postal address |\n| `STORAGE` | Depot, warehouse, off-site storage facility |\n| `BRANCH` | Branch office location |\n| `READING_ROOM` | Public reading/research room entrance |\n\n**RELATIONSHIP TO OTHER CLASSES**:\n\n```\nAddress (physical address)\n \u2502\n \u2514\u2500\u2500 has_or_had_type \u2192 AddressType (THIS CLASS)\n \u251C\u2500\u2500 has_or_had_hypernym \u2192 AddressType (parent in hierarchy)\n \u251C\u2500\u2500 has_or_had_hyponym \u2192 AddressType[] (children)\n \u2514\u2500\u2500 has_or_had_description (text)\n```\n\n**SLOT MIGRATION** (2026-01-13):\n\nThis class replaces the address_type string slot with a proper class hierarchy.\nOld pattern: `address_type: HEADQUARTERS` (string)\nNew pattern: `has_or_had_type: AddressType` (object reference)\n"
**DEFINITION**:
AddressType provides a SKOS-based classification hierarchy for categorizing
different types of addresses based on their purpose or function. This enables:
- Rich metadata (descriptions, use cases)
- Hierarchical relationships (broader/narrower types)
- Extensibility (new types without enum modification)
- Semantic alignment with vCard, GLEIF, and Schema.org ontologies
**ONTOLOGY ALIGNMENT**:
| Ontology | Class/Property | Notes |
|----------|----------------|-------|
| **vCard** | `vcard:Type` | RFC6350 type codes (Home, Work) |
| **GLEIF** | `gleif_base:hasAddressLegal`, `gleif_base:hasAddressHeadquarters` | Legal entity addresses |
| **CIDOC-CRM** | `crm:E55_Type` | General type classification |
| **SKOS** | `skos:Concept` | Controlled vocabulary concept |
**ADDRESS TYPES FOR HERITAGE CUSTODIANS**:
| Type | Use Case |
|------|----------|
| `HEADQUARTERS` | Main organizational address |
| `LEGAL` | Registered legal/business address (KvK, Chamber of Commerce) |
| `VISITING` | Public visitor entrance address |
| `MAILING` | Correspondence/postal address |
| `STORAGE` | Depot, warehouse, off-site storage facility |
| `BRANCH` | Branch office location |
| `READING_ROOM` | Public reading/research room entrance |
**RELATIONSHIP TO OTHER CLASSES**:
```
Address (physical address)
└── has_or_had_type → AddressType (THIS CLASS)
├── has_or_had_hypernym → AddressType (parent in hierarchy)
├── has_or_had_hyponym → AddressType[] (children)
└── has_or_had_description (text)
```
**SLOT MIGRATION** (2026-01-13):
This class replaces the address_type string slot with a proper class hierarchy.
Old pattern: `address_type: HEADQUARTERS` (string)
New pattern: `has_or_had_type: AddressType` (object reference)
exact_mappings: exact_mappings:
- skos:Concept - skos:Concept
close_mappings: close_mappings:
- vcard:Type - vcard:Type
- crm:E55_Type - crm:E55_Type
related_mappings: related_mappings:
- gleif_base:hasAddressLegal - gleif_base:hasAddressLegal
- gleif_base:hasAddressHeadquarters - gleif_base:hasAddressHeadquarters
slots: slots:
# Shared slots (from centralized slot files) - has_or_had_identifier
- has_or_had_identifier - has_or_had_code
- has_or_had_short_code - has_or_had_label
- has_or_had_label - has_or_had_description
- has_or_had_description - has_or_had_hypernym
- has_or_had_hypernym - has_or_had_hyponym
- has_or_had_hyponym - is_or_was_related_to
- is_or_was_related_to - is_or_was_equivalent_to
# REMOVED 2026-01-15: wikidata_id - migrated to is_or_was_equivalent_to (Rule 53)
- is_or_was_equivalent_to
slot_usage: slot_usage:
has_or_had_identifier: has_or_had_identifier:
range: uriorcurie range: uriorcurie
required: true required: true
identifier: true identifier: true
pattern: "^https://nde\\.nl/ontology/hc/address-type/[a-z0-9-]+$" pattern: ^https://nde\.nl/ontology/hc/address-type/[a-z0-9-]+$
examples: examples:
- value: https://nde.nl/ontology/hc/address-type/headquarters - value: https://nde.nl/ontology/hc/address-type/headquarters
description: Main organizational headquarters address type description: Main organizational headquarters address type
- value: https://nde.nl/ontology/hc/address-type/legal - value: https://nde.nl/ontology/hc/address-type/legal
description: Registered legal address type description: Registered legal address type
has_or_had_code:
has_or_had_short_code:
range: string range: string
required: true required: true
pattern: "^[A-Z][A-Z0-9_]*$" pattern: ^[A-Z][A-Z0-9_]*$
examples: examples:
- value: HEADQUARTERS - value: HEADQUARTERS
- value: LEGAL - value: LEGAL
- value: VISITING - value: VISITING
- value: MAILING - value: MAILING
- value: STORAGE - value: STORAGE
- value: BRANCH - value: BRANCH
has_or_had_label: has_or_had_label:
range: string range: string
required: true required: true
multivalued: true multivalued: true
examples: examples:
- value: ["Headquarters@en", "Hoofdkantoor@nl"] - value:
- value: ["Legal Address@en", "Juridisch adres@nl"] - Headquarters@en
- value: ["Visiting Address@en", "Bezoekadres@nl"] - Hoofdkantoor@nl
- value:
- Legal Address@en
- Juridisch adres@nl
- value:
- Visiting Address@en
- Bezoekadres@nl
has_or_had_description: has_or_had_description:
range: string range: string
examples: examples:
- value: "Main organizational address where primary operations occur." - value: Main organizational address where primary operations occur.
has_or_had_hypernym: has_or_had_hypernym:
range: AddressType range: AddressType
description: "Parent address type in the classification hierarchy." description: Parent address type in the classification hierarchy.
has_or_had_hyponym: has_or_had_hyponym:
range: AddressType range: AddressType
multivalued: true multivalued: true
inlined_as_list: true inlined_as_list: true
description: "Child address types in the classification hierarchy." description: Child address types in the classification hierarchy.
is_or_was_related_to: is_or_was_related_to:
range: AddressType range: AddressType
multivalued: true multivalued: true
inlined_as_list: true inlined_as_list: true
description: "Non-hierarchical associations with other address types." description: Non-hierarchical associations with other address types.
is_or_was_equivalent_to: is_or_was_equivalent_to:
range: WikiDataIdentifier range: WikiDataIdentifier
multivalued: true multivalued: true
inlined: true inlined: true
inlined_as_list: true inlined_as_list: true
description: | description: 'Wikidata equivalence for this address type concept.
Wikidata equivalence for this address type concept.
MIGRATED 2026-01-15: Replaces wikidata_id slot per Rule 53.
examples:
- value:
- qid: "Q1234567"
label: "Headquarters address"
description: Wikidata equivalence for headquarters address type
annotations:
specificity_score: "0.30"
specificity_rationale: "Address types are broadly applicable - all heritage custodians have addresses."
has_or_had_score: # was: template_specificity - migrated per Rule 53 (2026-01-17)
# NOTE: slot_usage may need manual review for range/description updates '{"collection_discovery": 0.20, "organizational_change": 0.35, "general_heritage": 0.25}' MIGRATED 2026-01-15: Replaces wikidata_id slot per Rule 53.
slot_migration: |
2026-01-13: Migrated from address_type string slot to AddressType class '
- address_type (string) → has_or_had_type (AddressType) examples:
- value:
- qid: Q1234567
label: Headquarters address
description: Wikidata equivalence for headquarters address type
annotations:
specificity_score: '0.30'
specificity_rationale: Address types are broadly applicable - all heritage custodians have addresses.
has_or_had_score: null
slot_migration: "2026-01-13: Migrated from address_type string slot to AddressType class\n- address_type (string) \u2192 has_or_had_type (AddressType)\n"
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
comments: comments:
- "AddressType provides SKOS-based classification for Address instances" - AddressType provides SKOS-based classification for Address instances
- "Supports hierarchical type relationships (has_or_had_hypernym/hyponym)" - Supports hierarchical type relationships (has_or_had_hypernym/hyponym)
- "Richer semantics than flat address_type string slot" - Richer semantics than flat address_type string slot
- "Aligned with vCard Type, GLEIF address distinctions" - Aligned with vCard Type, GLEIF address distinctions
- "MIGRATED 2026-01-13: Now uses shared slots (Rule 38)" - 'MIGRATED 2026-01-13: Now uses shared slots (Rule 38)'
see_also: see_also:
- https://www.w3.org/TR/vcard-rdf/#d4e1769 - https://www.w3.org/TR/vcard-rdf/#d4e1769
- https://www.gleif.org/ontology/Base/ - https://www.gleif.org/ontology/Base/
examples: examples:
- value: - value:
has_or_had_identifier: https://nde.nl/ontology/hc/address-type/headquarters has_or_had_identifier: https://nde.nl/ontology/hc/address-type/headquarters
has_or_had_short_code: HEADQUARTERS has_or_had_code: HEADQUARTERS
has_or_had_label: has_or_had_label:
- Headquarters@en - Headquarters@en
- Hoofdkantoor@nl - Hoofdkantoor@nl
has_or_had_description: | has_or_had_description: 'Main organizational address where primary operations occur.
Main organizational address where primary operations occur.
This is typically where leadership and central administration This is typically where leadership and central administration
are located.
description: Headquarters address type definition are located.
- value: '
has_or_had_identifier: https://nde.nl/ontology/hc/address-type/legal description: Headquarters address type definition
has_or_had_short_code: LEGAL - value:
has_or_had_label: has_or_had_identifier: https://nde.nl/ontology/hc/address-type/legal
- Legal Address@en has_or_had_code: LEGAL
- Juridisch adres@nl has_or_had_label:
- Statutaire zetel@nl - Legal Address@en
has_or_had_description: | - Juridisch adres@nl
Registered legal address for official correspondence and legal - Statutaire zetel@nl
purposes. May differ from operational headquarters. has_or_had_description: 'Registered legal address for official correspondence and legal
For Dutch organizations, this is the address registered with KvK.
description: Legal/statutory address type definition purposes. May differ from operational headquarters.
- value: For Dutch organizations, this is the address registered with KvK.
has_or_had_identifier: https://nde.nl/ontology/hc/address-type/visiting
has_or_had_short_code: VISITING '
has_or_had_label: description: Legal/statutory address type definition
- Visiting Address@en - value:
- Bezoekadres@nl has_or_had_identifier: https://nde.nl/ontology/hc/address-type/visiting
has_or_had_description: | has_or_had_code: VISITING
Public entrance for visitors. May include museums, archives, has_or_had_label:
or libraries with public reading rooms. - Visiting Address@en
description: Public visiting address type definition - Bezoekadres@nl
has_or_had_description: 'Public entrance for visitors. May include museums, archives,
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/address-type/storage or libraries with public reading rooms.
has_or_had_short_code: STORAGE
has_or_had_label: '
- Storage Facility@en description: Public visiting address type definition
- Opslaglocatie@nl - value:
- Depot@nl has_or_had_identifier: https://nde.nl/ontology/hc/address-type/storage
has_or_had_description: | has_or_had_code: STORAGE
Off-site storage facility, depot, or warehouse for collections. has_or_had_label:
Not typically open to the public. - Storage Facility@en
is_or_was_related_to: - Opslaglocatie@nl
- https://nde.nl/ontology/hc/address-type/branch - Depot@nl
description: Storage/depot address type definition has_or_had_description: 'Off-site storage facility, depot, or warehouse for collections.
Not typically open to the public.
'
is_or_was_related_to:
- https://nde.nl/ontology/hc/address-type/branch
description: Storage/depot address type definition

View file

@ -1,239 +1,237 @@
# AddressTypes - Concrete subclasses for AddressType
#
# Following the Type/Types naming convention (Rule 0b):
# - AddressType.yaml: Abstract base class defining the type taxonomy
# - AddressTypes.yaml: This file contains all concrete subclasses
#
# Generation date: 2026-01-13 (migrated from address_type slot values)
# Rule compliance: 0b (Type/Types naming), 37 (specificity scores)
id: https://nde.nl/ontology/hc/class/AddressTypes id: https://nde.nl/ontology/hc/class/AddressTypes
name: address_types_classes name: address_types_classes
title: Address Types Concrete Classes title: Address Types Concrete Classes
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
vcard: http://www.w3.org/2006/vcard/ns# vcard: http://www.w3.org/2006/vcard/ns#
gleif_base: https://www.gleif.org/ontology/Base/ gleif_base: https://www.gleif.org/ontology/Base/
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ./AddressType - ./AddressType
classes: classes:
HeadquartersAddress: HeadquartersAddress:
is_a: AddressType is_a: AddressType
class_uri: hc:HeadquartersAddress class_uri: hc:HeadquartersAddress
description: | description: 'Main organizational headquarters address where primary operations occur.
Main organizational headquarters address where primary operations occur.
This is typically where leadership and central administration are located. This is typically where leadership and central administration are located.
**Ontology Alignment**: **Ontology Alignment**:
- GLEIF: `gleif_base:hasAddressHeadquarters` - GLEIF: `gleif_base:hasAddressHeadquarters`
'
close_mappings: close_mappings:
- gleif_base:hasAddressHeadquarters - gleif_base:hasAddressHeadquarters
annotations: annotations:
short_code: HEADQUARTERS short_code: HEADQUARTERS
specificity_score: "0.25" specificity_score: '0.25'
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
examples: examples:
- value: - value:
has_or_had_short_code: HEADQUARTERS has_or_had_code: HEADQUARTERS
has_or_had_label: has_or_had_label:
- Headquarters@en - Headquarters@en
- Hoofdkantoor@nl - Hoofdkantoor@nl
description: Rijksmuseum main headquarters description: Rijksmuseum main headquarters
LegalAddress: LegalAddress:
is_a: AddressType is_a: AddressType
class_uri: hc:LegalAddress class_uri: hc:LegalAddress
description: | description: 'Registered legal address for official correspondence and legal purposes.
Registered legal address for official correspondence and legal purposes.
May differ from operational headquarters. May differ from operational headquarters.
For Dutch organizations, this is the address registered with the For Dutch organizations, this is the address registered with the
Chamber of Commerce (Kamer van Koophandel - KvK). Chamber of Commerce (Kamer van Koophandel - KvK).
**Ontology Alignment**: **Ontology Alignment**:
- GLEIF: `gleif_base:hasAddressLegal` - GLEIF: `gleif_base:hasAddressLegal`
'
close_mappings: close_mappings:
- gleif_base:hasAddressLegal - gleif_base:hasAddressLegal
annotations: annotations:
short_code: LEGAL short_code: LEGAL
specificity_score: "0.30" specificity_score: '0.30'
examples: examples:
- value: - value:
has_or_had_short_code: LEGAL has_or_had_code: LEGAL
has_or_had_label: has_or_had_label:
- Legal Address@en - Legal Address@en
- Juridisch adres@nl - Juridisch adres@nl
- Statutaire zetel@nl - Statutaire zetel@nl
description: Registered legal address from KvK description: Registered legal address from KvK
VisitingAddress: VisitingAddress:
is_a: AddressType is_a: AddressType
class_uri: hc:VisitingAddress class_uri: hc:VisitingAddress
description: | description: 'Public entrance address for visitors.
Public entrance address for visitors.
For heritage custodians, this is typically where the public enters For heritage custodians, this is typically where the public enters
to visit exhibitions, reading rooms, or public services. to visit exhibitions, reading rooms, or public services.
May include accessible entrances for persons with disabilities. May include accessible entrances for persons with disabilities.
'
annotations: annotations:
short_code: VISITING short_code: VISITING
specificity_score: "0.25" specificity_score: '0.25'
examples: examples:
- value: - value:
has_or_had_short_code: VISITING has_or_had_code: VISITING
has_or_had_label: has_or_had_label:
- Visiting Address@en - Visiting Address@en
- Bezoekadres@nl - Bezoekadres@nl
description: Public visitor entrance description: Public visitor entrance
MailingAddress: MailingAddress:
is_a: AddressType is_a: AddressType
class_uri: hc:MailingAddress class_uri: hc:MailingAddress
description: | description: 'Postal correspondence address.
Postal correspondence address.
Address for receiving mail and correspondence. May be a P.O. Box Address for receiving mail and correspondence. May be a P.O. Box
or differ from physical location addresses. or differ from physical location addresses.
'
annotations: annotations:
short_code: MAILING short_code: MAILING
specificity_score: "0.25" specificity_score: '0.25'
examples: examples:
- value: - value:
has_or_had_short_code: MAILING has_or_had_code: MAILING
has_or_had_label: has_or_had_label:
- Mailing Address@en - Mailing Address@en
- Postadres@nl - Postadres@nl
- Correspondentieadres@nl - Correspondentieadres@nl
description: Postal correspondence address description: Postal correspondence address
StorageAddress: StorageAddress:
is_a: AddressType is_a: AddressType
class_uri: hc:StorageAddress class_uri: hc:StorageAddress
description: | description: 'Off-site storage facility, depot, or warehouse address.
Off-site storage facility, depot, or warehouse address.
Not typically open to the public. May house collection items Not typically open to the public. May house collection items
not currently on display, archival materials, or preservation not currently on display, archival materials, or preservation
facilities. facilities.
Related to StorageType for describing the type of storage facility. Related to StorageType for describing the type of storage facility.
'
annotations: annotations:
short_code: STORAGE short_code: STORAGE
specificity_score: "0.40" specificity_score: '0.40'
examples: examples:
- value: - value:
has_or_had_short_code: STORAGE has_or_had_code: STORAGE
has_or_had_label: has_or_had_label:
- Storage Facility@en - Storage Facility@en
- Opslaglocatie@nl - Opslaglocatie@nl
- Depot@nl - Depot@nl
description: Off-site collection depot description: Off-site collection depot
BranchAddress: BranchAddress:
is_a: AddressType is_a: AddressType
class_uri: hc:BranchAddress class_uri: hc:BranchAddress
description: | description: 'Branch office or satellite location address.
Branch office or satellite location address.
For heritage custodians with multiple locations, this identifies For heritage custodians with multiple locations, this identifies
addresses of branch offices, satellite reading rooms, or regional addresses of branch offices, satellite reading rooms, or regional
service points. service points.
'
annotations: annotations:
short_code: BRANCH short_code: BRANCH
specificity_score: "0.35" specificity_score: '0.35'
examples: examples:
- value: - value:
has_or_had_short_code: BRANCH has_or_had_code: BRANCH
has_or_had_label: has_or_had_label:
- Branch Office@en - Branch Office@en
- Vestiging@nl - Vestiging@nl
- Filiaal@nl - Filiaal@nl
description: Branch office location description: Branch office location
ReadingRoomAddress: ReadingRoomAddress:
is_a: AddressType is_a: AddressType
class_uri: hc:ReadingRoomAddress class_uri: hc:ReadingRoomAddress
description: | description: 'Public reading room or research room entrance address.
Public reading room or research room entrance address.
Specific to archives and libraries, this identifies where Specific to archives and libraries, this identifies where
researchers access original materials for consultation. researchers access original materials for consultation.
May differ from the main visiting address. May differ from the main visiting address.
'
annotations: annotations:
short_code: READING_ROOM short_code: READING_ROOM
specificity_score: "0.50" specificity_score: '0.50'
examples: examples:
- value: - value:
has_or_had_short_code: READING_ROOM has_or_had_code: READING_ROOM
has_or_had_label: has_or_had_label:
- Reading Room@en - Reading Room@en
- Studiezaal@nl - Studiezaal@nl
- Leeszaal@nl - Leeszaal@nl
description: Archive/library reading room entrance description: Archive/library reading room entrance
DeliveryAddress: DeliveryAddress:
is_a: AddressType is_a: AddressType
class_uri: hc:DeliveryAddress class_uri: hc:DeliveryAddress
description: | description: 'Goods delivery and receiving address.
Goods delivery and receiving address.
Address for receiving deliveries, including acquisitions, Address for receiving deliveries, including acquisitions,
loans, and supplies. May include loading dock facilities. loans, and supplies. May include loading dock facilities.
'
annotations: annotations:
short_code: DELIVERY short_code: DELIVERY
specificity_score: "0.40" specificity_score: '0.40'
examples: examples:
- value: - value:
has_or_had_short_code: DELIVERY has_or_had_code: DELIVERY
has_or_had_label: has_or_had_label:
- Delivery Address@en - Delivery Address@en
- Afleveradres@nl - Afleveradres@nl
- Goederenontvangst@nl - Goederenontvangst@nl
description: Delivery receiving dock description: Delivery receiving dock
ConservationLabAddress: ConservationLabAddress:
is_a: AddressType is_a: AddressType
class_uri: hc:ConservationLabAddress class_uri: hc:ConservationLabAddress
description: | description: 'Conservation laboratory or restoration facility address.
Conservation laboratory or restoration facility address.
May be separate from main facilities, housing specialized May be separate from main facilities, housing specialized
equipment for preservation and restoration work. equipment for preservation and restoration work.
'
annotations: annotations:
short_code: CONSERVATION_LAB short_code: CONSERVATION_LAB
specificity_score: "0.55" specificity_score: '0.55'
examples: examples:
- value: - value:
has_or_had_short_code: CONSERVATION_LAB has_or_had_code: CONSERVATION_LAB
has_or_had_label: has_or_had_label:
- Conservation Laboratory@en - Conservation Laboratory@en
- Restauratieatelier@nl - Restauratieatelier@nl
- Conserveringslab@nl - Conserveringslab@nl
description: Restoration workshop facility description: Restoration workshop facility

View file

@ -1,8 +1,14 @@
classes: classes:
Administration: Administration:
class_uri: org:OrganizationalUnit class_uri: org:OrganizationalUnit
description: "An administrative unit or body." description: An administrative unit or body.
slots: slots:
- has_or_had_label - has_or_had_label
- has_or_had_description - has_or_had_description
- has_or_had_identifier - has_or_had_identifier
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,47 +1,49 @@
# AdministrativeLevel class
# Represents a level in a government or administrative hierarchy
#
# Generation date: 2026-01-27
# Rule compliance: 0b, 38, 39, 53
#
# Created for has_administrative_level migration
id: https://nde.nl/ontology/hc/class/AdministrativeLevel id: https://nde.nl/ontology/hc/class/AdministrativeLevel
name: AdministrativeLevel name: AdministrativeLevel
title: Administrative Level Class title: Administrative Level Class
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
schema: http://schema.org/ schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/has_or_had_code - ../slots/has_or_had_code
- ../slots/has_or_had_description - ../slots/has_or_had_description
classes: classes:
AdministrativeLevel: AdministrativeLevel:
class_uri: skos:Concept class_uri: skos:Concept
description: | description: 'A level or tier within an administrative or government hierarchy.
A level or tier within an administrative or government hierarchy.
**Examples**: **Examples**:
- National/Federal - National/Federal
- State/Provincial - State/Provincial
- Regional - Regional
- Municipal/Local - Municipal/Local
**Ontological Alignment**: **Ontological Alignment**:
- `skos:Concept`: Concept in a hierarchy scheme. - `skos:Concept`: Concept in a hierarchy scheme.
'
slots: slots:
- has_or_had_label - has_or_had_label
- has_or_had_code - has_or_had_code
- has_or_had_description - has_or_had_description
slot_usage: slot_usage:
has_or_had_label: has_or_had_label:
description: Name of the level (e.g., "National") description: Name of the level (e.g., "National")
@ -49,3 +51,9 @@ classes:
has_or_had_code: has_or_had_code:
description: Code for the level (e.g., "NAT", "ISO-3166-2") description: Code for the level (e.g., "NAT", "ISO-3166-2")
required: false required: false
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -2,34 +2,32 @@ id: https://nde.nl/ontology/hc/class/administrative-office
name: administrative_office_class name: administrative_office_class
title: AdministrativeOffice Class title: AdministrativeOffice Class
imports: imports:
- linkml:types - linkml:types
- ./ReconstructedEntity - ./ReconstructedEntity
- ./CustodianObservation - ./CustodianObservation
- ./ReconstructionActivity - ./ReconstructionActivity
- ./FunctionType - ./FunctionType
- ../slots/is_or_was_derived_from # was: was_derived_from - migrated per Rule 53 - ../slots/is_or_was_derived_from
- ../slots/is_or_was_generated_by # was: was_generated_by - migrated per Rule 53 - ../slots/is_or_was_generated_by
- ../slots/has_or_had_access_restriction - ../slots/has_or_had_access_restriction
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../classes/Description - ../classes/Description
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../classes/Label - ../classes/Label
- ../slots/has_or_had_admin_staff_count # has_or_had_admin_staff_count REMOVED - migrated to has_or_had_staff + Staff (Rule 53)
# administrative_functions REMOVED - migrated to has_or_had_function (Rule 53) - ../slots/has_or_had_staff
# has_or_had_administrative_function REMOVED - bespoke slot replaced by generic has_or_had_function (Rule 53) - ./Staff
- ../slots/has_or_had_function - ../slots/has_or_had_function
- ../slots/is_leased - ../slots/is_leased
- ../slots/lease_expiry - ../slots/lease_expiry
- ../slots/specificity_annotation - ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/has_or_had_score
- ./SpecificityAnnotation - ./SpecificityAnnotation
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17) - ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityType - ./TemplateSpecificityTypes
- ../slots/has_or_had_identifier
- ./TemplateSpecificityTypes - ../classes/Identifier
- ../slots/has_or_had_identifier
- ../classes/Identifier
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
@ -44,75 +42,9 @@ classes:
AdministrativeOffice: AdministrativeOffice:
is_a: ReconstructedEntity is_a: ReconstructedEntity
class_uri: org:Site class_uri: org:Site
description: >- description: "Non-public administrative building or office space of a heritage custodian.\n**DEFINITION**:\nAn AdministrativeOffice is a secondary physical location where a heritage custodian performs back-office, administrative, or support functions that do not directly serve the public. These locations typically house staff performing finance, HR, IT, management, or other operational activities.\n**W3C ORG ALIGNMENT**:\n`org:Site` - \"An office or other premise at which the organization is located.\"\nAdministrativeOffice specializes org:Site for non-public administrative spaces: - Financial/accounting departments - Human resources offices - IT infrastructure locations - Executive/management offices\n**DISTINCTION FROM OTHER AUXILIARY PLACE TYPES**:\n| Type | Public Access | Primary Function | |------|---------------|------------------| | BranchOffice | Yes | Public service delivery | | **AdministrativeOffice** | No | Back-office operations | | ResearchCenter | Limited | Research/conservation\
Non-public administrative building or office space of a heritage custodian. \ | | Storage | No | Collection storage |\n**TYPICAL CHARACTERISTICS**:\n- **Staff-only access**: No public visitors - **Administrative functions**: Finance, HR, IT, management - **Separate from collections**: No collection materials stored - **Cost center**: Often in lower-cost location than main building\n**USE CASES**:\n1. **Separate Administrative Building**:\n - Museum finance department in office park\n - Archive IT/digitization support center\n\n2. **Executive Offices**:\n - Foundation board meeting space\n - Director's office separate from main building\n\n3. **Support Services**:\n - Facilities management office\n - Marketing/communications department\n\n**Example - Administrative Annex**: ```yaml AdministrativeOffice:\n has_admin_office_identifier: \"https://nde.nl/ontology/hc/aux/rijksmuseum-admin-zuidas\"\n has_admin_office_name: \"Rijksmuseum Administrative Offices - Zuidas\"\n has_admin_office_description: |\n Administrative support offices housing finance,\
\ HR, and IT departments.\n Staff access only. Located in Zuidas business district for cost efficiency.\n has_or_had_function:\n - function_category: ADMINISTRATIVE\n function_name: \"Finance and accounting\"\n - function_category: ADMINISTRATIVE\n function_name: \"Human resources\"\n - function_category: SUPPORT\n function_name: \"Information technology\"\n - function_category: ADMINISTRATIVE\n function_name: \"Legal affairs\"\n has_or_had_access_restriction: \"Staff badge required\"\n```"
**DEFINITION**:
An AdministrativeOffice is a secondary physical location where a heritage
custodian performs back-office, administrative, or support functions that
do not directly serve the public. These locations typically house staff
performing finance, HR, IT, management, or other operational activities.
**W3C ORG ALIGNMENT**:
`org:Site` - "An office or other premise at which the organization is located."
AdministrativeOffice specializes org:Site for non-public administrative spaces:
- Financial/accounting departments
- Human resources offices
- IT infrastructure locations
- Executive/management offices
**DISTINCTION FROM OTHER AUXILIARY PLACE TYPES**:
| Type | Public Access | Primary Function |
|------|---------------|------------------|
| BranchOffice | Yes | Public service delivery |
| **AdministrativeOffice** | No | Back-office operations |
| ResearchCenter | Limited | Research/conservation |
| Storage | No | Collection storage |
**TYPICAL CHARACTERISTICS**:
- **Staff-only access**: No public visitors
- **Administrative functions**: Finance, HR, IT, management
- **Separate from collections**: No collection materials stored
- **Cost center**: Often in lower-cost location than main building
**USE CASES**:
1. **Separate Administrative Building**:
- Museum finance department in office park
- Archive IT/digitization support center
2. **Executive Offices**:
- Foundation board meeting space
- Director's office separate from main building
3. **Support Services**:
- Facilities management office
- Marketing/communications department
**Example - Administrative Annex**:
```yaml
AdministrativeOffice:
has_admin_office_identifier: "https://nde.nl/ontology/hc/aux/rijksmuseum-admin-zuidas"
has_admin_office_name: "Rijksmuseum Administrative Offices - Zuidas"
has_admin_office_description: |
Administrative support offices housing finance, HR, and IT departments.
Staff access only. Located in Zuidas business district for cost efficiency.
has_or_had_function:
- function_category: ADMINISTRATIVE
function_name: "Finance and accounting"
- function_category: ADMINISTRATIVE
function_name: "Human resources"
- function_category: SUPPORT
function_name: "Information technology"
- function_category: ADMINISTRATIVE
function_name: "Legal affairs"
has_or_had_access_restriction: "Staff badge required"
```
exact_mappings: exact_mappings:
- org:Site - org:Site
close_mappings: close_mappings:
@ -126,16 +58,15 @@ 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
- has_or_had_admin_staff_count # has_or_had_admin_staff_count REMOVED - migrated to has_or_had_staff (Rule 53)
# administrative_functions REMOVED - use has_or_had_function (Rule 53) - has_or_had_staff
# has_or_had_administrative_function REMOVED - bespoke, use has_or_had_function (Rule 53)
- has_or_had_function - has_or_had_function
- is_leased - is_leased
- lease_expiry - lease_expiry
- specificity_annotation - specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - has_or_had_score
- is_or_was_derived_from # was: was_derived_from - migrated per Rule 53 - is_or_was_derived_from
- is_or_was_generated_by # was: was_generated_by - migrated per Rule 53 - is_or_was_generated_by
slot_usage: slot_usage:
has_or_had_identifier: has_or_had_identifier:
range: Identifier range: Identifier
@ -153,9 +84,7 @@ classes:
multivalued: true multivalued: true
inlined: true inlined: true
inlined_as_list: true inlined_as_list: true
description: >- description: Organizational functions performed at this administrative office. Uses generic FunctionType class with function_category classification.
Organizational functions performed at this administrative office.
Uses generic FunctionType class with function_category classification.
examples: examples:
- value: - value:
function_category: ADMINISTRATIVE function_category: ADMINISTRATIVE
@ -178,10 +107,22 @@ classes:
description: Badge access description: Badge access
- value: Management access only - value: Management access only
description: Restricted access description: Restricted access
has_or_had_admin_staff_count: has_or_had_staff:
range: integer description: |
Staff associated with the administrative office.
MIGRATED from has_or_had_admin_staff_count per Rule 53.
Uses Staff class (with Quantity).
range: Staff
multivalued: true
inlined: true
examples: examples:
- value: 25 - value:
has_or_had_quantity:
has_or_had_value: 25
has_or_had_unit:
has_or_had_label: "FTE"
has_or_had_type:
has_or_had_label: "Administrative Staff"
description: Medium admin office description: Medium admin office
is_leased: is_leased:
range: boolean range: boolean
@ -195,11 +136,11 @@ classes:
examples: examples:
- value: '2028-12-31' - value: '2028-12-31'
description: Lease expires end of 2028 description: Lease expires end of 2028
is_or_was_derived_from: # was: was_derived_from - migrated per Rule 53 is_or_was_derived_from:
range: CustodianObservation range: CustodianObservation
multivalued: true multivalued: true
required: false required: false
is_or_was_generated_by: # was: was_generated_by - migrated per Rule 53 is_or_was_generated_by:
range: ReconstructionActivity range: ReconstructionActivity
required: false required: false
comments: comments:
@ -208,7 +149,7 @@ classes:
- W3C ORG org:Site specialized for administrative functions - W3C ORG org:Site specialized for administrative functions
- Often in separate building from main heritage operations - Often in separate building from main heritage operations
- May be leased rather than owned for cost efficiency - May be leased rather than owned for cost efficiency
- "MIGRATION NOTE: has_or_had_administrative_function replaced by generic has_or_had_function (Rule 53)" - 'MIGRATION NOTE: has_or_had_administrative_function replaced by generic has_or_had_function (Rule 53)'
see_also: see_also:
- https://www.w3.org/TR/vocab-org/#org:Site - https://www.w3.org/TR/vocab-org/#org:Site
- https://schema.org/Corporation - https://schema.org/Corporation
@ -233,7 +174,13 @@ classes:
- function_category: ADMINISTRATIVE - function_category: ADMINISTRATIVE
function_name: Legal affairs function_name: Legal affairs
has_or_had_access_restriction: Staff badge required has_or_had_access_restriction: Staff badge required
has_or_had_admin_staff_count: 45 has_or_had_staff:
- has_or_had_quantity:
has_or_had_value: 45
has_or_had_unit:
has_or_had_label: "FTE"
has_or_had_type:
has_or_had_label: "Administrative Staff"
is_leased: true is_leased: true
lease_expiry: '2028-12-31' lease_expiry: '2028-12-31'
description: Museum administrative office in business district description: Museum administrative office in business district
@ -255,6 +202,19 @@ classes:
- function_category: SUPPORT - function_category: SUPPORT
function_name: Technical support function_name: Technical support
has_or_had_access_restriction: Project staff only has_or_had_access_restriction: Project staff only
has_or_had_admin_staff_count: 12 has_or_had_staff:
- has_or_had_quantity:
has_or_had_value: 12
has_or_had_unit:
has_or_had_label: "FTE"
has_or_had_type:
has_or_had_label: "Technical Staff"
is_leased: false is_leased: false
lease_expiry: null
description: Library digitization support facility description: Library digitization support facility
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -0,0 +1,29 @@
id: https://nde.nl/ontology/hc/class/AdministrativeUnit
name: AdministrativeUnit
title: AdministrativeUnit
description: >-
An administrative division or unit.
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
org: http://www.w3.org/ns/org#
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_name
classes:
AdministrativeUnit:
class_uri: org:OrganizationalUnit
description: Administrative unit.
annotations:
specificity_score: 0.1
specificity_rationale: "Generic utility class created during migration"
custodian_types: ["*"]
custodian_types_rationale: "Universal utility concept"
slots:
- has_or_had_name

View file

@ -0,0 +1,29 @@
id: https://nde.nl/ontology/hc/class/AdmissionFee
name: AdmissionFee
title: AdmissionFee
description: >-
Fee charged for admission.
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_amount
classes:
AdmissionFee:
class_uri: schema:PriceSpecification
description: Admission fee.
annotations:
specificity_score: 0.1
specificity_rationale: "Generic utility class created during migration"
custodian_types: ["*"]
custodian_types_rationale: "Universal utility concept"
slots:
- has_or_had_amount

View file

@ -1,45 +1,33 @@
# AdmissionInfo - Structured admission price information from Google Maps
# Extracted from custodian_source.yaml per Rule 38 (modular schema files)
# Extraction date: 2026-01-08
id: https://nde.nl/ontology/hc/classes/AdmissionInfo id: https://nde.nl/ontology/hc/classes/AdmissionInfo
name: AdmissionInfo name: AdmissionInfo
title: AdmissionInfo title: AdmissionInfo
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/ schema: http://schema.org/
prov: http://www.w3.org/ns/prov# prov: http://www.w3.org/ns/prov#
xsd: http://www.w3.org/2001/XMLSchema# xsd: http://www.w3.org/2001/XMLSchema#
imports: imports:
- linkml:types - linkml:types
default_range: string default_range: string
classes: classes:
AdmissionInfo: AdmissionInfo:
description: >- description: "Structured admission price information from Google Maps including price value and notes about additional fees or conditions.\nOntology mapping rationale: - class_uri is schema:PriceSpecification because this represents\n structured price information for museum/institution admission\n- close_mappings includes schema:Offer for commercial offering context - related_mappings includes schema:MonetaryAmount for price values"
Structured admission price information from Google Maps including class_uri: schema:PriceSpecification
price value and notes about additional fees or conditions. close_mappings:
- schema:Offer
Ontology mapping rationale: related_mappings:
- class_uri is schema:PriceSpecification because this represents - schema:MonetaryAmount
structured price information for museum/institution admission attributes:
- close_mappings includes schema:Offer for commercial offering context price:
- related_mappings includes schema:MonetaryAmount for price values range: string
class_uri: schema:PriceSpecification description: "Admission price (e.g., \"\u20AC9.00\")"
close_mappings: note:
- schema:Offer range: string
related_mappings: description: Additional notes about admission (e.g., "Additional fees might apply")
- schema:MonetaryAmount annotations:
attributes: specificity_score: 0.1
price: specificity_rationale: Generic utility class/slot created during migration
range: string custodian_types:
description: Admission price (e.g., "€9.00") - '*'
note: custodian_types_rationale: Universal utility concept
range: string
description: Additional notes about admission (e.g., "Additional fees might
apply")

View file

@ -4,25 +4,22 @@ title: Advertising Radio Archive Type
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
imports: imports:
- linkml:types - linkml:types
- ./ArchiveOrganizationType - ./ArchiveOrganizationType
- ./CollectionType - ./CollectionType
- ./AdvertisingRadioArchiveRecordSetTypes - ./AdvertisingRadioArchiveRecordSetTypes
- ../slots/hold_or_held_record_set_type - ../slots/hold_or_held_record_set_type
- ../slots/has_or_had_custodian_type - ../slots/has_or_had_type
- ../slots/specificity_annotation - ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/has_or_had_score
- ../slots/is_or_was_related_to # was: wikidata_alignment - migrated per Rule 53 (2026-01-15) - ../slots/is_or_was_related_to
- ./SpecificityAnnotation - ./SpecificityAnnotation
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17) - ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityType - ./TemplateSpecificityTypes
- ./WikidataAlignment
- ./TemplateSpecificityTypes - ./WikiDataEntry
- ./WikidataAlignment - ./AdvertisingRadioArchiveRecordSetType
- ./WikiDataEntry # for is_or_was_related_to range (2026-01-15)
- ./AdvertisingRadioArchiveRecordSetType
# wikidata_entity import REMOVED - inherits has_or_had_identifier from ArchiveOrganizationType (Rule 53, 2026-01-16)
classes: classes:
AdvertisingRadioArchive: AdvertisingRadioArchive:
is_a: ArchiveOrganizationType is_a: ArchiveOrganizationType
@ -30,7 +27,7 @@ classes:
slots: slots:
- hold_or_held_record_set_type - hold_or_held_record_set_type
- specificity_annotation - specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - has_or_had_score
description: 'Sound archive specializing in advertising radio productions and commercials. description: 'Sound archive specializing in advertising radio productions and commercials.
@ -60,9 +57,8 @@ classes:
' '
slot_usage: slot_usage:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16) has_or_had_identifier:
pattern: ^Q[0-9]+$ pattern: ^Q[0-9]+$
# equals_string removed: Q60658673 (incompatible with uriorcurie range)
description: Wikidata identifier for Advertising Radio Archive concept description: Wikidata identifier for Advertising Radio Archive concept
exact_mappings: exact_mappings:
- skos:Concept - skos:Concept
@ -77,3 +73,9 @@ classes:
- SoundArchive - SoundArchive
- RadioArchive - RadioArchive
- MediaArchive - MediaArchive
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -5,35 +5,40 @@ prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
wd: http://www.wikidata.org/entity/ wd: http://www.wikidata.org/entity/
imports: imports:
- linkml:types - linkml:types
- ./CollectionType - ./CollectionType
- ../slots/has_or_had_custodian_type - ../slots/has_or_had_type
- ../slots/specificity_annotation - ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/has_or_had_score
- ../slots/is_or_was_related_to # was: wikidata_alignment - migrated per Rule 53 (2026-01-15) - ../slots/is_or_was_related_to
- ./WikidataAlignment # for WikidataAlignment range - ./WikidataAlignment
- ../slots/has_or_had_custodian_type - ../slots/has_or_had_type
- ../slots/is_or_was_related_to - ../slots/is_or_was_related_to
- ../slots/specificity_annotation - ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/has_or_had_score
classes: classes:
AdvertisingRadioArchiveRecordSetType: AdvertisingRadioArchiveRecordSetType:
description: A rico:RecordSetType for classifying collections of advertising radio productions and commercials within description: A rico:RecordSetType for classifying collections of advertising radio productions and commercials within heritage institutions.
heritage institutions.
is_a: CollectionType is_a: CollectionType
class_uri: rico:RecordSetType class_uri: rico:RecordSetType
exact_mappings: exact_mappings:
- wd:Q60658673 # Wikidata (was: slot_usage wikidata_equivalent - migrated per Rule 53, 2026-01-17) - wd:Q60658673
slot_usage: slot_usage:
has_or_had_custodian_type: has_or_had_type:
equals_expression: '["hc:ArchiveOrganizationType"]' equals_expression: '["hc:ArchiveOrganizationType"]'
is_or_was_related_to: # was: wikidata_alignment - migrated per Rule 53 (2026-01-15) is_or_was_related_to:
range: WikidataAlignment range: WikidataAlignment
inlined: true inlined: true
see_also: see_also:
- AdvertisingRadioArchive - AdvertisingRadioArchive
slots: slots:
- has_or_had_custodian_type - has_or_had_type
- specificity_annotation - specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - has_or_had_score
- is_or_was_related_to # was: wikidata_alignment - migrated per Rule 53 (2026-01-15) - is_or_was_related_to
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -14,42 +14,39 @@ imports:
- linkml:types - linkml:types
- ./AdvertisingRadioArchiveRecordSetType - ./AdvertisingRadioArchiveRecordSetType
- ./AdvertisingRadioArchive - ./AdvertisingRadioArchive
- ../slots/has_or_had_custodian_type - ../slots/has_or_had_type
- ../slots/specificity_annotation - ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/has_or_had_score
- ./SpecificityAnnotation - ./SpecificityAnnotation
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17) - ./TemplateSpecificityScore
- ./TemplateSpecificityType - ./TemplateSpecificityType
- ./TemplateSpecificityTypes - ./TemplateSpecificityTypes
- ../slots/organizational_principle - ../slots/organizational_principle
- ../slots/organizational_principle_uri - ../slots/organizational_principle_uri
- ../slots/record_holder - ../slots/record_holder
- ../slots/record_holder_note - ../slots/record_holder_note
- ../slots/record_set_type - ../slots/record_set_type
- ../slots/has_or_had_custodian_type - ../slots/has_or_had_type
- ../slots/organizational_principle - ../slots/organizational_principle
- ../slots/organizational_principle_uri - ../slots/organizational_principle_uri
- ../slots/record_holder - ../slots/record_holder
- ../slots/record_holder_note - ../slots/record_holder_note
- ../slots/record_set_type - ../slots/record_set_type
- ../slots/specificity_annotation - ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/has_or_had_score
- ../slots/has_or_had_custodian_type - ../slots/has_or_had_type
- ../slots/organizational_principle - ../slots/organizational_principle
- ../slots/organizational_principle_uri - ../slots/organizational_principle_uri
- ../slots/record_holder - ../slots/record_holder
- ../slots/record_holder_note - ../slots/record_holder_note
- ../slots/record_set_type - ../slots/record_set_type
- ../slots/specificity_annotation - ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/has_or_had_score
classes: classes:
RadioAdvertisementCollection: RadioAdvertisementCollection:
is_a: AdvertisingRadioArchiveRecordSetType is_a: AdvertisingRadioArchiveRecordSetType
class_uri: rico:RecordSetType class_uri: rico:RecordSetType
description: "A rico:RecordSetType for Radio commercial recordings.\n\n**RiC-O Alignment**:\nThis class is a specialized\ description: "A rico:RecordSetType for Radio commercial recordings.\n\n**RiC-O Alignment**:\nThis class is a specialized rico:RecordSetType following the collection \norganizational principle as defined by rico-rst:Collection.\n"
\ rico:RecordSetType following the collection \norganizational principle as defined by rico-rst:Collection.\n"
exact_mappings: exact_mappings:
- rico:RecordSetType - rico:RecordSetType
related_mappings: related_mappings:
@ -60,16 +57,16 @@ classes:
- AdvertisingRadioArchiveRecordSetType - AdvertisingRadioArchiveRecordSetType
- rico:RecordSetType - rico:RecordSetType
slots: slots:
- has_or_had_custodian_type - has_or_had_type
- specificity_annotation - specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - has_or_had_score
- organizational_principle - organizational_principle
- organizational_principle_uri - organizational_principle_uri
- record_holder - record_holder
- record_holder_note - record_holder_note
- record_set_type - record_set_type
slot_usage: slot_usage:
has_or_had_custodian_type: has_or_had_type:
equals_expression: '["hc:ArchiveOrganizationType"]' equals_expression: '["hc:ArchiveOrganizationType"]'
record_set_type: record_set_type:
equals_string: RadioAdvertisementCollection equals_string: RadioAdvertisementCollection
@ -81,11 +78,16 @@ classes:
equals_string: AdvertisingRadioArchive equals_string: AdvertisingRadioArchive
record_holder_note: record_holder_note:
equals_string: This RecordSetType is typically held by AdvertisingRadioArchive custodians. Inverse of rico:isOrWasHolderOf. equals_string: This RecordSetType is typically held by AdvertisingRadioArchive custodians. Inverse of rico:isOrWasHolderOf.
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
CampaignDocumentationSeries: CampaignDocumentationSeries:
is_a: AdvertisingRadioArchiveRecordSetType is_a: AdvertisingRadioArchiveRecordSetType
class_uri: rico:RecordSetType class_uri: rico:RecordSetType
description: "A rico:RecordSetType for Advertising campaign records.\n\n**RiC-O Alignment**:\nThis class is a specialized\ description: "A rico:RecordSetType for Advertising campaign records.\n\n**RiC-O Alignment**:\nThis class is a specialized rico:RecordSetType following the series \norganizational principle as defined by rico-rst:Series.\n"
\ rico:RecordSetType following the series \norganizational principle as defined by rico-rst:Series.\n"
exact_mappings: exact_mappings:
- rico:RecordSetType - rico:RecordSetType
related_mappings: related_mappings:
@ -96,16 +98,16 @@ classes:
- AdvertisingRadioArchiveRecordSetType - AdvertisingRadioArchiveRecordSetType
- rico:RecordSetType - rico:RecordSetType
slots: slots:
- has_or_had_custodian_type - has_or_had_type
- specificity_annotation - specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - has_or_had_score
- organizational_principle - organizational_principle
- organizational_principle_uri - organizational_principle_uri
- record_holder - record_holder
- record_holder_note - record_holder_note
- record_set_type - record_set_type
slot_usage: slot_usage:
has_or_had_custodian_type: has_or_had_type:
equals_expression: '["hc:ArchiveOrganizationType"]' equals_expression: '["hc:ArchiveOrganizationType"]'
record_set_type: record_set_type:
equals_string: CampaignDocumentationSeries equals_string: CampaignDocumentationSeries

View file

@ -1,45 +1,39 @@
# Age class
# Represents an age or age range, often for demographic or restriction purposes
#
# Generation date: 2026-01-27
# Rule compliance: 0b, 38, 39, 53
#
# Created for has_age migration
id: https://nde.nl/ontology/hc/class/Age id: https://nde.nl/ontology/hc/class/Age
name: Age name: Age
title: Age Class title: Age Class
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/ schema: http://schema.org/
dcterms: http://purl.org/dc/terms/ dcterms: http://purl.org/dc/terms/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_quantity - ../slots/has_or_had_quantity
- ../slots/has_or_had_unit - ../slots/has_or_had_unit
- ../slots/has_or_had_description - ../slots/has_or_had_description
classes: classes:
Age: Age:
class_uri: schema:QuantitativeValue class_uri: schema:QuantitativeValue
description: | description: 'Represents an age or age range.
Represents an age or age range.
**Examples**: **Examples**:
- "18 years" - "18 years"
- "25-35 years" - "25-35 years"
**Ontological Alignment**: **Ontological Alignment**:
- `schema:QuantitativeValue`: Allows specifying value, minValue, maxValue, and unitCode. - `schema:QuantitativeValue`: Allows specifying value, minValue, maxValue, and unitCode.
'
slots: slots:
- has_or_had_quantity - has_or_had_quantity
- has_or_had_unit - has_or_had_unit
- has_or_had_description - has_or_had_description
slot_usage: slot_usage:
has_or_had_quantity: has_or_had_quantity:
range: integer range: integer
@ -49,3 +43,9 @@ classes:
description: Unit of time (usually "years", "months"). description: Unit of time (usually "years", "months").
range: string range: string
required: false required: false
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,26 +1,26 @@
id: https://nde.nl/ontology/hc/class/Agenda id: https://nde.nl/ontology/hc/class/Agenda
name: Agenda name: Agenda
title: Agenda title: Agenda
description: >- description: A strategic agenda or plan.
A strategic agenda or plan.
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/ schema: http://schema.org/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/has_or_had_description - ../slots/has_or_had_description
classes: classes:
Agenda: Agenda:
class_uri: schema:Action class_uri: schema:Action
description: Agenda. description: Agenda.
slots: slots:
- has_or_had_label - has_or_had_label
- has_or_had_description - has_or_had_description
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,15 +1,6 @@
# Agent class
# Represents a person or organization that performs actions
#
# Created per slot_fixes.yaml migration for: collector
# Creation date: 2026-01-22
#
# Rule 53 (No Bespoke Slots): collector → is_or_was_acquired_by + Agent
id: https://nde.nl/ontology/hc/class/Agent id: https://nde.nl/ontology/hc/class/Agent
name: Agent name: Agent
title: Agent title: Agent
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
@ -17,133 +8,97 @@ prefixes:
foaf: http://xmlns.com/foaf/0.1/ foaf: http://xmlns.com/foaf/0.1/
schema: http://schema.org/ schema: http://schema.org/
dcterms: http://purl.org/dc/terms/ dcterms: http://purl.org/dc/terms/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_name - ../slots/has_or_had_name
- ../slots/has_or_had_type - ../slots/has_or_had_type
- ../slots/has_or_had_identifier - ../slots/has_or_had_identifier
classes: classes:
Agent: Agent:
class_uri: prov:Agent class_uri: prov:Agent
description: | description: "An agent (person, organization, or software) that performs actions.\n\n**RULE 53 MIGRATION**:\nReplaces simple string slots with a structured agent model:\n- `is_or_was_acquired_by` \u2192 Agent (this class)\n- Supports typed agents (person, organization, software)\n\n**USAGE**:\n```yaml\nis_or_was_acquired_by:\n - agent_name: \"Dr. Jane Smith\"\n agent_type: person\n has_or_had_identifier:\n - identifier_scheme: ORCID\n identifier_value: \"0000-0001-2345-6789\"\n```\n\n**Ontological Alignment**:\n- **Primary** (`class_uri`): `prov:Agent` - PROV-O agent\n- **Close**: `foaf:Agent` - FOAF agent\n- **Close**: `schema:Person` / `schema:Organization` - Schema.org agents\n- **Close**: `dcterms:Agent` - Dublin Core agent\n\n**Use Cases**:\n- Specimen collectors (field biologists)\n- Artwork donors/sellers\n- Archive depositors\n- Record creators\n"
An agent (person, organization, or software) that performs actions.
**RULE 53 MIGRATION**:
Replaces simple string slots with a structured agent model:
- `is_or_was_acquired_by` → Agent (this class)
- Supports typed agents (person, organization, software)
**USAGE**:
```yaml
is_or_was_acquired_by:
- agent_name: "Dr. Jane Smith"
agent_type: person
has_or_had_identifier:
- identifier_scheme: ORCID
identifier_value: "0000-0001-2345-6789"
```
**Ontological Alignment**:
- **Primary** (`class_uri`): `prov:Agent` - PROV-O agent
- **Close**: `foaf:Agent` - FOAF agent
- **Close**: `schema:Person` / `schema:Organization` - Schema.org agents
- **Close**: `dcterms:Agent` - Dublin Core agent
**Use Cases**:
- Specimen collectors (field biologists)
- Artwork donors/sellers
- Archive depositors
- Record creators
exact_mappings: exact_mappings:
- prov:Agent - prov:Agent
close_mappings: close_mappings:
- foaf:Agent - foaf:Agent
- dcterms:Agent - dcterms:Agent
related_mappings: related_mappings:
- schema:Person - schema:Person
- schema:Organization - schema:Organization
slots: slots:
- has_or_had_name - has_or_had_name
- has_or_had_type - has_or_had_type
- has_or_had_identifier - has_or_had_identifier
attributes: attributes:
agent_name: agent_name:
range: string range: string
description: Name of the agent (person or organization name) description: Name of the agent (person or organization name)
required: true required: true
agent_type: agent_type:
range: string range: string
description: | description: 'Type of agent: person, organization, software, group
Type of agent: person, organization, software, group
'
required: false required: false
examples: examples:
- value: person - value: person
- value: organization - value: organization
- value: software - value: software
- value: group - value: group
agent_role: agent_role:
range: string range: string
description: | description: 'Role of the agent in the action (collector, donor, creator, etc.)
Role of the agent in the action (collector, donor, creator, etc.)
'
required: false required: false
slot_usage: slot_usage:
has_or_had_name: has_or_had_name:
description: | description: 'Structured name for the agent.
Structured name for the agent.
'
range: uriorcurie range: uriorcurie
required: false required: false
has_or_had_type: has_or_had_type:
description: | description: 'Classification of the agent type.
Classification of the agent type.
'
range: uriorcurie range: uriorcurie
required: false required: false
has_or_had_identifier: has_or_had_identifier:
description: | description: 'Identifiers for the agent (ORCID, ISNI, etc.).
Identifiers for the agent (ORCID, ISNI, etc.).
'
range: uriorcurie range: uriorcurie
multivalued: true multivalued: true
required: false required: false
annotations: annotations:
specificity_score: "0.25" specificity_score: '0.25'
specificity_rationale: "Broadly applicable - agents appear across all heritage contexts." specificity_rationale: Broadly applicable - agents appear across all heritage contexts.
template_specificity: '{"archive_search": 0.30, "museum_search": 0.30, "library_search": 0.30, "collection_discovery": 0.40, "person_research": 0.60, "location_browse": 0.15, "identifier_lookup": 0.35, "organizational_change": 0.25, "digital_platform": 0.20, "general_heritage": 0.25}' template_specificity: '{"archive_search": 0.30, "museum_search": 0.30, "library_search": 0.30, "collection_discovery": 0.40, "person_research": 0.60, "location_browse": 0.15, "identifier_lookup": 0.35, "organizational_change": 0.25, "digital_platform": 0.20, "general_heritage": 0.25}'
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
examples: examples:
- value: - value:
agent_name: "Dr. Jane Smith" agent_name: Dr. Jane Smith
agent_type: person agent_type: person
agent_role: collector agent_role: collector
description: Field biologist who collected specimens description: Field biologist who collected specimens
- value:
- value: agent_name: Rijksmuseum Foundation
agent_name: "Rijksmuseum Foundation" agent_type: organization
agent_type: organization agent_role: donor
agent_role: donor description: Organization that donated artwork
description: Organization that donated artwork - value:
agent_name: National Archives of the Netherlands
- value: agent_type: organization
agent_name: "National Archives of the Netherlands" agent_role: transferring_agency
agent_type: organization has_or_had_identifier:
agent_role: transferring_agency - identifier_scheme: ISIL
has_or_had_identifier: identifier_value: NL-HaNA
- identifier_scheme: ISIL description: Archive transferring records
identifier_value: "NL-HaNA"
description: Archive transferring records
comments: comments:
- "Created per slot_fixes.yaml migration (2026-01-22)" - Created per slot_fixes.yaml migration (2026-01-22)
- "RULE 53: Replaces collector string slot with structured model" - 'RULE 53: Replaces collector string slot with structured model'
- "Generic agent class for persons, organizations, and software" - Generic agent class for persons, organizations, and software

View file

@ -1,41 +1,31 @@
# AgentType class
# Abstract base class for agent types classification
#
# Generation date: 2026-01-27
# Rule compliance: 0b (Type/Types pattern), 38, 39, 53
#
# Created for has_agent_type migration
id: https://nde.nl/ontology/hc/class/AgentType id: https://nde.nl/ontology/hc/class/AgentType
name: AgentType name: AgentType
title: Agent Type Abstract Class title: Agent Type Abstract Class
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core# skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/has_or_had_code - ../slots/has_or_had_code
- ../slots/has_or_had_description - ../slots/has_or_had_description
classes: classes:
AgentType: AgentType:
class_uri: skos:Concept class_uri: skos:Concept
description: | description: 'Abstract base class for agent types classification.
Abstract base class for agent types classification.
Provides a taxonomy for different types of agents (e.g., Person, Organization, SoftwareAgent). Provides a taxonomy for different types of agents (e.g., Person, Organization, SoftwareAgent).
'
abstract: true abstract: true
exact_mappings: exact_mappings:
- skos:Concept - skos:Concept
slots: slots:
- has_or_had_label - has_or_had_label
- has_or_had_code - has_or_had_code
- has_or_had_description - has_or_had_description
slot_usage: slot_usage:
has_or_had_code: has_or_had_code:
range: string range: string
@ -45,3 +35,9 @@ classes:
range: string range: string
required: false required: false
description: Human-readable name for the agent type description: Human-readable name for the agent type
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,20 +1,14 @@
# AgentTypes classes
# Concrete subclasses for AgentType taxonomy
#
# Generation date: 2026-01-27
# Rule compliance: 0b (Type/Types pattern)
#
# Updated for AgentType migration
id: https://nde.nl/ontology/hc/class/AgentTypes id: https://nde.nl/ontology/hc/class/AgentTypes
name: agent_types_classes name: agent_types_classes
title: Agent Types Classes title: Agent Types Classes
description: | description: 'Concrete subclasses for AgentType taxonomy.
Concrete subclasses for AgentType taxonomy.
Follows Rule 0b Type/Types naming pattern. Follows Rule 0b Type/Types naming pattern.
'
imports: imports:
- linkml:types - linkml:types
- ./AgentType - ./AgentType
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
@ -24,17 +18,20 @@ classes:
is_a: AgentType is_a: AgentType
class_uri: hc:PersonAgentType class_uri: hc:PersonAgentType
description: Agent type for natural persons. description: Agent type for natural persons.
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept
OrganizationAgentType: OrganizationAgentType:
is_a: AgentType is_a: AgentType
class_uri: hc:OrganizationAgentType class_uri: hc:OrganizationAgentType
description: Agent type for organizations. description: Agent type for organizations.
SoftwareAgentType: SoftwareAgentType:
is_a: AgentType is_a: AgentType
class_uri: hc:SoftwareAgentType class_uri: hc:SoftwareAgentType
description: Agent type for software agents or automated processes. description: Agent type for software agents or automated processes.
GroupAgentType: GroupAgentType:
is_a: AgentType is_a: AgentType
class_uri: hc:GroupAgentType class_uri: hc:GroupAgentType

View file

@ -1,49 +1,50 @@
# Agreement class
# Represents a formal agreement, contract, or treaty
#
# Generation date: 2026-01-27
# Rule compliance: 0b, 38, 39, 53
#
# Created for has_agreement_signed_date migration
id: https://nde.nl/ontology/hc/class/Agreement id: https://nde.nl/ontology/hc/class/Agreement
name: Agreement name: Agreement
title: Agreement Class title: Agreement Class
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/ schema: http://schema.org/
dcterms: http://purl.org/dc/terms/ dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
skos: http://www.w3.org/2004/02/skos/core#
rdfs: http://www.w3.org/2000/01/rdf-schema#
org: http://www.w3.org/ns/org#
xsd: http://www.w3.org/2001/XMLSchema#
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_label - ../slots/has_or_had_label
- ../slots/has_or_had_description - ../slots/has_or_had_description
- ../slots/is_or_was_signed_on - ../slots/is_or_was_signed_on
- ../slots/temporal_extent - ../slots/temporal_extent
- ./TimeSpan - ./TimeSpan
classes: classes:
Agreement: Agreement:
class_uri: schema:Agreement class_uri: schema:Agreement
description: | description: 'A formal agreement, contract, or treaty between parties.
A formal agreement, contract, or treaty between parties.
**Examples**: **Examples**:
- Loan Agreement - Loan Agreement
- Service Agreement - Service Agreement
- Memorandum of Understanding - Memorandum of Understanding
**Ontological Alignment**: **Ontological Alignment**:
- `schema:Agreement`: A generic agreement. - `schema:Agreement`: A generic agreement.
'
slots: slots:
- has_or_had_label - has_or_had_label
- has_or_had_description - has_or_had_description
- is_or_was_signed_on - is_or_was_signed_on
- temporal_extent - temporal_extent
slot_usage: slot_usage:
has_or_had_label: has_or_had_label:
description: Title or name of the agreement. description: Title or name of the agreement.
@ -51,3 +52,9 @@ classes:
description: Date the agreement was signed. description: Date the agreement was signed.
temporal_extent: temporal_extent:
description: Validity period of the agreement. description: Validity period of the agreement.
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

View file

@ -1,40 +1,31 @@
# AirChanges class
# Represents the rate of air changes in a space
#
# Generation date: 2026-01-27
# Rule compliance: 0b, 38, 39, 53
#
# Created for has_air_changes_per_hour migration
id: https://nde.nl/ontology/hc/class/AirChanges id: https://nde.nl/ontology/hc/class/AirChanges
name: AirChanges name: AirChanges
title: Air Changes Class title: Air Changes Class
prefixes: prefixes:
linkml: https://w3id.org/linkml/ linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/ hc: https://nde.nl/ontology/hc/
schema: http://schema.org/ schema: http://schema.org/
default_prefix: hc default_prefix: hc
imports: imports:
- linkml:types - linkml:types
- ../slots/has_or_had_quantity - ../slots/has_or_had_quantity
- ../slots/has_or_had_unit - ../slots/has_or_had_unit
- ./Quantity - ./Quantity
- ./Unit - ./Unit
classes: classes:
AirChanges: AirChanges:
class_uri: schema:QuantitativeValue class_uri: schema:QuantitativeValue
description: | description: 'Represents the rate of air changes in a space.
Represents the rate of air changes in a space.
**Ontological Alignment**: **Ontological Alignment**:
- `schema:QuantitativeValue`: Allows specifying value and unit. - `schema:QuantitativeValue`: Allows specifying value and unit.
'
slots: slots:
- has_or_had_quantity - has_or_had_quantity
- has_or_had_unit - has_or_had_unit
slot_usage: slot_usage:
has_or_had_quantity: has_or_had_quantity:
range: float range: float
@ -44,3 +35,9 @@ classes:
range: Unit range: Unit
description: Unit of measurement (e.g., "per hour"). description: Unit of measurement (e.g., "per hour").
required: true required: true
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types:
- '*'
custodian_types_rationale: Universal utility concept

Some files were not shown because too many files have changed in this diff Show more