Add initial version of QUDT ontology file

This commit is contained in:
kempersc 2026-01-17 00:08:39 +01:00
parent 196f8a1023
commit 54b26343c9
282 changed files with 207271 additions and 1889 deletions

48827
data/ontology/Brick.ttl Normal file

File diff suppressed because it is too large Load diff

145187
data/ontology/qudt-all Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,12 +1,12 @@
{
"generated": "2026-01-16T18:44:38.338Z",
"generated": "2026-01-16T22:19:27.407Z",
"schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 3002,
"totalFiles": 2995,
"categoryCounts": {
"main": 4,
"class": 823,
"class": 844,
"enum": 153,
"slot": 2018,
"slot": 1990,
"module": 4
},
"categories": [
@ -1640,6 +1640,21 @@
"path": "modules/classes/IIPImageServer.yaml",
"category": "class"
},
{
"name": "Index",
"path": "modules/classes/Index.yaml",
"category": "class"
},
{
"name": "IndexType",
"path": "modules/classes/IndexType.yaml",
"category": "class"
},
{
"name": "IndexTypes",
"path": "modules/classes/IndexTypes.yaml",
"category": "class"
},
{
"name": "InformationCarrier",
"path": "modules/classes/InformationCarrier.yaml",
@ -1960,6 +1975,21 @@
"path": "modules/classes/MatchingSource.yaml",
"category": "class"
},
{
"name": "Material",
"path": "modules/classes/Material.yaml",
"category": "class"
},
{
"name": "MaterialType",
"path": "modules/classes/MaterialType.yaml",
"category": "class"
},
{
"name": "MaterialTypes",
"path": "modules/classes/MaterialTypes.yaml",
"category": "class"
},
{
"name": "MeasurementUnit",
"path": "modules/classes/MeasurementUnit.yaml",
@ -3380,11 +3410,31 @@
"path": "modules/classes/SubsidiaryOrganization.yaml",
"category": "class"
},
{
"name": "Tag",
"path": "modules/classes/Tag.yaml",
"category": "class"
},
{
"name": "TasteScentHeritageType",
"path": "modules/classes/TasteScentHeritageType.yaml",
"category": "class"
},
{
"name": "TasteScentSubType",
"path": "modules/classes/TasteScentSubType.yaml",
"category": "class"
},
{
"name": "TasteScentSubTypes",
"path": "modules/classes/TasteScentSubTypes.yaml",
"category": "class"
},
{
"name": "TaxDeductibility",
"path": "modules/classes/TaxDeductibility.yaml",
"category": "class"
},
{
"name": "Taxon",
"path": "modules/classes/Taxon.yaml",
@ -3395,6 +3445,26 @@
"path": "modules/classes/TaxonName.yaml",
"category": "class"
},
{
"name": "TaxonomicAuthority",
"path": "modules/classes/TaxonomicAuthority.yaml",
"category": "class"
},
{
"name": "TaxScheme",
"path": "modules/classes/TaxScheme.yaml",
"category": "class"
},
{
"name": "TaxSchemeType",
"path": "modules/classes/TaxSchemeType.yaml",
"category": "class"
},
{
"name": "TaxSchemeTypes",
"path": "modules/classes/TaxSchemeTypes.yaml",
"category": "class"
},
{
"name": "TechnicalFeature",
"path": "modules/classes/TechnicalFeature.yaml",
@ -3410,6 +3480,36 @@
"path": "modules/classes/TechnicalFeatureTypes.yaml",
"category": "class"
},
{
"name": "Technique",
"path": "modules/classes/Technique.yaml",
"category": "class"
},
{
"name": "TechniqueType",
"path": "modules/classes/TechniqueType.yaml",
"category": "class"
},
{
"name": "TechniqueTypes",
"path": "modules/classes/TechniqueTypes.yaml",
"category": "class"
},
{
"name": "TechnologicalInfrastructure",
"path": "modules/classes/TechnologicalInfrastructure.yaml",
"category": "class"
},
{
"name": "TechnologicalInfrastructureType",
"path": "modules/classes/TechnologicalInfrastructureType.yaml",
"category": "class"
},
{
"name": "TechnologicalInfrastructureTypes",
"path": "modules/classes/TechnologicalInfrastructureTypes.yaml",
"category": "class"
},
{
"name": "TelevisionArchive",
"path": "modules/classes/TelevisionArchive.yaml",
@ -3425,6 +3525,11 @@
"path": "modules/classes/TelevisionArchiveRecordSetTypes.yaml",
"category": "class"
},
{
"name": "TemperatureDeviation",
"path": "modules/classes/TemperatureDeviation.yaml",
"category": "class"
},
{
"name": "TemplateSpecificityScores",
"path": "modules/classes/TemplateSpecificityScores.yaml",
@ -4932,11 +5037,6 @@
"name": "slot",
"displayName": "Slots",
"files": [
{
"name": "about_text",
"path": "modules/slots/about_text.yaml",
"category": "slot"
},
{
"name": "accepts_or_accepted",
"path": "modules/slots/accepts_or_accepted.yaml",
@ -5002,21 +5102,11 @@
"path": "modules/slots/approximation_level.yaml",
"category": "slot"
},
{
"name": "archival_reference",
"path": "modules/slots/archival_reference.yaml",
"category": "slot"
},
{
"name": "area_value",
"path": "modules/slots/area_value.yaml",
"category": "slot"
},
{
"name": "arrangement_level",
"path": "modules/slots/arrangement_level.yaml",
"category": "slot"
},
{
"name": "asserter_contact",
"path": "modules/slots/asserter_contact.yaml",
@ -5037,11 +5127,6 @@
"path": "modules/slots/asserts_or_asserted.yaml",
"category": "slot"
},
{
"name": "assessment_date",
"path": "modules/slots/assessment_date.yaml",
"category": "slot"
},
{
"name": "audience_size",
"path": "modules/slots/audience_size.yaml",
@ -5052,51 +5137,6 @@
"path": "modules/slots/audience_type.yaml",
"category": "slot"
},
{
"name": "audio_quality_score",
"path": "modules/slots/audio_quality_score.yaml",
"category": "slot"
},
{
"name": "audit_date",
"path": "modules/slots/audit_date.yaml",
"category": "slot"
},
{
"name": "audit_opinion",
"path": "modules/slots/audit_opinion.yaml",
"category": "slot"
},
{
"name": "audit_status",
"path": "modules/slots/audit_status.yaml",
"category": "slot"
},
{
"name": "auditor_name",
"path": "modules/slots/auditor_name.yaml",
"category": "slot"
},
{
"name": "author_affiliation",
"path": "modules/slots/author_affiliation.yaml",
"category": "slot"
},
{
"name": "author_identifier",
"path": "modules/slots/author_identifier.yaml",
"category": "slot"
},
{
"name": "author_name",
"path": "modules/slots/author_name.yaml",
"category": "slot"
},
{
"name": "author_role",
"path": "modules/slots/author_role.yaml",
"category": "slot"
},
{
"name": "backup_status",
"path": "modules/slots/backup_status.yaml",
@ -9012,6 +9052,11 @@
"path": "modules/slots/has_or_had_author.yaml",
"category": "slot"
},
{
"name": "has_or_had_authority",
"path": "modules/slots/has_or_had_authority.yaml",
"category": "slot"
},
{
"name": "has_or_had_auxiliary_entities",
"path": "modules/slots/has_or_had_auxiliary_entities.yaml",
@ -9472,6 +9517,11 @@
"path": "modules/slots/has_or_had_music_segment.yaml",
"category": "slot"
},
{
"name": "has_or_had_name",
"path": "modules/slots/has_or_had_name.yaml",
"category": "slot"
},
{
"name": "has_or_had_net_asset",
"path": "modules/slots/has_or_had_net_asset.yaml",
@ -9592,6 +9642,11 @@
"path": "modules/slots/has_or_had_product_category.yaml",
"category": "slot"
},
{
"name": "has_or_had_profile",
"path": "modules/slots/has_or_had_profile.yaml",
"category": "slot"
},
{
"name": "has_or_had_program",
"path": "modules/slots/has_or_had_program.yaml",
@ -9707,6 +9762,11 @@
"path": "modules/slots/has_or_had_revenue.yaml",
"category": "slot"
},
{
"name": "has_or_had_role",
"path": "modules/slots/has_or_had_role.yaml",
"category": "slot"
},
{
"name": "has_or_had_safeguard",
"path": "modules/slots/has_or_had_safeguard.yaml",
@ -9867,6 +9927,16 @@
"path": "modules/slots/has_or_had_suborganization.yaml",
"category": "slot"
},
{
"name": "has_or_had_symbol",
"path": "modules/slots/has_or_had_symbol.yaml",
"category": "slot"
},
{
"name": "has_or_had_technological_infrastructure",
"path": "modules/slots/has_or_had_technological_infrastructure.yaml",
"category": "slot"
},
{
"name": "has_or_had_text",
"path": "modules/slots/has_or_had_text.yaml",
@ -10762,6 +10832,11 @@
"path": "modules/slots/is_or_was_generated_by.yaml",
"category": "slot"
},
{
"name": "is_or_was_indexed",
"path": "modules/slots/is_or_was_indexed.yaml",
"category": "slot"
},
{
"name": "is_or_was_instance_of",
"path": "modules/slots/is_or_was_instance_of.yaml",
@ -10827,6 +10902,11 @@
"path": "modules/slots/is_or_was_succeeded_by.yaml",
"category": "slot"
},
{
"name": "is_or_was_tax_deductible",
"path": "modules/slots/is_or_was_tax_deductible.yaml",
"category": "slot"
},
{
"name": "is_or_was_temporarily_located_at",
"path": "modules/slots/is_or_was_temporarily_located_at.yaml",
@ -13207,41 +13287,6 @@
"path": "modules/slots/programs_offered.yaml",
"category": "slot"
},
{
"name": "project_description",
"path": "modules/slots/project_description.yaml",
"category": "slot"
},
{
"name": "project_id",
"path": "modules/slots/project_id.yaml",
"category": "slot"
},
{
"name": "project_identifier",
"path": "modules/slots/project_identifier.yaml",
"category": "slot"
},
{
"name": "project_name",
"path": "modules/slots/project_name.yaml",
"category": "slot"
},
{
"name": "project_short_name",
"path": "modules/slots/project_short_name.yaml",
"category": "slot"
},
{
"name": "project_status",
"path": "modules/slots/project_status.yaml",
"category": "slot"
},
{
"name": "project_url",
"path": "modules/slots/project_url.yaml",
"category": "slot"
},
{
"name": "prompt_token",
"path": "modules/slots/prompt_token.yaml",
@ -13607,6 +13652,11 @@
"path": "modules/slots/registration_required.yaml",
"category": "slot"
},
{
"name": "regulated_by_scheme",
"path": "modules/slots/regulated_by_scheme.yaml",
"category": "slot"
},
{
"name": "regulatory_authority",
"path": "modules/slots/regulatory_authority.yaml",
@ -14857,81 +14907,26 @@
"path": "modules/slots/table_of_content.yaml",
"category": "slot"
},
{
"name": "tag",
"path": "modules/slots/tag.yaml",
"category": "slot"
},
{
"name": "takes_or_took_place_at",
"path": "modules/slots/takes_or_took_place_at.yaml",
"category": "slot"
},
{
"name": "target_material",
"path": "modules/slots/target_material.yaml",
"category": "slot"
},
{
"name": "target_profile",
"path": "modules/slots/target_profile.yaml",
"category": "slot"
},
{
"name": "taste_scent_subtype",
"path": "modules/slots/taste_scent_subtype.yaml",
"category": "slot"
},
{
"name": "tax_deductible",
"path": "modules/slots/tax_deductible.yaml",
"category": "slot"
},
{
"name": "tax_scheme",
"path": "modules/slots/tax_scheme.yaml",
"category": "slot"
},
{
"name": "taxonomic_authority",
"path": "modules/slots/taxonomic_authority.yaml",
"category": "slot"
},
{
"name": "taxonomic_rank",
"path": "modules/slots/taxonomic_rank.yaml",
"category": "slot"
},
{
"name": "techniques_used",
"path": "modules/slots/techniques_used.yaml",
"category": "slot"
},
{
"name": "technology_stack",
"path": "modules/slots/technology_stack.yaml",
"category": "slot"
},
{
"name": "temperature_target",
"path": "modules/slots/temperature_target.yaml",
"category": "slot"
},
{
"name": "temperature_tolerance",
"path": "modules/slots/temperature_tolerance.yaml",
"category": "slot"
},
{
"name": "template_specificity",
"path": "modules/slots/template_specificity.yaml",
"category": "slot"
},
{
"name": "temporal_coverage",
"path": "modules/slots/temporal_coverage.yaml",
"category": "slot"
},
{
"name": "temporal_extent",
"path": "modules/slots/temporal_extent.yaml",
@ -14947,29 +14942,14 @@
"path": "modules/slots/track_id.yaml",
"category": "slot"
},
{
"name": "unit_code",
"path": "modules/slots/unit_code.yaml",
"category": "slot"
},
{
"name": "unit_symbol",
"path": "modules/slots/unit_symbol.yaml",
"category": "slot"
},
{
"name": "unit_type",
"path": "modules/slots/unit_type.yaml",
"category": "slot"
},
{
"name": "url_type",
"path": "modules/slots/url_type.yaml",
"category": "slot"
},
{
"name": "url_value",
"path": "modules/slots/url_value.yaml",
"name": "uses_or_used_technique",
"path": "modules/slots/uses_or_used_technique.yaml",
"category": "slot"
},
{
@ -14992,11 +14972,6 @@
"path": "modules/slots/was_last_updated_at.yaml",
"category": "slot"
},
{
"name": "wikidata_description",
"path": "modules/slots/wikidata_description.yaml",
"category": "slot"
},
{
"name": "wikidata_entity",
"path": "modules/slots/wikidata_entity.yaml",
@ -15011,16 +14986,6 @@
"name": "wikidata_id",
"path": "modules/slots/wikidata_id.yaml",
"category": "slot"
},
{
"name": "wikidata_label",
"path": "modules/slots/wikidata_label.yaml",
"category": "slot"
},
{
"name": "wikidata_qid",
"path": "modules/slots/wikidata_qid.yaml",
"category": "slot"
}
]
},

View file

@ -1,8 +1,14 @@
id: https://nde.nl/ontology/hc/class/ArchiveOrganizationType
name: ArchiveOrganizationType
title: Archive Organization Type Classification
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
- ./CustodianType
@ -16,33 +22,12 @@ imports:
- ../slots/record_type
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/custodian_type_broader
- ../slots/has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../slots/custodian_type_broader
- ../slots/custodian_type_broader
- ../slots/finding_aids_format
- ../slots/has_archive_subtype
- ../slots/has_or_had_access_policy
- ../slots/has_or_had_appraisal_policy
- ../slots/has_or_had_archive_scope
- ../slots/has_or_had_custodian_type
- ../slots/preservation_standard
- ../slots/record_type
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/wikidata_entity
- ../slots/custodian_type_broader
- ../slots/finding_aids_format
- ../slots/has_archive_subtype
- ../slots/has_or_had_access_policy
- ../slots/has_or_had_appraisal_policy
- ../slots/has_or_had_archive_scope
- ../slots/has_or_had_custodian_type
- ../slots/preservation_standard
- ../slots/record_type
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/wikidata_entity
classes:
ArchiveOrganizationType:
is_a: CustodianType
@ -106,10 +91,12 @@ classes:
- record_type
- specificity_annotation
- template_specificity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
pattern: ^Q[0-9]+$
required: true
description: Wikidata identifier (Q-number) for this archive organization type
custodian_type_broader:
range: ArchiveOrganizationType
required: false
@ -134,12 +121,12 @@ classes:
- value:
type_id: https://nde.nl/ontology/hc/type/archive/Q1188452
glamorcubesfixphdnt_code: ARCHIVE
wikidata_entity: Q1188452
has_or_had_identifier: Q1188452 # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
type_label:
- National Archive@en
- nationaal archief@nl
- Nationalarchiv@de
has_or_had_description: central archive of a country that preserves national government records # was: type_description - migrated per Rule 53/56 (2026-01-16)
has_or_had_description: central archive of a country that preserves national government records
custodian_type_broader: https://nde.nl/ontology/hc/type/archive/Q166118
archive_scope: national
record_type:
@ -156,11 +143,11 @@ classes:
- value:
type_id: https://nde.nl/ontology/hc/type/archive/Q10605195
glamorcubesfixphdnt_code: ARCHIVE
wikidata_entity: Q10605195
has_or_had_identifier: Q10605195 # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
type_label:
- Business Archive@en
- bedrijfsarchief@nl
has_or_had_description: organizational entity that keeps or archives fonds of a company # was: type_description - migrated per Rule 53/56 (2026-01-16)
has_or_had_description: organizational entity that keeps or archives fonds of a company
custodian_type_broader: https://nde.nl/ontology/hc/type/archive/Q166118
archive_scope: corporate
record_type:

View file

@ -86,12 +86,12 @@ classes:
inlined: true
examples:
- value:
unit_type: HECTARE
unit_symbol: "ha"
has_or_had_type: HECTARE
has_or_had_symbol: "ha"
description: Hectare unit for outdoor site
- value:
unit_type: SQUARE_METER
unit_symbol: "m²"
has_or_had_type: SQUARE_METER
has_or_had_symbol: "m²"
description: Square meter unit for building floor
measurement_date:
description: >-
@ -138,15 +138,15 @@ classes:
- value:
area_value: 25.0
has_or_had_unit:
unit_type: HECTARE
unit_symbol: "ha"
has_or_had_type: HECTARE
has_or_had_symbol: "ha"
has_or_had_label: "Sculpture garden area"
description: Outdoor site area in hectares (replaces area_hectares)
- value:
area_value: 5000.0
has_or_had_unit:
unit_type: SQUARE_METER
unit_symbol: "m²"
has_or_had_type: SQUARE_METER
has_or_had_symbol: "m²"
measurement_date: "2023-03-15"
is_estimate: false
measurement_method: "Architectural survey"
@ -155,8 +155,8 @@ classes:
- value:
area_value: 650.0
has_or_had_unit:
unit_type: HECTARE
unit_symbol: "ha"
has_or_had_type: HECTARE
has_or_had_symbol: "ha"
is_estimate: true
measurement_method: "Historical records"
has_or_had_label: "Estate grounds"

View file

@ -13,17 +13,17 @@ prefixes:
imports:
- linkml:types
- ../metadata
# RiC-O style slots (migrated 2026-01-16 per Rule 53)
- ../slots/has_or_had_name
- ../slots/has_or_had_role
- ../slots/is_or_was_affiliated_with
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/has_or_had_identifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/author_affiliation
- ../slots/author_identifier
- ../slots/author_name
- ../slots/author_role
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../enums/AuthorRoleEnum
default_prefix: hc
classes:
@ -70,11 +70,11 @@ classes:
```yaml
has_or_had_author:
- author_name: "Jan de Vries"
author_role: AUTHOR
author_affiliation: "Rijksmuseum Amsterdam"
- author_name: "Maria van Dijk"
author_role: EDITOR
- has_or_had_name: "Jan de Vries"
has_or_had_role: AUTHOR
is_or_was_affiliated_with: "Rijksmuseum Amsterdam"
- has_or_had_name: "Maria van Dijk"
has_or_had_role: EDITOR
```
exact_mappings:
- schema:Person
@ -86,17 +86,17 @@ classes:
- bf:Contribution
- dcterms:creator
slots:
- author_name
- author_role
- author_affiliation
- author_identifier
- has_or_had_identifier
# Migrated to RiC-O style slots (2026-01-16 per Rule 53)
- has_or_had_name # was: author_name
- has_or_had_role # was: author_role
- is_or_was_affiliated_with # was: author_affiliation
- has_or_had_identifier # was: author_identifier (also generic)
- has_or_had_label
- has_or_had_description
- specificity_annotation
- template_specificity
slot_usage:
author_name:
has_or_had_name: # was: author_name - migrated 2026-01-16 per Rule 53
range: string
required: true
description: >-
@ -106,7 +106,7 @@ classes:
description: Individual author
- value: "Rijksmuseum Research Department"
description: Corporate author
author_role:
has_or_had_role: # was: author_role - migrated 2026-01-16 per Rule 53
range: AuthorRoleEnum
required: false
ifabsent: "string(AUTHOR)"
@ -117,7 +117,7 @@ classes:
description: Primary author
- value: EDITOR
description: Editor
author_affiliation:
is_or_was_affiliated_with: # was: author_affiliation - migrated 2026-01-16 per Rule 53
range: string
required: false
description: >-
@ -127,7 +127,7 @@ classes:
description: Museum affiliation
- value: "Universiteit van Amsterdam"
description: University affiliation
author_identifier:
has_or_had_identifier: # was: author_identifier - migrated 2026-01-16 per Rule 53
range: uriorcurie
required: false
description: >-
@ -148,18 +148,18 @@ classes:
- http://id.loc.gov/ontologies/bibframe/Contribution
examples:
- value:
author_name: "Jan de Vries"
author_role: AUTHOR
author_affiliation: "Rijksmuseum Amsterdam"
author_identifier: "https://orcid.org/0000-0001-2345-6789"
has_or_had_name: "Jan de Vries"
has_or_had_role: AUTHOR
is_or_was_affiliated_with: "Rijksmuseum Amsterdam"
has_or_had_identifier: "https://orcid.org/0000-0001-2345-6789"
description: Individual author with full metadata
- value:
author_name: "Maria van Dijk"
author_role: EDITOR
has_or_had_name: "Maria van Dijk"
has_or_had_role: EDITOR
description: Editor with minimal metadata
- value:
author_name: "Rijksmuseum Research Department"
author_role: AUTHOR
has_or_had_name: "Rijksmuseum Research Department"
has_or_had_role: AUTHOR
description: Corporate author
annotations:
specificity_score: 0.35

View file

@ -17,7 +17,10 @@ imports:
- ./SearchAPI
- ./METSAPI
- ./DataServiceEndpointTypes
- ../slots/technology_stack
- ../slots/has_or_had_technological_infrastructure # was: technology_stack - migrated per Rule 53/56 (2026-01-16)
- ./TechnologicalInfrastructure
- ./TechnologicalInfrastructureType
- ./TechnologicalInfrastructureTypes
- ../slots/funding_source
- ../slots/has_or_had_powered_by_cm
- ../slots/is_or_was_archived_at # MIGRATED: was ../slots/archived_at (2026-01-15)
@ -133,7 +136,7 @@ classes:
- related_project
- serves_finding_aid
- specificity_annotation
- technology_stack
- has_or_had_technological_infrastructure # was: technology_stack - migrated per Rule 53/56 (2026-01-16)
- template_specificity
- temporal_extent # consolidated: absorbs valid_from + valid_to per Rule 53
- is_or_was_derived_from # was: was_derived_from - migrated per Rule 53
@ -193,14 +196,29 @@ classes:
examples:
- value: https://data.rijksmuseum.nl/object-metadata/api/
description: API documentation URL
technology_stack:
range: string
has_or_had_technological_infrastructure: # was: technology_stack - migrated per Rule 53/56 (2026-01-16)
description: |
Structured technology stack components used by this platform.
MIGRATED from simple string list to TechnologicalInfrastructure class
for better semantic modeling, versioning, and component relationships.
range: TechnologicalInfrastructure
multivalued: true
inlined_as_list: true
examples:
- value: React
description: Frontend framework
- value: Python/Django
description: Backend stack
- value:
has_or_had_identifier: tech-react-frontend
has_or_had_type: FrontendFramework
has_or_had_label: React
has_or_had_version: "18.2"
description: React frontend framework
- value:
has_or_had_identifier: tech-django-backend
has_or_had_type: BackendFramework
has_or_had_label: Python/Django
has_or_had_version: "4.2"
includes_or_included:
- Django REST Framework
description: Django backend stack with REST framework
is_auxiliary_of_platform:
range: DigitalPlatform
required: true
@ -365,9 +383,15 @@ classes:
platform_url: https://data.rijksmuseum.nl/
platform_purpose: Developer access to collection metadata and images
has_or_had_documentation: https://data.rijksmuseum.nl/object-metadata/api/
technology_stack:
- REST
- JSON
has_or_had_technological_infrastructure: # was: technology_stack - migrated (2026-01-16)
- has_or_had_identifier: tech-rest-api
has_or_had_type: RESTful
has_or_had_label: REST API
has_or_had_description: RESTful API protocol for data access
- has_or_had_identifier: tech-json-format
has_or_had_type: APIProtocol
has_or_had_label: JSON
has_or_had_description: JSON data format for API responses
is_auxiliary_of_platform: https://nde.nl/ontology/hc/platform/rijksmuseum-website
iiif_support: true
linked_data: true

View file

@ -58,7 +58,8 @@ imports:
- ../slots/has_or_had_label
- ./TaxonName
- ../slots/has_or_had_comment # was: taxon_remark - migrated per Rule 53
- ../slots/taxonomic_authority
- ../slots/has_or_had_authority # was: taxonomic_authority - migrated per Rule 53/56 (2026-01-16)
- ./TaxonomicAuthority
- ../slots/taxonomic_rank
- ../slots/template_specificity
# REMOVED 2026-01-14: ../slots/type_status - migrated to has_or_had_status with TypeStatus
@ -85,7 +86,7 @@ classes:
\ → dwc:eventDate\n- `collector` → dwc:recordedBy\n- `preservation_method` → dwc:preparations\n- `gbif_id` → dwc:occurrenceID\
\ (GBIF)\n\n**Taxonomic Data Model**:\n\n```\nBiologicalObject\n │\n ├── taxon_name (scientific name: \"Raphus\
\ cucullatus\")\n │ │\n │ ├── common_name (\"Dodo\")\n │ ├── taxonomic_rank (SPECIES)\n \
\ │ ├── taxonomic_authority (\"Linnaeus, 1758\")\n │ └── higher_classification (Aves → Columbiformes\
\ │ ├── has_or_had_authority (\"Linnaeus, 1758\")\n │ └── higher_classification (Aves → Columbiformes\
\ → Columbidae)\n │\n ├── specimen_data\n │ │\n │ ├── specimen_type (HOLOTYPE, PARATYPE, etc.)\n\
\ │ ├── is_type_specimen (boolean)\n │ ├── sex (MALE, FEMALE, UNKNOWN)\n │ ├── life_stage\
\ (ADULT, JUVENILE, LARVA, etc.)\n │ └── part_type (SKELETON, SKIN, SHELL, etc.)\n │\n ├── preservation\n\
@ -145,7 +146,7 @@ classes:
# REMOVED 2026-01-14: taxon_name - migrated to has_or_had_label with TaxonName (Rule 53)
- has_or_had_label # was: taxon_name - migrated per Rule 53
- has_or_had_comment # was: taxon_remark - migrated per Rule 53
- taxonomic_authority
- has_or_had_authority # was: taxonomic_authority - migrated per Rule 53/56 (2026-01-16)
- taxonomic_rank
- template_specificity
# REMOVED 2026-01-14: type_status - migrated to has_or_had_status with TypeStatus
@ -226,13 +227,27 @@ classes:
- value: SUBSPECIES
- value: GENUS
description: When only identified to genus level
taxonomic_authority:
has_or_had_authority: # was: taxonomic_authority - migrated per Rule 53/56 (2026-01-16)
required: false
range: string
range: TaxonomicAuthority
inlined: true
description: |
Structured taxonomic authority information.
MIGRATED from taxonomic_authority per slot_fixes.yaml (Rule 53/56, 2026-01-16).
examples:
- value: Linnaeus, 1758
- value: (Gray, 1821)
description: Parentheses indicate original genus differs
- value:
has_or_had_label: "Linnaeus, 1758"
has_or_had_author: ["Carl Linnaeus"]
has_or_had_date: 1758
is_or_was_recombined: false
nomenclatural_code: ICZN
description: Standard zoological authority
- value:
has_or_had_label: "(Gray, 1821)"
has_or_had_author: ["John Edward Gray"]
has_or_had_date: 1821
is_or_was_recombined: true
description: Parentheses indicate recombination from original genus
higher_classification:
required: false
range: string
@ -519,7 +534,11 @@ classes:
- English Oak
- Pedunculate Oak
taxonomic_rank: SPECIES
taxonomic_authority: Linnaeus, 1753
has_or_had_authority: # was: taxonomic_authority - migrated per Rule 53/56 (2026-01-16)
has_or_had_label: "Linnaeus, 1753"
has_or_had_author: ["Carl Linnaeus"]
has_or_had_date: 1753
nomenclatural_code: ICN
specimen_type: LECTOTYPE
is_type_specimen: true
has_or_had_status: # was: type_status

View file

@ -22,7 +22,9 @@ imports:
# REMOVED 2026-01-14: ../slots/target_name - migrated to has_or_had_label with Label
- ../slots/has_or_had_label
- ./Label
- ../slots/target_profile
# REMOVED 2026-01-16: ../slots/target_profile - migrated to has_or_had_profile with SocialMediaProfile
- ../slots/has_or_had_profile
- ./SocialMediaProfile
- ../slots/template_specificity
default_prefix: hc
classes:
@ -64,7 +66,8 @@ classes:
- specificity_annotation
# REMOVED 2026-01-14: target_name - migrated to has_or_had_label with Label
- has_or_had_label
- target_profile
# REMOVED 2026-01-16: target_profile - migrated to has_or_had_profile with SocialMediaProfile
- has_or_had_profile
- template_specificity
slot_usage:
source_url:
@ -103,6 +106,38 @@ classes:
label_value: "Giovanna Fossati"
label_type: "person_name"
description: Person name for connection source
# REMOVED 2026-01-16: target_profile - migrated to has_or_had_profile with SocialMediaProfile
# target_profile:
# range: string
# pattern: ^[a-z0-9-]+$
# required: true
# examples:
# - value: giovanna-fossati-12345
has_or_had_profile:
description: |
LinkedIn profile of the person whose connections were extracted.
MIGRATED 2026-01-16: Replaces target_profile slot per Rule 53/56.
The SocialMediaProfile class provides structured representation
including platform type, account name, and profile URL rather than
just a string slug.
range: SocialMediaProfile
inlined: true
required: true
examples:
- value:
social_media_profile_id: https://nde.nl/ontology/hc/social-media/giovanna-fossati-linkedin
platform_type: LINKEDIN
has_or_had_account_name: giovanna-fossati-12345
profile_url: https://www.linkedin.com/in/giovanna-fossati-12345/
refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-efm
description: LinkedIn profile for connection extraction source
- value:
social_media_profile_id: https://nde.nl/ontology/hc/social-media/alexandr-belov-linkedin
platform_type: LINKEDIN
has_or_had_account_name: alexandr-belov-bb547b46
profile_url: https://www.linkedin.com/in/alexandr-belov-bb547b46/
description: LinkedIn profile with minimal required fields
connections_extracted:
range: integer
required: true
@ -116,4 +151,5 @@ classes:
comments:
- Aligns with PROV-O Activity pattern
- scraped_timestamp maps to prov:endedAtTime
- target_profile is the LinkedIn slug being analyzed
# UPDATED 2026-01-16: target_profile migrated to has_or_had_profile with SocialMediaProfile
- has_or_had_profile links to SocialMediaProfile representing the LinkedIn profile analyzed

View file

@ -40,7 +40,10 @@ imports:
- ../slots/report_document
- ../slots/report_url
- ../slots/specificity_annotation
- ../slots/techniques_used
- ../slots/uses_or_used_technique # was: techniques_used - migrated per Rule 53/56 (2026-01-16)
- ./Technique
- ./TechniqueType
- ./TechniqueTypes
- ../slots/template_specificity
- ../slots/has_or_had_treatment # was: treatment_description - migrated per Rule 53
- ../slots/has_or_had_type
@ -101,7 +104,7 @@ classes:
- report_document
- report_url
- specificity_annotation
- techniques_used
- uses_or_used_technique # was: techniques_used - migrated per Rule 53/56 (2026-01-16)
- template_specificity
- has_or_had_treatment # was: treatment_description - migrated per Rule 53
- has_or_had_type
@ -222,14 +225,30 @@ classes:
- value: Paraloid B-72 consolidant
- value: Japanese tissue paper
- value: Gamblin conservation colors
techniques_used:
uses_or_used_technique: # was: techniques_used - migrated per Rule 53/56 (2026-01-16)
required: false
range: string
range: Technique
multivalued: true
inlined_as_list: true
description: |
Structured technique records for this conservation activity.
MIGRATED from techniques_used per slot_fixes.yaml (Rule 53/56, 2026-01-16).
examples:
- value: Solvent cleaning with acetone/white spirit mixture
- value: Tratteggio inpainting technique
- value: Vacuum lining
- value:
has_or_had_type: SolventCleaning
has_or_had_label: "Varnish removal with acetone/white spirit mixture"
has_or_had_description: "Removal of discolored varnish using 50:50 acetone/white spirit"
description: Solvent cleaning technique
- value:
has_or_had_type: TratteggioInpainting
has_or_had_label: "Tratteggio inpainting of losses"
has_or_had_description: "Losses in-painted with fine parallel brushstrokes"
description: Tratteggio inpainting technique
- value:
has_or_had_type: VacuumLining
has_or_had_label: "Vacuum hot table lining"
has_or_had_description: "Canvas lined using vacuum table with BEVA 371 adhesive"
description: Vacuum lining technique
has_or_had_examination_method:
required: false
range: string
@ -356,9 +375,13 @@ classes:
- Shellsol A solvent
- Dammar varnish (Kremer)
- Gamblin conservation colors
techniques_used:
- Solvent cleaning
- Tratteggio inpainting
uses_or_used_technique: # was: techniques_used - migrated per Rule 53/56 (2026-01-16)
- has_or_had_type: SolventCleaning
has_or_had_label: "Solvent cleaning"
has_or_had_description: "Removal of varnish with acetone/white spirit mixture"
- has_or_had_type: TratteggioInpainting
has_or_had_label: "Tratteggio inpainting"
has_or_had_description: "Losses in-painted using fine parallel brushstrokes"
has_or_had_examination_method:
- X-RADIOGRAPHY
- INFRARED_REFLECTOGRAPHY

View file

@ -291,7 +291,7 @@ classes:
\nThis slot links an INSTANCE (DataServiceEndpoint) to its TYPE classification\n(DataServiceEndpointType), following\
\ the same architectural pattern as\nCustodian/CustodianType.\n\n```\nDataServiceEndpoint (INSTANCE) DataServiceEndpointType\
\ (TYPE)\n├── endpoint_url ├── protocol_name\n├── status ├── protocol_version\n\
├── is_or_was_required ├── specification_url\n└── endpoint_type ────────────────►└── typical_response_formats\n\
├── is_or_was_required ├── specification_url\n└── endpoint_type ────────────────►└── has_or_had_format\n\
```\n\n**Why Both `protocol` and `endpoint_type`?**\n\n- `protocol` (enum): Simple string classification for quick\
\ filtering\n- `endpoint_type` (class reference): Rich type metadata with SKOS hierarchy,\n specification URLs,\
\ and semantic relationships\n\n**Example:**\n\n```yaml\ndata_service_endpoint:\n endpoint_id: \"https://nde.nl/hc/endpoint/na-oai-pmh\"\

View file

@ -1,6 +1,24 @@
id: https://w3id.org/nde/ontology/Division
name: Division
title: Division (Organizational Unit)
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/specificity_annotation
- ../slots/template_specificity
- ../slots/has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ./OrganizationalStructure
classes:
Division:
description: A distinct and large part of an organization. In the context of heritage custodians, this represents a major
@ -13,10 +31,11 @@ classes:
slots:
- specificity_annotation
- template_specificity
- wikidata_entity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
equals_string: Q334453
description: Wikidata identifier for Division concept
organizational_level:
equals_string: major unit
annotations:
@ -32,4 +51,3 @@ classes:
- division (fr)
- Represents structural organization within heritage institutions
- Links to OrganizationalStructure for hierarchical modeling
imports: null

View file

@ -1,6 +1,24 @@
id: https://w3id.org/nde/ontology/DocumentationCentre
name: DocumentationCentre
title: Documentation Centre
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_custodian_type
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
DocumentationCentre:
description: An organisation that deals with documentation, typically focusing on collecting, organizing, and providing
@ -13,10 +31,11 @@ classes:
- has_or_had_custodian_type
- specificity_annotation
- template_specificity
- wikidata_entity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
equals_string: Q2945282
description: Wikidata identifier for Documentation Centre concept
has_or_had_custodian_type:
equals_expression: '["hc:ArchiveOrganizationType"]'
annotations:
@ -33,4 +52,3 @@ classes:
- centre de documentation (fr)
- Often combines archive, library, and museum functions
- Frequently associated with memorial sites and human rights documentation
imports: null

View file

@ -30,8 +30,10 @@ imports:
- ../slots/scheme_type
- ../slots/scheme_url
- ../slots/specificity_annotation
- ../slots/tax_deductible
- ../slots/tax_scheme
- ../slots/is_or_was_tax_deductible # was: tax_deductible - migrated per Rule 53/56 (2026-01-16)
- ./TaxDeductibility
- ../slots/regulated_by_scheme # was: tax_scheme - migrated per Rule 53/56 (2026-01-16)
- ./TaxScheme
# REMOVED 2026-01-14: valid_from + valid_to - migrated to temporal_extent (Rule 53)
- ../slots/template_specificity
- ../slots/temporal_extent # was: valid_from + valid_to - migrated per Rule 53
@ -111,8 +113,8 @@ classes:
- scheme_type
- scheme_url
- specificity_annotation
- tax_deductible
- tax_scheme
- is_or_was_tax_deductible # was: tax_deductible - migrated per Rule 53/56 (2026-01-16)
- regulated_by_scheme # was: tax_scheme - migrated per Rule 53/56 (2026-01-16)
- template_specificity
- temporal_extent # was: valid_from + valid_to - migrated per Rule 53
slot_usage:
@ -226,26 +228,60 @@ classes:
description: Rijksmuseum Vrienden page
- value: https://support.bl.uk/Page/Adopt-a-book
description: British Library adoption page
tax_deductible:
range: boolean
is_or_was_tax_deductible: # was: tax_deductible - migrated per Rule 53/56 (2026-01-16)
range: TaxDeductibility
inlined: true
description: |
Structured tax deductibility status for donations to this scheme.
Provides status classification, jurisdiction, and conditions.
examples:
- value: true
description: Donations are tax-deductible
- value: false
description: Not tax-deductible (e.g., membership with significant benefits)
tax_scheme:
range: string
- value:
status: FULLY_DEDUCTIBLE
jurisdiction: NL
deductible_percentage: 100
description: Donations are fully tax-deductible in Netherlands
- value:
status: NOT_DEDUCTIBLE
conditions: Membership benefits exceed donation value
description: Not tax-deductible (e.g., membership with significant benefits)
regulated_by_scheme: # was: tax_scheme - migrated per Rule 53/56 (2026-01-16)
range: TaxScheme
multivalued: true
inlined_as_list: true
description: |
Tax scheme(s) applicable to donations to this institution.
Multiple schemes may apply (e.g., ANBI + Cultural ANBI in NL).
examples:
- value: ANBI
description: Dutch general public benefit institution
- value: Cultural ANBI (125%)
description: Dutch cultural institution with extra deduction
- value: Gift Aid
description: UK Gift Aid scheme
- value: 501(c)(3)
description: US tax-exempt charitable organization
- value: Gemeinnützigkeit
description: German charitable status
- value:
has_or_had_type: ANBI
has_or_had_label: ANBI
jurisdiction: NL
deduction_percentage: 100
description: Dutch general public benefit institution
- value:
has_or_had_type: CulturalANBI
has_or_had_label: Cultural ANBI (125%)
jurisdiction: NL
deduction_percentage: 125
description: Dutch cultural institution with extra deduction
- value:
has_or_had_type: GiftAid
has_or_had_label: Gift Aid
jurisdiction: UK
deduction_percentage: 100
description: UK Gift Aid scheme
- value:
has_or_had_type: Section501c3
has_or_had_label: 501(c)(3)
jurisdiction: US
deduction_percentage: 100
description: US tax-exempt charitable organization
- value:
has_or_had_type: Gemeinnuetzigkeit
has_or_had_label: Gemeinnützigkeit
jurisdiction: DE
deduction_percentage: 100
description: German charitable status
contact_email:
range: string
examples:
@ -272,7 +308,7 @@ classes:
description: Scheme mentioned but details unclear
comments:
- Each scheme links to WebObservation for full provenance chain
- Tax deductibility varies by jurisdiction - always document tax_scheme
- Tax deductibility varies by jurisdiction - always document regulated_by_scheme
- Benefits should be extracted as discrete items for comparison
- Tiered schemes (e.g., Silver/Gold/Platinum) are separate DonationScheme instances
- Use payment_frequency to distinguish one-time vs recurring schemes
@ -299,8 +335,16 @@ classes:
- Kwartaalnieuwsbrief
offered_by: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum
scheme_url: https://www.rijksmuseum.nl/nl/steun-het-rijksmuseum/word-vriend
tax_deductible: true
tax_scheme: Cultural ANBI (125%)
is_or_was_tax_deductible: # was: tax_deductible - migrated per Rule 53/56 (2026-01-16)
status: FULLY_DEDUCTIBLE
jurisdiction: NL
deductible_percentage: 100
regulated_by_scheme: # was: tax_scheme - migrated per Rule 53/56 (2026-01-16)
- has_or_had_type: CulturalANBI
has_or_had_label: Cultural ANBI (125%)
jurisdiction: NL
deduction_percentage: 125
regulatory_body: Belastingdienst
observed_in: https://nde.nl/ontology/hc/observation/web/2026-01-01/rijksmuseum-support
extraction_confidence: 0.95
extraction_notes: Clear scheme page with pricing and benefits listed.
@ -321,8 +365,16 @@ classes:
- Conservation report
offered_by: https://nde.nl/ontology/hc/custodian/uk/british-library
scheme_url: https://support.bl.uk/Page/Adopt-a-book
tax_deductible: true
tax_scheme: Gift Aid
is_or_was_tax_deductible: # was: tax_deductible - migrated per Rule 53/56 (2026-01-16)
status: FULLY_DEDUCTIBLE
jurisdiction: UK
deductible_percentage: 100
regulated_by_scheme: # was: tax_scheme - migrated per Rule 53/56 (2026-01-16)
- has_or_had_type: GiftAid
has_or_had_label: Gift Aid
jurisdiction: UK
deduction_percentage: 100
regulatory_body: HMRC
observed_in: https://nde.nl/ontology/hc/observation/web/2026-01-01/bl-support
extraction_confidence: 0.98
extraction_notes: Well-documented scheme with clear tiers and benefits.
@ -345,8 +397,16 @@ classes:
- Two guest passes per visit
offered_by: https://nde.nl/ontology/hc/custodian/uk/nhm-london
scheme_url: https://www.nhm.ac.uk/support-us/patrons
tax_deductible: true
tax_scheme: Gift Aid
is_or_was_tax_deductible: # was: tax_deductible - migrated per Rule 53/56 (2026-01-16)
status: FULLY_DEDUCTIBLE
jurisdiction: UK
deductible_percentage: 100
regulated_by_scheme: # was: tax_scheme - migrated per Rule 53/56 (2026-01-16)
- has_or_had_type: GiftAid
has_or_had_label: Gift Aid
jurisdiction: UK
deduction_percentage: 100
regulatory_body: HMRC
observed_in: https://nde.nl/ontology/hc/observation/web/2026-01-01/nhm-patrons
extraction_confidence: 0.92
extraction_notes: Three-tier patron program. Silver is entry level.
@ -367,8 +427,16 @@ classes:
- Behind-the-scenes tour invitation
offered_by: https://nde.nl/ontology/hc/custodian/nl/iish
scheme_url: https://iisg.amsterdam/en/support/adopt-history
tax_deductible: true
tax_scheme: ANBI
is_or_was_tax_deductible: # was: tax_deductible - migrated per Rule 53/56 (2026-01-16)
status: FULLY_DEDUCTIBLE
jurisdiction: NL
deductible_percentage: 100
regulated_by_scheme: # was: tax_scheme - migrated per Rule 53/56 (2026-01-16)
- has_or_had_type: ANBI
has_or_had_label: ANBI
jurisdiction: NL
deduction_percentage: 100
regulatory_body: Belastingdienst
observed_in: https://nde.nl/ontology/hc/observation/web/2026-01-01/iish-support
extraction_confidence: 0.9
extraction_notes: Archive document adoption with flexible donation levels.
@ -388,8 +456,17 @@ classes:
- Nalatenschap volledig naar collectie
offered_by: https://nde.nl/ontology/hc/custodian/nl/kb
scheme_url: https://www.kb.nl/over-ons/steun-de-kb/nalatenschap
tax_deductible: true
tax_scheme: ANBI (erfbelasting vrijstelling)
is_or_was_tax_deductible: # was: tax_deductible - migrated per Rule 53/56 (2026-01-16)
status: FULLY_DEDUCTIBLE
jurisdiction: NL
deductible_percentage: 100
regulated_by_scheme: # was: tax_scheme - migrated per Rule 53/56 (2026-01-16)
- has_or_had_type: ANBI
has_or_had_label: ANBI (erfbelasting vrijstelling)
has_or_had_description: ANBI status with inheritance tax exemption
jurisdiction: NL
deduction_percentage: 100
regulatory_body: Belastingdienst
contact_email: ontwikkeling@kb.nl
observed_in: https://nde.nl/ontology/hc/observation/web/2026-01-01/kb-support
extraction_confidence: 0.85

View file

@ -18,7 +18,9 @@ imports:
- ./StorageCondition
- ./EnvironmentalZoneType
- ./EnvironmentalZoneTypes
- ../slots/temperature_tolerance
# REMOVED 2026-01-16: temperature_tolerance - migrated to allows_or_allowed with TemperatureDeviation class (Rule 53/56)
- ../slots/allows_or_allowed
- ./TemperatureDeviation
- ../slots/humidity_tolerance
- ../slots/contains_or_contained_contains_unit
- ../slots/environmental_requirement
@ -102,7 +104,9 @@ classes:
slots:
- contains_or_contained_contains_unit
- environmental_requirement
# REMOVED 2026-01-16: humidity_tolerance - pending migration to allows_or_allowed with HumidityDeviation
- humidity_tolerance
- allows_or_allowed # was: temperature_tolerance - migrated per Rule 53/56 (2026-01-16)
- max_annual_light_exposure
- max_light_lux
- monitoring_platform
@ -112,7 +116,7 @@ classes:
- specificity_annotation
# REMOVED 2026-01-15: target_relative_humidity, target_temperature_celsius - migrated to has_or_had_setpoint
- has_or_had_setpoint
- temperature_tolerance
# REMOVED 2026-01-16: temperature_tolerance - migrated to allows_or_allowed with TemperatureDeviation
- template_specificity
- temporal_extent # was: valid_from + valid_to - migrated per Rule 53
- has_or_had_description
@ -184,11 +188,30 @@ classes:
setpoint_tolerance: 5.0
setpoint_unit: PERCENT
description: Standard archive zone setpoints
temperature_tolerance:
range: float
# REMOVED 2026-01-16: temperature_tolerance - migrated to allows_or_allowed with TemperatureDeviation
allows_or_allowed:
range: TemperatureDeviation
multivalued: true
inlined: true
inlined_as_list: true
description: |
Allowed temperature deviation/tolerance for this zone.
MIGRATED 2026-01-16: Replaces temperature_tolerance (float).
Uses TemperatureDeviation class for structured tolerance data with unit and ISO standard reference.
examples:
- value: 2.0
- value: 3.0
- value:
- deviation_value: 2.0
deviation_direction: PLUS_MINUS
has_or_had_measurement_unit:
has_or_had_type: DEGREE_CELSIUS
has_or_had_symbol: "°C"
iso_standard_reference: "ISO 11799:2015"
description: Standard archive tolerance (±2°C)
- value:
- deviation_value: 3.0
deviation_direction: PLUS_MINUS
iso_standard_reference: "ISO 18911:2010"
description: Cold storage tolerance (±3°C)
# REMOVED 2026-01-15: target_relative_humidity - migrated to has_or_had_setpoint above
humidity_tolerance:
range: float

View file

@ -48,7 +48,9 @@ imports:
- ../slots/max_annual_light_exposure
- ../slots/iso_standard
- ../slots/hc_preset_uri
- ../slots/target_material
- ../slots/stores_or_stored # was: target_material - migrated per Rule 53/56 (2026-01-16)
- ./Material # Added for stores_or_stored range (material design specs)
- ./MaterialType # Added for Material.has_or_had_type
- ../slots/requires_uv_filter
- ../slots/requires_esd_protection
- ../slots/requires_dark_storage
@ -189,7 +191,7 @@ classes:
- max_annual_light_exposure
- iso_standard
- hc_preset_uri
- target_material
- stores_or_stored # was: target_material - migrated per Rule 53/56 (2026-01-16)
- requires_uv_filter
- requires_esd_protection
- requires_dark_storage
@ -280,19 +282,41 @@ classes:
- value: hc:StandardArchiveEnvironment
description: Standard archive preset
target_material:
# was: target_material - migrated per Rule 53/56 (2026-01-16)
stores_or_stored:
range: Material
multivalued: true
inlined: true
inlined_as_list: true
description: |
Material types this environmental zone is designed to store.
MIGRATED 2026-01-16: Replaces target_material slot per Rule 53/56.
Uses Material class with MaterialType classification for structured representation.
examples:
- value:
- paper
- parchment
- manuscripts
description: Archive storage materials
- has_or_had_identifier: https://nde.nl/ontology/hc/material/paper
has_or_had_label:
- paper@en
- papier@nl
has_or_had_type: https://nde.nl/ontology/hc/material-type/organic
- has_or_had_identifier: https://nde.nl/ontology/hc/material/parchment
has_or_had_label:
- parchment@en
- perkament@nl
has_or_had_type: https://nde.nl/ontology/hc/material-type/organic
description: Archive storage materials (paper, parchment)
- value:
- film negatives
- color photographs
- acetate
description: Cold storage materials
- has_or_had_identifier: https://nde.nl/ontology/hc/material/nitrate-film
has_or_had_label:
- nitrate film@en
- nitraatfilm@nl
has_or_had_type: https://nde.nl/ontology/hc/material-type/synthetic
- has_or_had_identifier: https://nde.nl/ontology/hc/material/acetate-film
has_or_had_label:
- acetate film@en
- acetaatfilm@nl
has_or_had_type: https://nde.nl/ontology/hc/material-type/synthetic
description: Cold storage materials (film)
# ADDED 2026-01-15: Replaces wikidata_id slot per Rule 53
is_or_was_equivalent_to:
@ -329,6 +353,8 @@ classes:
- humidity_min, humidity_max, humidity_target → has_or_had_setpoint + Setpoint
2026-01-15: Migrated wikidata_id to is_or_was_equivalent_to (Rule 53)
- wikidata_id → is_or_was_equivalent_to + WikiDataIdentifier
2026-01-16: Migrated target_material to stores_or_stored + Material (Rule 53/56)
- target_material → stores_or_stored + Material
comments:
- "Abstract base class - use specific subclasses (ArchiveStandardStorageEnvironment, etc.)"
@ -338,6 +364,7 @@ classes:
- "Environmental parameters align with conservation standards (EN 16893, ISO 11799, ISO 18911)"
- "MIGRATED 2026-01-13: Now uses shared slots (Rule 38)"
- "MIGRATED 2026-01-15: Temperature/humidity slots → has_or_had_setpoint + Setpoint (Rule 53)"
- "MIGRATED 2026-01-16: target_material → stores_or_stored + Material (Rule 53/56)"
see_also:
- https://www.iso.org/standard/63810.html
@ -373,11 +400,28 @@ classes:
iso_standard:
- ISO 11799
hc_preset_uri: hc:StandardArchiveEnvironment
target_material:
- paper
- parchment
- manuscripts
- photographs
# was: target_material - migrated per Rule 53/56 (2026-01-16)
stores_or_stored:
- has_or_had_identifier: https://nde.nl/ontology/hc/material/paper
has_or_had_label:
- paper@en
- papier@nl
has_or_had_type: https://nde.nl/ontology/hc/material-type/organic
- has_or_had_identifier: https://nde.nl/ontology/hc/material/parchment
has_or_had_label:
- parchment@en
- perkament@nl
has_or_had_type: https://nde.nl/ontology/hc/material-type/organic
- has_or_had_identifier: https://nde.nl/ontology/hc/material/manuscript
has_or_had_label:
- manuscript@en
- manuscript@nl
has_or_had_type: https://nde.nl/ontology/hc/material-type/composite
- has_or_had_identifier: https://nde.nl/ontology/hc/material/photograph
has_or_had_label:
- photograph@en
- foto@nl
has_or_had_type: https://nde.nl/ontology/hc/material-type/composite
requires_uv_filter: true
requires_dark_storage: false
is_or_was_equivalent_to: # ADDED 2026-01-15: Replaces wikidata_id per Rule 53

View file

@ -232,8 +232,8 @@ classes:
quantity_value: 650000
quantity_type: VISITOR_COUNT
has_or_had_measurement_unit:
unit_type: VISITOR
unit_symbol: "visitors"
has_or_had_type: VISITOR
has_or_had_symbol: "visitors"
temporal_extent:
begin_of_the_begin: "2023-02-10T00:00:00Z"
end_of_the_end: "2023-06-04T23:59:59Z"
@ -375,8 +375,8 @@ classes:
quantity_value: 650000
quantity_type: VISITOR_COUNT
has_or_had_measurement_unit:
unit_type: VISITOR
unit_symbol: "visitors"
has_or_had_type: VISITOR
has_or_had_symbol: "visitors"
temporal_extent:
begin_of_the_begin: "2023-02-10T00:00:00Z"
end_of_the_end: "2023-06-04T23:59:59Z"

View file

@ -1,6 +1,24 @@
id: https://w3id.org/nde/ontology/Foremalarkiv
name: Foremalarkiv
title: Föremålsarkiv (Swedish Object Archive)
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_custodian_type
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
Foremalarkiv:
description: Swedish object archive (föremålsarkiv). A specialized type of archive in Sweden that focuses on three-dimensional
@ -13,10 +31,11 @@ classes:
- has_or_had_custodian_type
- specificity_annotation
- template_specificity
- wikidata_entity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
equals_string: Q10501208
description: Wikidata identifier for Föremålsarkiv concept
has_or_had_custodian_type:
equals_expression: '["hc:ArchiveOrganizationType"]'
geographic_restriction:
@ -34,4 +53,3 @@ classes:
- Filename uses ASCII transliteration for filesystem compatibility
- Applies archival methodology to physical object collections
- Distinct from traditional document-based archives
imports: null

View file

@ -1,6 +1,23 @@
id: https://w3id.org/nde/ontology/GLAM
name: GLAM
title: GLAM (Galleries, Libraries, Archives, and Museums)
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/specificity_annotation
- ../slots/template_specificity
- ../slots/has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
GLAM:
description: Acronym for "Galleries, Libraries, Archives, and Museums" that refers to cultural institutions that have
@ -12,10 +29,11 @@ classes:
slots:
- specificity_annotation
- template_specificity
- wikidata_entity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
equals_string: Q1030034
description: Wikidata identifier for GLAM concept
annotations:
skos:prefLabel: GLAM
skos:altLabel: Galleries, Libraries, Archives, and Museums, GLAM institution, Memory institution, Cultural heritage
@ -34,4 +52,3 @@ classes:
- Sector-wide term encompassing heritage custodian types
- Sometimes extended to GLAMR (adding Research) or GLAMS (adding Science)
- Core concept for this ontology's domain scope
imports: null

View file

@ -18,30 +18,8 @@ imports:
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../slots/custodian_type_broader
- ../slots/commercial_operation
- ../slots/commission_rate
- ../slots/custodian_type_broader
- ../slots/exhibition_focus
- ../slots/exhibition_model
- ../slots/gallery_subtype
- ../slots/has_or_had_artist_representation
- ../slots/has_or_had_custodian_type
- ../slots/sales_activity
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/wikidata_entity
- ../slots/commercial_operation
- ../slots/commission_rate
- ../slots/custodian_type_broader
- ../slots/exhibition_focus
- ../slots/exhibition_model
- ../slots/gallery_subtype
- ../slots/has_or_had_artist_representation
- ../slots/has_or_had_custodian_type
- ../slots/sales_activity
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/wikidata_entity
- ../slots/has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ./WikiDataIdentifier
classes:
GalleryType:
is_a: CustodianType
@ -166,10 +144,12 @@ classes:
- sales_activity
- specificity_annotation
- template_specificity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
pattern: ^Q[0-9]+$
required: true
description: Wikidata identifier (Q-number) for this Gallery type concept
custodian_type_broader:
range: GalleryType
required: false
@ -194,7 +174,7 @@ classes:
- value:
type_id: https://nde.nl/ontology/hc/type/gallery/Q1475403
glamorcubesfixphdnt_code: GALLERY
wikidata_entity: Q1475403
has_or_had_identifier: Q1475403 # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
type_label:
- Kunsthalle@en
- kunsthalle@nl
@ -209,7 +189,7 @@ classes:
- value:
type_id: https://nde.nl/ontology/hc/type/gallery/Q56856618
glamorcubesfixphdnt_code: GALLERY
wikidata_entity: Q56856618
has_or_had_identifier: Q56856618 # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
type_label:
- Commercial Art Gallery@en
- kunstgalerie@nl

View file

@ -232,15 +232,15 @@ classes:
- value:
area_value: 450.0
has_or_had_unit:
unit_type: SQUARE_METER
unit_symbol: "m²"
has_or_had_type: SQUARE_METER
has_or_had_symbol: "m²"
has_or_had_label: "Building floor area"
description: 450 square meters floor area
- value:
area_value: 1200.0
has_or_had_unit:
unit_type: SQUARE_METER
unit_symbol: "m²"
has_or_had_type: SQUARE_METER
has_or_had_symbol: "m²"
is_estimate: true
measurement_method: "Historical records"
has_or_had_label: "Total floor area"
@ -295,8 +295,8 @@ classes:
has_or_had_area:
- area_value: 450.0
has_or_had_unit:
unit_type: SQUARE_METER
unit_symbol: "m²"
has_or_had_type: SQUARE_METER
has_or_had_symbol: "m²"
has_or_had_label: "Total floor area"
description: Historic canal house as secondary property
- value:
@ -322,8 +322,8 @@ classes:
has_or_had_area:
- area_value: 2500.0
has_or_had_unit:
unit_type: SQUARE_METER
unit_symbol: "m²"
has_or_had_type: SQUARE_METER
has_or_had_symbol: "m²"
is_estimate: true
has_or_had_label: "Castle floor area"
description: Castle as heritage property

View file

@ -0,0 +1,157 @@
# Index - Structured index/table of contents representation
#
# Created for: table_of_content migration per slot_fixes.yaml (Rule 53/56)
# Creation date: 2026-01-16
#
# MIGRATION: Replaces simple string-based table_of_content slot with structured class
# enabling rich index metadata (entries, hierarchy, page references)
id: https://nde.nl/ontology/hc/class/Index
name: index_class
title: Index Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ./IndexType
classes:
Index:
class_uri: hc:Index
description: |
A structured representation of an index, table of contents, or navigation structure.
**USAGE**:
Replaces simple string-based `table_of_content` slot per Rule 53/56 to enable:
- Hierarchical entry structures (chapters, sections, subsections)
- Page/location references
- Multiple index types (TOC, subject index, name index)
- Provenance tracking
**INDEX TYPES**:
- TableOfContents: Chapter/section listings for publications
- SubjectIndex: Alphabetical subject listings
- NameIndex: Author/person name listings
- ChronologicalIndex: Date-ordered entries
- TopicalIndex: Thematic groupings
**HERITAGE CONTEXT**:
Indices in exhibition catalogs, collection guides, archival finding aids,
and other heritage publications.
slots:
- has_or_had_identifier
- has_or_had_label
- has_or_had_description
- has_or_had_index_type
- index_entry
slot_usage:
has_or_had_identifier:
description: Unique identifier for this index
has_or_had_label:
description: Display label for the index (e.g., "Table of Contents")
multivalued: true
has_or_had_index_type:
range: IndexType
description: Type of index (TOC, subject index, etc.)
index_entry:
description: Entries in this index
multivalued: true
inlined_as_list: true
annotations:
specificity_score: 0.55
specificity_rationale: |
Indices are moderately specific - used in publications, catalogs,
finding aids but not universally across all heritage entities.
migration_source: "table_of_content slot"
migration_date: "2026-01-16"
migration_rule: "Rule 53/56"
examples:
- value:
has_or_had_identifier: hc:index/exhibition-catalog-2024-toc
has_or_had_label:
- Table of Contents@en
- Inhoudsopgave@nl
has_or_had_index_type:
has_or_had_identifier: hc:index-type/table-of-contents
index_entry:
- entry_label: "Introduction"
entry_page: "1"
entry_level: 1
- entry_label: "Chapter 1: Origins"
entry_page: "15"
entry_level: 1
- entry_label: "1.1 Early Collections"
entry_page: "18"
entry_level: 2
description: Table of contents for exhibition catalog
- value:
has_or_had_identifier: hc:index/catalog-subject-index
has_or_had_label:
- Subject Index@en
has_or_had_index_type:
has_or_had_identifier: hc:index-type/subject-index
index_entry:
- entry_label: "Art, Dutch Golden Age"
entry_page: "42, 78, 156"
- entry_label: "Ceramics, Delftware"
entry_page: "89-112"
description: Subject index with page ranges
comments:
- "Replaces string-based table_of_content per Rule 53/56 (2026-01-16)"
- "Enables hierarchical and typed index structures"
# Inline slot definitions for Index-specific slots
slots:
has_or_had_index_type:
slot_uri: hc:hasOrHadIndexType
description: |
The type of index (table of contents, subject index, name index, etc.).
range: IndexType
examples:
- value: "hc:index-type/table-of-contents"
description: Table of contents type
index_entry:
slot_uri: hc:indexEntry
description: |
An entry in this index. Each entry has a label, optional page/location reference,
and optional hierarchy level.
range: IndexEntry
multivalued: true
inlined_as_list: true
# IndexEntry as inline class
IndexEntry:
class_uri: hc:IndexEntry
description: |
A single entry in an index.
attributes:
entry_label:
range: string
required: true
description: The text label for this entry (chapter title, subject term, etc.)
entry_page:
range: string
description: Page number or range (e.g., "42", "89-112", "42, 78, 156")
entry_level:
range: integer
description: Hierarchy level (1=top level, 2=subsection, etc.)
entry_uri:
range: uri
description: URI reference if this entry links to a digital resource

View file

@ -0,0 +1,71 @@
# IndexType - Abstract base class for index type taxonomy
#
# Created for: table_of_content migration per slot_fixes.yaml (Rule 53/56)
# Creation date: 2026-01-16
#
# Follows Type/Types naming convention (Rule 0b):
# - IndexType.yaml: Abstract base class
# - IndexTypes.yaml: Concrete subclasses
id: https://nde.nl/ontology/hc/class/IndexType
name: index_type_class
title: Index Type Base Class
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_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_description
classes:
IndexType:
class_uri: skos:Concept
abstract: true
description: |
Abstract base class for the index type taxonomy.
**TYPE/TYPES PATTERN** (Rule 0b):
- This file (IndexType.yaml): Abstract base class
- IndexTypes.yaml: Concrete subclasses (TableOfContentsType, SubjectIndexType, etc.)
**TAXONOMY**:
Index types categorize different kinds of indices/tables of contents:
- TableOfContentsType: Chapter/section navigation
- SubjectIndexType: Alphabetical subject listings
- NameIndexType: Author/person name listings
- ChronologicalIndexType: Date-ordered entries
- TopicalIndexType: Thematic groupings
- GlossaryType: Term definitions
slots:
- has_or_had_identifier
- has_or_had_label
- has_or_had_description
slot_usage:
has_or_had_identifier:
identifier: true
required: true
has_or_had_label:
multivalued: true
required: true
annotations:
specificity_score: 0.60
specificity_rationale: |
Index types are moderately specific - apply to publications
and finding aids but not broadly across heritage entities.
migration_source: "table_of_content slot"
migration_date: "2026-01-16"
migration_rule: "Rule 53/56"
comments:
- "Abstract base - use concrete subclasses from IndexTypes.yaml"
- "Created for table_of_content migration per Rule 53/56 (2026-01-16)"

View file

@ -0,0 +1,128 @@
# IndexTypes - Concrete index type subclasses
#
# Created for: table_of_content migration per slot_fixes.yaml (Rule 53/56)
# Creation date: 2026-01-16
#
# Follows Type/Types naming convention (Rule 0b):
# - IndexType.yaml: Abstract base class
# - IndexTypes.yaml: Concrete subclasses (this file)
id: https://nde.nl/ontology/hc/class/IndexTypes
name: index_types_classes
title: Index Type Subclasses
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
- ./IndexType
classes:
TableOfContentsType:
is_a: IndexType
class_uri: hc:TableOfContentsType
description: |
Table of contents - hierarchical chapter/section navigation structure.
Primary index type for publications, catalogs, and documents.
annotations:
dcterms_mapping: "dcterms:tableOfContents"
examples:
- value:
has_or_had_identifier: hc:index-type/table-of-contents
has_or_had_label:
- Table of Contents@en
- Inhoudsopgave@nl
- Table des matières@fr
description: Standard table of contents type
SubjectIndexType:
is_a: IndexType
class_uri: hc:SubjectIndexType
description: |
Subject index - alphabetical listing of subjects/topics with page references.
Common in academic works, catalogs, and reference publications.
examples:
- value:
has_or_had_identifier: hc:index-type/subject-index
has_or_had_label:
- Subject Index@en
- Zakenregister@nl
description: Subject index type
NameIndexType:
is_a: IndexType
class_uri: hc:NameIndexType
description: |
Name index - alphabetical listing of persons, artists, authors mentioned.
Common in exhibition catalogs, biographies, and art history publications.
examples:
- value:
has_or_had_identifier: hc:index-type/name-index
has_or_had_label:
- Name Index@en
- Index of Artists@en
- Namenregister@nl
description: Name/artist index type
ChronologicalIndexType:
is_a: IndexType
class_uri: hc:ChronologicalIndexType
description: |
Chronological index - entries ordered by date/time period.
Useful for historical collections and archival materials.
examples:
- value:
has_or_had_identifier: hc:index-type/chronological-index
has_or_had_label:
- Chronological Index@en
- Timeline@en
- Chronologisch overzicht@nl
description: Chronological index type
TopicalIndexType:
is_a: IndexType
class_uri: hc:TopicalIndexType
description: |
Topical/thematic index - entries grouped by theme or topic.
Alternative to alphabetical subject index.
examples:
- value:
has_or_had_identifier: hc:index-type/topical-index
has_or_had_label:
- Topical Index@en
- Thematic Guide@en
description: Topical index type
GlossaryType:
is_a: IndexType
class_uri: hc:GlossaryType
description: |
Glossary - alphabetical list of terms with definitions.
Common in technical publications and specialized catalogs.
examples:
- value:
has_or_had_identifier: hc:index-type/glossary
has_or_had_label:
- Glossary@en
- Verklarende woordenlijst@nl
description: Glossary type
PlateIndexType:
is_a: IndexType
class_uri: hc:PlateIndexType
description: |
Plate/illustration index - listing of images, plates, or figures.
Common in art catalogs and illustrated publications.
examples:
- value:
has_or_had_identifier: hc:index-type/plate-index
has_or_had_label:
- List of Plates@en
- List of Illustrations@en
- Platenlijst@nl
description: Plate/illustration index type

View file

@ -1,6 +1,24 @@
id: https://w3id.org/nde/ontology/Institution
name: Institution
title: Institution
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_custodian_type
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
Institution:
description: Structure or mechanism of social order and cooperation governing the behaviour of a set of individuals within
@ -16,10 +34,11 @@ classes:
- has_or_had_custodian_type
- specificity_annotation
- template_specificity
- wikidata_entity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
equals_string: Q178706
description: Wikidata identifier for Institution concept
has_or_had_custodian_type:
equals_expression: '["*"]'
organizational_level:
@ -34,4 +53,3 @@ classes:
- institution sociale (fr)
- Broad category - prefer more specific types when available
- Base concept for formal heritage-keeping organizations
imports: null

View file

@ -1,6 +1,25 @@
id: https://w3id.org/nde/ontology/InstitutionalRepository
name: InstitutionalRepository
title: Institutional Repository
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_custodian_type
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ./DigitalPlatformType
classes:
InstitutionalRepository:
description: Archive of publications by an institution's staff. Institutional repositories (IRs) collect, preserve, and
@ -15,10 +34,11 @@ classes:
- has_or_had_custodian_type
- specificity_annotation
- template_specificity
- wikidata_entity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
equals_string: Q1065413
description: Wikidata identifier for Institutional Repository concept
platform_type_id:
identifier: false
has_or_had_custodian_type:
@ -40,4 +60,3 @@ classes:
- Primarily digital platform for scholarly output
- Supports open access to research publications
- Often uses DSpace, EPrints, or similar software
imports: null

View file

@ -185,9 +185,11 @@ classes:
collection_type:
- archival_records
collection_scope: Provincial government records of Noord-Holland
temporal_coverage:
begin_of_the_begin: '1289-01-01'
end_of_the_end: null
has_or_had_content: # was: temporal_coverage - migrated per Rule 53/56 (2026-01-16)
- has_or_had_label: "Provincial Government Records"
temporal_extent:
begin_of_the_begin: '1289-01-01'
end_of_the_end: null
extent: 45 kilometers of shelving, approximately 2.5 million documents
responsible_legal_entity: https://nde.nl/ontology/hc/legal/nha-organization
legal_responsibility_basis: 'Archiefwet 1995 (Dutch Archives Act), Article 41: "De provincie draagt zorg voor de
@ -208,9 +210,11 @@ classes:
collection_type:
- museum_objects
collection_scope: Dutch art and history from the Middle Ages to present
temporal_coverage:
begin_of_the_begin: '1200-01-01'
end_of_the_end: null
has_or_had_content: # was: temporal_coverage - migrated per Rule 53/56 (2026-01-16)
- has_or_had_label: "National Art Collection"
temporal_extent:
begin_of_the_begin: '1200-01-01'
end_of_the_end: null
extent: Approximately 1 million objects
responsible_legal_entity: https://nde.nl/ontology/hc/legal/rijksmuseum-foundation
legal_responsibility_basis: 'Erfgoedwet (Heritage Act) 2016, Article 2.1 + Stichting Rijksmuseum statute (1885): "Het

View file

@ -1,6 +1,24 @@
id: https://w3id.org/nde/ontology/LocalHeritageInstitutionSweden
name: LocalHeritageInstitutionSweden
title: Local Heritage Institution (Sweden)
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_custodian_type
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
LocalHeritageInstitutionSweden:
description: A Swedish type of local history and cultural heritage museum (Hembygdsgård). These institutions are typically
@ -17,10 +35,11 @@ classes:
- has_or_had_custodian_type
- specificity_annotation
- template_specificity
- wikidata_entity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
equals_string: Q10520688
description: Wikidata identifier for Hembygdsgård concept
has_or_had_custodian_type:
equals_expression: '["hc:MixedCustodianType"]'
geographic_restriction:
@ -36,4 +55,3 @@ classes:
- Run by local hembygdsförening (heritage association)
- Sweden-specific institution combining museum and archive functions
- Preserves rural life, folk culture, and local traditions
imports: null

View file

@ -1,6 +1,24 @@
id: https://w3id.org/nde/ontology/LocationLibrary
name: LocationLibrary
title: Location Library
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_custodian_type
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
LocationLibrary:
description: A collection of visual and reference information about locations or places that might be used for filming
@ -17,10 +35,11 @@ classes:
- has_or_had_custodian_type
- specificity_annotation
- template_specificity
- wikidata_entity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
equals_string: Q6664811
description: Wikidata identifier for Location Library concept
has_or_had_custodian_type:
equals_expression: '["hc:LibraryType"]'
see_also:
@ -34,4 +53,3 @@ classes:
- May be maintained by film commissions or private companies
- Combines archival reference with commercial service
- Often includes searchable geographic and visual databases
imports: null

View file

@ -0,0 +1,217 @@
# Material - Class representing physical materials/substances for storage categorization
#
# Generation date: 2026-01-16
# Rule compliance: 37 (specificity scores), 38 (slot centralization)
# Created for: target_material migration per slot_fixes.yaml (Rule 53/56)
#
# MIGRATION: Replaces simple string-based target_material with structured class
# Used by: EnvironmentalZoneType, StorageType
id: https://nde.nl/ontology/hc/class/Material
name: material_class
title: Material Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
crm: http://www.cidoc-crm.org/cidoc-crm/
schema: http://schema.org/
skos: http://www.w3.org/2004/02/skos/core#
dcterms: http://purl.org/dc/terms/
wd: http://www.wikidata.org/entity/
aat: http://vocab.getty.edu/aat/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/has_or_had_type
- ./MaterialType
- ../slots/is_or_was_equivalent_to
- ./WikiDataIdentifier
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
Material:
class_uri: crm:E57_Material
description: |
Represents a physical material or substance, typically used to categorize
what types of heritage objects a storage environment is designed to preserve.
**DEFINITION**:
Material represents the physical substance from which heritage objects are made.
This class enables structured representation of target materials for storage
environments, replacing simple string lists with semantically rich entities.
**CIDOC-CRM ALIGNMENT**:
Maps to `crm:E57_Material` - "A type of material of which things can be made."
E57_Material provides vocabulary for describing the physical composition of
heritage objects and the environmental requirements for their preservation.
**USE CASES**:
1. **Storage Environment Classification**:
- EnvironmentalZoneType specifies which materials it's designed for
- StorageType indicates suitable material types
2. **Preservation Requirements**:
- Different materials have different climate requirements
- Paper vs. film vs. textiles have distinct needs
3. **Collection Categorization**:
- Materials provide another facet for classifying collections
- Enables material-specific search and discovery
**EXAMPLES**:
- Paper, parchment, vellum (archival materials)
- Nitrate film, acetate film, polyester film (photographic)
- Wool, silk, cotton, linen (textiles)
- Bronze, iron, silver (metals)
- Oil paint, acrylic, tempera (art materials)
**MIGRATION NOTE (2026-01-16)**:
This class replaces simple string-based `target_material` slot per Rule 53/56.
Provides structured representation with type classification, Wikidata alignment,
and extensibility for future material-specific properties.
exact_mappings:
- crm:E57_Material
close_mappings:
- schema:material
- aat:300010358
related_mappings:
- crm:E55_Type
- skos:Concept
slots:
- has_or_had_identifier
- has_or_had_label
- has_or_had_description
- has_or_had_type
- is_or_was_equivalent_to
- specificity_annotation
- template_specificity
slot_usage:
has_or_had_identifier:
range: uriorcurie
identifier: true
required: true
pattern: "^https://nde\\.nl/ontology/hc/material/[a-z0-9-]+$"
examples:
- value: https://nde.nl/ontology/hc/material/paper
description: Paper material identifier
- value: https://nde.nl/ontology/hc/material/nitrate-film
description: Nitrate film material identifier
has_or_had_label:
range: string
required: true
multivalued: true
examples:
- value: ["paper@en", "papier@nl"]
- value: ["nitrate film@en", "nitraatfilm@nl"]
- value: ["parchment@en", "perkament@nl"]
has_or_had_description:
range: string
examples:
- value: "Cellulose-based material made from wood pulp or cotton fibers, used for documents, books, and prints."
has_or_had_type:
range: MaterialType
description: |
Classification of this material into a type category.
Enables hierarchical organization of materials.
examples:
- value: https://nde.nl/ontology/hc/material-type/organic
description: Organic material category
is_or_was_equivalent_to:
range: WikiDataIdentifier
multivalued: true
inlined: true
inlined_as_list: true
description: |
Wikidata equivalence for this material.
examples:
- value:
- qid: "Q11472"
label: "paper"
description: Wikidata equivalence for paper
- value:
- qid: "Q1201597"
label: "nitrate film"
description: Wikidata equivalence for nitrate film
annotations:
custodian_types: '["*"]'
custodian_types_rationale: "Materials apply to all custodian types with collections"
specificity_score: "0.50"
specificity_rationale: "Moderately specific - materials relevant for preservation across heritage domains."
template_specificity: '{"collection_discovery": 0.65, "organizational_change": 0.25, "general_heritage": 0.45}'
migration_source: "target_material slot"
migration_date: "2026-01-16"
migration_rule: "Rule 53/56 - semantic consistency over simplicity"
comments:
- "Material represents physical substances for heritage preservation"
- "CIDOC-CRM E57_Material as primary ontology alignment"
- "Replaces string-based target_material per Rule 53/56"
- "Enables structured material classification with Wikidata alignment"
- "Used by EnvironmentalZoneType and StorageType for storage categorization"
see_also:
- http://www.cidoc-crm.org/cidoc-crm/E57_Material
- http://vocab.getty.edu/aat/300010358
- https://www.wikidata.org/wiki/Q214609
examples:
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/material/paper
has_or_had_label:
- paper@en
- papier@nl
has_or_had_description: "Cellulose-based material made from wood pulp or cotton fibers."
has_or_had_type: https://nde.nl/ontology/hc/material-type/organic
is_or_was_equivalent_to:
- qid: "Q11472"
label: "paper"
description: Paper material
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/material/nitrate-film
has_or_had_label:
- nitrate film@en
- nitraatfilm@nl
- cellulose nitrate film@en
has_or_had_description: "Early photographic and motion picture film base, highly flammable and chemically unstable."
has_or_had_type: https://nde.nl/ontology/hc/material-type/synthetic
is_or_was_equivalent_to:
- qid: "Q1201597"
label: "nitrate film"
description: Nitrate film material requiring cold storage
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/material/parchment
has_or_had_label:
- parchment@en
- perkament@nl
has_or_had_description: "Animal skin prepared for writing, historically used for manuscripts and legal documents."
has_or_had_type: https://nde.nl/ontology/hc/material-type/organic
is_or_was_equivalent_to:
- qid: "Q226697"
label: "parchment"
description: Parchment material for archival storage

View file

@ -0,0 +1,221 @@
# MaterialType - Abstract base class for material type classifications
#
# Following the Type/Types naming convention (Rule 0b):
# - MaterialType.yaml: Abstract base class defining the type taxonomy
# - MaterialTypes.yaml: File containing all concrete subclasses
#
# Generation date: 2026-01-16
# Rule compliance: 0b (Type/Types naming), 37 (specificity scores), 38 (slot centralization)
#
# Created for: target_material migration per slot_fixes.yaml (Rule 53/56)
id: https://nde.nl/ontology/hc/class/MaterialType
name: material_type_class
title: Material Type Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
crm: http://www.cidoc-crm.org/cidoc-crm/
schema: http://schema.org/
skos: http://www.w3.org/2004/02/skos/core#
dcterms: http://purl.org/dc/terms/
aat: http://vocab.getty.edu/aat/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/has_or_had_hypernym
- ../slots/has_or_had_hyponym
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
MaterialType:
class_uri: skos:Concept
abstract: true
description: |
Abstract base class for material type classifications in heritage preservation.
**DEFINITION**:
MaterialType provides a SKOS-based classification hierarchy for categorizing
physical materials used in heritage objects. This enables structured organization
of materials by their fundamental properties and preservation requirements.
**CATEGORY STRUCTURE**:
Material types are organized by fundamental composition:
1. **ORGANIC MATERIALS**: Plant and animal-derived substances
- Paper, parchment, vellum, leather
- Wood, textiles (cotton, linen, silk, wool)
- Adhesives (animal glue, starch)
2. **SYNTHETIC MATERIALS**: Man-made polymers and compounds
- Plastics (cellulose nitrate, acetate, polyester)
- Film bases
- Synthetic textiles (nylon, polyester)
3. **METAL MATERIALS**: Metallic substances
- Bronze, iron, silver, gold, copper
- Alloys
4. **CERAMIC MATERIALS**: Fired clay and glass
- Pottery, porcelain, stoneware
- Glass, enamel
5. **COMPOSITE MATERIALS**: Multi-material objects
- Photographs (paper + silver gelatin)
- Paintings (canvas + paint + varnish)
**PRESERVATION SIGNIFICANCE**:
Material type classification directly informs:
- Environmental storage requirements (temperature, humidity, light)
- Conservation treatment options
- Handling protocols
- Risk assessment (inherent vice, chemical instability)
**ONTOLOGY ALIGNMENT**:
- **SKOS Concept**: Type classification vocabulary
- **AAT Materials Hierarchy**: Getty AAT alignment (aat:300010358)
- **CIDOC-CRM E57_Material**: Material as substance type
**RELATIONSHIP TO OTHER CLASSES**:
```
Material (individual material instance)
└── has_or_had_type → MaterialType (THIS CLASS)
├── has_or_had_hypernym → MaterialType (parent)
└── has_or_had_hyponym → MaterialType[] (children)
```
**SUBCLASSES**:
See MaterialTypes.yaml for concrete material type subclasses:
- OrganicMaterial
- SyntheticMaterial
- MetalMaterial
- CeramicMaterial
- GlassMaterial
- CompositeMaterial
exact_mappings:
- skos:Concept
close_mappings:
- crm:E55_Type
- aat:300010358
related_mappings:
- crm:E57_Material
slots:
- has_or_had_identifier
- has_or_had_label
- has_or_had_description
- has_or_had_hypernym
- has_or_had_hyponym
- specificity_annotation
- template_specificity
slot_usage:
has_or_had_identifier:
range: uriorcurie
identifier: true
required: true
pattern: "^https://nde\\.nl/ontology/hc/material-type/[a-z0-9-]+$"
examples:
- value: https://nde.nl/ontology/hc/material-type/organic
description: Organic material type category
- value: https://nde.nl/ontology/hc/material-type/synthetic
description: Synthetic material type category
has_or_had_label:
range: string
required: true
multivalued: true
examples:
- value: ["Organic Material@en", "Organisch materiaal@nl"]
- value: ["Synthetic Material@en", "Synthetisch materiaal@nl"]
has_or_had_description:
range: string
examples:
- value: "Plant and animal-derived materials including paper, parchment, leather, textiles, and wood."
has_or_had_hypernym:
range: MaterialType
description: Parent material type category in the hierarchy.
examples:
- value: https://nde.nl/ontology/hc/material-type/organic
description: Parent type for paper-based materials
has_or_had_hyponym:
range: MaterialType
multivalued: true
inlined_as_list: true
description: Child material type categories.
examples:
- value:
- https://nde.nl/ontology/hc/material-type/paper
- https://nde.nl/ontology/hc/material-type/parchment
description: Subtypes of organic materials
annotations:
custodian_types: '["*"]'
custodian_types_rationale: "Material types apply to all custodian types with collections"
specificity_score: "0.55"
specificity_rationale: "Moderately specific - material types relevant for preservation across heritage domains."
template_specificity: '{"collection_discovery": 0.70, "organizational_change": 0.25, "general_heritage": 0.45}'
migration_source: "target_material slot"
migration_date: "2026-01-16"
migration_rule: "Rule 53/56 - semantic consistency over simplicity"
comments:
- "Abstract base class - use specific subclasses (OrganicMaterial, SyntheticMaterial, etc.)"
- "Represents MATERIAL TYPE CATEGORIES, not individual materials"
- "Material.has_or_had_type references these type classes"
- "Enables hierarchical material classification with preservation semantics"
- "Aligned with Getty AAT Materials Hierarchy (aat:300010358)"
see_also:
- http://vocab.getty.edu/aat/300010358
- http://www.cidoc-crm.org/cidoc-crm/E57_Material
- http://www.cidoc-crm.org/cidoc-crm/E55_Type
examples:
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/material-type/organic
has_or_had_label:
- Organic Material@en
- Organisch materiaal@nl
has_or_had_description: "Plant and animal-derived materials including paper, parchment, leather, textiles, and wood."
has_or_had_hyponym:
- https://nde.nl/ontology/hc/material-type/paper
- https://nde.nl/ontology/hc/material-type/parchment
- https://nde.nl/ontology/hc/material-type/leather
- https://nde.nl/ontology/hc/material-type/textile
- https://nde.nl/ontology/hc/material-type/wood
description: Organic material type category
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/material-type/synthetic
has_or_had_label:
- Synthetic Material@en
- Synthetisch materiaal@nl
has_or_had_description: "Man-made polymers and compounds including plastics, film bases, and synthetic textiles."
has_or_had_hyponym:
- https://nde.nl/ontology/hc/material-type/cellulose-nitrate
- https://nde.nl/ontology/hc/material-type/cellulose-acetate
- https://nde.nl/ontology/hc/material-type/polyester
description: Synthetic material type category

View file

@ -0,0 +1,321 @@
# MaterialTypes - Concrete material type subclasses
#
# Following the Type/Types naming convention (Rule 0b):
# - MaterialType.yaml: Abstract base class defining the type taxonomy
# - MaterialTypes.yaml: File containing all concrete subclasses (THIS FILE)
#
# Generation date: 2026-01-16
# Rule compliance: 0b (Type/Types naming), 37 (specificity scores)
#
# Created for: target_material migration per slot_fixes.yaml (Rule 53/56)
id: https://nde.nl/ontology/hc/class/MaterialTypes
name: material_types_classes
title: Material Types Classes
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
crm: http://www.cidoc-crm.org/cidoc-crm/
aat: http://vocab.getty.edu/aat/
skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc
imports:
- linkml:types
- ./MaterialType
classes:
# =============================================================================
# PRIMARY MATERIAL TYPE CATEGORIES
# =============================================================================
OrganicMaterial:
is_a: MaterialType
class_uri: hc:OrganicMaterial
description: |
Plant and animal-derived materials requiring stable climate control.
**INCLUDES**: Paper, parchment, vellum, leather, wood, textiles (cotton,
linen, silk, wool), adhesives (animal glue, starch), natural fibers.
**PRESERVATION**: Typically requires 18-20°C, 45-55% RH. Susceptible to
mold, insect damage, and dimensional changes from humidity fluctuation.
**AAT Alignment**: aat:300011914 (organic material)
exact_mappings:
- aat:300011914
annotations:
typical_temperature: "18-20°C"
typical_humidity: "45-55% RH"
preservation_risks: "mold, insects, dimensional change, foxing, brittleness"
SyntheticMaterial:
is_a: MaterialType
class_uri: hc:SyntheticMaterial
description: |
Man-made polymers and compounds, often with inherent chemical instability.
**INCLUDES**: Cellulose nitrate (nitrate film), cellulose acetate (safety film),
polyester, PVC, synthetic textiles (nylon, polyester fabric), plastics.
**PRESERVATION**: Requirements vary widely. Nitrate/acetate films require
cold storage (-5°C to 4°C). Some plastics off-gas harmful compounds.
**AAT Alignment**: aat:300014523 (synthetic material)
exact_mappings:
- aat:300014523
annotations:
typical_temperature: "varies by material (-18°C to 20°C)"
typical_humidity: "30-50% RH"
preservation_risks: "vinegar syndrome, shrinkage, off-gassing, brittleness"
MetalMaterial:
is_a: MaterialType
class_uri: hc:MetalMaterial
description: |
Metallic substances requiring low humidity to prevent corrosion.
**INCLUDES**: Bronze, iron, steel, silver, gold, copper, aluminum, alloys,
tin, lead, pewter.
**PRESERVATION**: Requires low humidity (30-45% RH) to prevent corrosion.
Some metals (iron, bronze) susceptible to bronze disease or rust.
**AAT Alignment**: aat:300010900 (metal)
exact_mappings:
- aat:300010900
annotations:
typical_temperature: "18-22°C"
typical_humidity: "30-45% RH (lower for iron)"
preservation_risks: "corrosion, tarnishing, bronze disease, galvanic corrosion"
CeramicMaterial:
is_a: MaterialType
class_uri: hc:CeramicMaterial
description: |
Fired clay materials including pottery, porcelain, and terracotta.
**INCLUDES**: Earthenware, stoneware, porcelain, terracotta, faience,
majolica, tiles, brick.
**PRESERVATION**: Generally stable but vulnerable to mechanical shock.
Some glazes may contain soluble salts that effloresce.
**AAT Alignment**: aat:300010669 (ceramic)
exact_mappings:
- aat:300010669
annotations:
typical_temperature: "18-22°C"
typical_humidity: "45-55% RH"
preservation_risks: "mechanical shock, salt efflorescence, crazing"
GlassMaterial:
is_a: MaterialType
class_uri: hc:GlassMaterial
description: |
Silica-based materials including glass and enamel.
**INCLUDES**: Soda-lime glass, lead glass, borosilicate, enamel,
stained glass, mirrors, beads.
**PRESERVATION**: Stable but vulnerable to mechanical shock.
Some historic glass ("weeping glass") is chemically unstable.
**AAT Alignment**: aat:300010797 (glass)
exact_mappings:
- aat:300010797
annotations:
typical_temperature: "18-22°C"
typical_humidity: "40-55% RH"
preservation_risks: "mechanical shock, crizzling, weeping glass"
CompositeMaterial:
is_a: MaterialType
class_uri: hc:CompositeMaterial
description: |
Multi-material objects requiring balanced preservation approach.
**INCLUDES**: Photographs (paper + gelatin + silver), paintings (canvas +
paint + varnish), illuminated manuscripts, mixed-media artworks.
**PRESERVATION**: Must balance requirements of component materials.
Often the most vulnerable component dictates storage conditions.
**AAT Alignment**: aat:300183933 (composite material)
exact_mappings:
- aat:300183933
annotations:
typical_temperature: "varies by components"
typical_humidity: "varies by components"
preservation_risks: "differential expansion, delamination, component degradation"
# =============================================================================
# SPECIFIC MATERIAL SUBTYPES (frequently referenced in heritage contexts)
# =============================================================================
PaperMaterial:
is_a: OrganicMaterial
class_uri: hc:PaperMaterial
description: |
Cellulose-based sheet material for documents, books, and prints.
**INCLUDES**: Rag paper, wood pulp paper, newsprint, cardboard,
pasteboard, Japanese paper (washi), rice paper.
**AAT Alignment**: aat:300014109 (paper)
exact_mappings:
- aat:300014109
annotations:
wikidata_equivalent: "Q11472"
ParchmentMaterial:
is_a: OrganicMaterial
class_uri: hc:ParchmentMaterial
description: |
Animal skin prepared for writing, used for manuscripts and legal documents.
**INCLUDES**: Parchment, vellum (calfskin), goatskin.
**AAT Alignment**: aat:300011851 (parchment)
exact_mappings:
- aat:300011851
annotations:
wikidata_equivalent: "Q226697"
TextileMaterial:
is_a: OrganicMaterial
class_uri: hc:TextileMaterial
description: |
Woven or non-woven fabric materials.
**INCLUDES**: Cotton, linen, silk, wool, velvet, tapestry, lace,
embroidery, felt.
**AAT Alignment**: aat:300014069 (textile)
exact_mappings:
- aat:300014069
annotations:
wikidata_equivalent: "Q28823"
LeatherMaterial:
is_a: OrganicMaterial
class_uri: hc:LeatherMaterial
description: |
Processed animal hide used for bindings, clothing, and objects.
**INCLUDES**: Leather, suede, rawhide, vellum bindings.
**AAT Alignment**: aat:300011845 (leather)
exact_mappings:
- aat:300011845
annotations:
wikidata_equivalent: "Q286"
WoodMaterial:
is_a: OrganicMaterial
class_uri: hc:WoodMaterial
description: |
Lignified plant tissue used for furniture, frames, and objects.
**INCLUDES**: Hardwood, softwood, plywood, veneer, bamboo.
**AAT Alignment**: aat:300011914 (wood)
exact_mappings:
- aat:300011914
annotations:
wikidata_equivalent: "Q287"
NitrateFilmMaterial:
is_a: SyntheticMaterial
class_uri: hc:NitrateFilmMaterial
description: |
Cellulose nitrate film base, highly flammable and chemically unstable.
**CRITICAL**: Requires cold storage (-5°C to 4°C) and isolated storage
due to fire risk and toxic off-gassing. Self-ignition possible.
**AAT Alignment**: aat:300127173 (nitrate film)
exact_mappings:
- aat:300127173
annotations:
typical_temperature: "-5°C to 4°C (cold storage mandatory)"
typical_humidity: "30-35% RH"
preservation_risks: "fire hazard, toxic off-gassing, self-ignition, deterioration"
wikidata_equivalent: "Q1201597"
AcetateFilmMaterial:
is_a: SyntheticMaterial
class_uri: hc:AcetateFilmMaterial
description: |
Cellulose acetate film base, susceptible to vinegar syndrome.
**PRESERVATION**: Requires cold storage to slow vinegar syndrome
(release of acetic acid causing shrinkage and distortion).
**AAT Alignment**: aat:300127322 (acetate film)
exact_mappings:
- aat:300127322
annotations:
typical_temperature: "2°C to 10°C (cold storage recommended)"
typical_humidity: "30-40% RH"
preservation_risks: "vinegar syndrome, shrinkage, warping, channel marks"
wikidata_equivalent: "Q421063"
PolyesterFilmMaterial:
is_a: SyntheticMaterial
class_uri: hc:PolyesterFilmMaterial
description: |
Polyethylene terephthalate (PET) film base, most stable film type.
**PRESERVATION**: Most chemically stable film base. Still benefits
from cool, dry storage for color materials.
**AAT Alignment**: aat:300014574 (polyester)
exact_mappings:
- aat:300014574
annotations:
typical_temperature: "15-20°C (ambient acceptable)"
typical_humidity: "30-50% RH"
preservation_risks: "color fading (for color films)"
PhotographicMaterial:
is_a: CompositeMaterial
class_uri: hc:PhotographicMaterial
description: |
Composite materials used in photographic processes.
**INCLUDES**: Silver gelatin prints, albumen prints, cyanotypes,
chromogenic prints, daguerreotypes, tintypes.
**PRESERVATION**: Varies by process. Generally requires cool, dry,
dark storage. Color photographs particularly vulnerable to fading.
**AAT Alignment**: aat:300127121 (photographic material)
exact_mappings:
- aat:300127121
annotations:
typical_temperature: "15-18°C (color), 18-20°C (B&W)"
typical_humidity: "30-40% RH"
preservation_risks: "fading, silver mirroring, ferrotyping, yellowing"
PaintingMaterial:
is_a: CompositeMaterial
class_uri: hc:PaintingMaterial
description: |
Composite materials used in paintings (support + ground + paint + varnish).
**INCLUDES**: Oil on canvas, tempera on panel, acrylic, watercolor,
fresco, encaustic.
**PRESERVATION**: Requires stable climate to prevent cracking from
differential expansion of paint and support layers.
**AAT Alignment**: Related to aat:300033618 (paintings)
close_mappings:
- aat:300033618
annotations:
typical_temperature: "18-22°C"
typical_humidity: "45-55% RH (stability critical)"
preservation_risks: "cracking, flaking, delamination, bloom, yellowing"

View file

@ -22,10 +22,11 @@ prefixes:
imports:
- linkml:types
- ../enums/MeasureUnitEnum
# RiC-O style generic slots - migrated 2026-01-16 per Rule 53
- ../slots/has_or_had_label
- ../slots/unit_code
- ../slots/unit_symbol
- ../slots/unit_type
- ../slots/has_or_had_code # was: unit_code
- ../slots/has_or_had_symbol # was: unit_symbol
- ../slots/has_or_had_type # was: unit_type
default_prefix: hc
@ -48,17 +49,17 @@ classes:
close_mappings:
- schema:unitCode
slots:
- unit_type
- unit_symbol
- unit_code
- has_or_had_type # was: unit_type - migrated 2026-01-16 per Rule 53
- has_or_had_symbol # was: unit_symbol - migrated 2026-01-16 per Rule 53
- has_or_had_code # was: unit_code - migrated 2026-01-16 per Rule 53
- has_or_had_label
slot_usage:
unit_type:
has_or_had_type: # was: unit_type - migrated 2026-01-16 per Rule 53
description: >-
The type of unit from MeasureUnitEnum (e.g., HECTARE, SQUARE_METER).
range: MeasureUnitEnum
required: true
unit_symbol:
has_or_had_symbol: # was: unit_symbol - migrated 2026-01-16 per Rule 53
description: >-
The symbol for the unit (e.g., "ha", "m²", "km").
range: string
@ -70,7 +71,7 @@ classes:
description: Square meter symbol
- value: "m"
description: Meter symbol
unit_code:
has_or_had_code: # was: unit_code - migrated 2026-01-16 per Rule 53
description: >-
Standard code for the unit (UCUM or QUDT code).
range: string
@ -91,21 +92,21 @@ classes:
description: Square meter label
examples:
- value:
unit_type: HECTARE
unit_symbol: "ha"
unit_code: "har"
has_or_had_type: HECTARE
has_or_had_symbol: "ha"
has_or_had_code: "har"
has_or_had_label: "hectare"
description: Hectare unit for outdoor site area
- value:
unit_type: SQUARE_METER
unit_symbol: "m²"
unit_code: "m2"
has_or_had_type: SQUARE_METER
has_or_had_symbol: "m²"
has_or_had_code: "m2"
has_or_had_label: "square meter"
description: Square meter unit for building floor area
- value:
unit_type: LINEAR_METER
unit_symbol: "m"
unit_code: "m"
has_or_had_type: LINEAR_METER
has_or_had_symbol: "m"
has_or_had_code: "m"
has_or_had_label: "linear meter"
description: Linear meter for archival shelf extent
annotations:

View file

@ -1,6 +1,24 @@
id: https://w3id.org/nde/ontology/Nachlass
name: Nachlass
title: Nachlass (Personal Papers)
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_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ../slots/has_or_had_custodian_type
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
Nachlass:
description: Collection of manuscripts, notes, correspondence, and so on left behind when a scholar or an artist dies.
@ -13,10 +31,11 @@ classes:
- has_or_had_custodian_type
- specificity_annotation
- template_specificity
- wikidata_entity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
equals_string: Q3827332
description: Wikidata identifier for Nachlass (personal papers) concept
has_or_had_custodian_type:
equals_expression: '["hc:ArchiveOrganizationType"]'
annotations:
@ -35,4 +54,3 @@ classes:
- German archival term widely used internationally
- Refers to papers left after death of notable person
- Core concept for personal and literary archives
imports: null

View file

@ -1,6 +1,23 @@
id: https://w3id.org/nde/ontology/NationalTreasure
name: NationalTreasure
title: National Treasure
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_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
NationalTreasure:
description: Treasure or artifact that is regarded as emblematic of a nation's cultural heritage, identity, or significance.
@ -11,10 +28,11 @@ classes:
slots:
- specificity_annotation
- template_specificity
- wikidata_entity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
equals_string: Q60606520
description: Wikidata identifier for National Treasure concept
custodian_only:
equals_string: 'true'
annotations:
@ -30,4 +48,3 @@ classes:
- Designation for items of exceptional national importance
- Legal protection varies by country
- Represents custodial responsibility, not the items themselves
imports: null

View file

@ -1,6 +1,23 @@
id: https://w3id.org/nde/ontology/NationalTreasureOfFrance
name: NationalTreasureOfFrance
title: National Treasure of France
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_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
NationalTreasureOfFrance:
description: Designation for entities of cultural significance in France (trésor national). French national treasures
@ -12,10 +29,11 @@ classes:
slots:
- specificity_annotation
- template_specificity
- wikidata_entity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
equals_string: Q2986426
description: Wikidata identifier for National Treasure of France concept
geographic_restriction:
equals_string: France only
annotations:
@ -31,4 +49,3 @@ classes:
- France-specific cultural heritage designation
- Export prohibition and state purchase rights
- Governed by Code du patrimoine
imports: null

View file

@ -1,6 +1,23 @@
id: https://w3id.org/nde/ontology/Organization
name: Organization
title: Organization
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_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
Organization:
description: Social entity established to meet needs or pursue goals. In the heritage context, this is a broad category
@ -11,10 +28,11 @@ classes:
slots:
- specificity_annotation
- template_specificity
- wikidata_entity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
equals_string: Q43229
description: Wikidata identifier for Organization concept
organizational_level:
equals_string: broad category
annotations:
@ -31,4 +49,3 @@ classes:
- Broad category - prefer more specific types
- Maps to org:Organization in W3C Organization Ontology
- Base concept for formal entities with archival functions
imports: null

View file

@ -1,6 +1,23 @@
id: https://w3id.org/nde/ontology/OrganizationalSubdivision
name: OrganizationalSubdivision
title: Organizational Subdivision
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_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
OrganizationalSubdivision:
description: Organization that is a part of a larger organization. Organizational subdivisions include departments, divisions,
@ -13,10 +30,11 @@ classes:
slots:
- specificity_annotation
- template_specificity
- wikidata_entity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
equals_string: Q9261468
description: Wikidata identifier for Organizational Subdivision concept
organizational_level:
equals_string: subdivision
annotations:
@ -34,4 +52,3 @@ classes:
- Part of larger organization
- Important for understanding archival provenance
- Links to OrganizationalStructure for hierarchy modeling
imports: null

View file

@ -164,15 +164,15 @@ classes:
- value:
area_value: 25.0
has_or_had_unit:
unit_type: HECTARE
unit_symbol: "ha"
has_or_had_type: HECTARE
has_or_had_symbol: "ha"
has_or_had_label: "Sculpture garden area"
description: 25 hectares sculpture garden
- value:
area_value: 650.0
has_or_had_unit:
unit_type: HECTARE
unit_symbol: "ha"
has_or_had_type: HECTARE
has_or_had_symbol: "ha"
is_estimate: true
has_or_had_label: "Estate grounds"
description: 650 hectares historic estate (estimated)
@ -265,8 +265,8 @@ classes:
has_or_had_area:
- area_value: 25.0
has_or_had_unit:
unit_type: HECTARE
unit_symbol: "ha"
has_or_had_type: HECTARE
has_or_had_symbol: "ha"
has_or_had_label: "Total site area"
has_or_had_artwork_count: 160
is_open_to_public: true
@ -285,8 +285,8 @@ classes:
has_or_had_area:
- area_value: 650.0
has_or_had_unit:
unit_type: HECTARE
unit_symbol: "ha"
has_or_had_type: HECTARE
has_or_had_symbol: "ha"
is_estimate: true
has_or_had_label: "Estate grounds"
is_open_to_public: true
@ -303,8 +303,8 @@ classes:
has_or_had_area:
- area_value: 3.5
has_or_had_unit:
unit_type: HECTARE
unit_symbol: "ha"
has_or_had_type: HECTARE
has_or_had_symbol: "ha"
has_or_had_label: "Archaeological park area"
is_open_to_public: true
has_or_had_admission_fee: Free

View file

@ -1,6 +1,23 @@
id: https://w3id.org/nde/ontology/ParentOrganizationUnit
name: ParentOrganizationUnit
title: Parent Organization Unit
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_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
ParentOrganizationUnit:
description: Organization that has a subsidiary unit. For companies, this refers to entities that own enough voting stock
@ -13,10 +30,11 @@ classes:
slots:
- specificity_annotation
- template_specificity
- wikidata_entity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
equals_string: Q1956113
description: Wikidata identifier for Parent Organization Unit concept
organizational_level:
equals_string: parent
annotations:
@ -33,4 +51,3 @@ classes:
- Has subordinate organizational units
- Controls subsidiary archives or heritage institutions
- Links to OrganizationalStructure for hierarchy modeling
imports: null

View file

@ -1,6 +1,23 @@
id: https://w3id.org/nde/ontology/PersonOrOrganization
name: PersonOrOrganization
title: Person or Organization
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_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
PersonOrOrganization:
description: Class of agents that can be either a person or an organization. This abstract category represents entities
@ -11,10 +28,11 @@ classes:
slots:
- specificity_annotation
- template_specificity
- wikidata_entity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
equals_string: Q106559804
description: Wikidata identifier for Person or Organization concept
organizational_level:
equals_string: abstract category
annotations:
@ -31,4 +49,3 @@ classes:
- Abstract category for agents
- Maps to foaf:Agent or schema:Thing
- Use when agent type is uncertain or variable
imports: null

View file

@ -1,6 +1,24 @@
id: https://w3id.org/nde/ontology/PersonalLibrary
name: PersonalLibrary
title: Personal Library
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_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ../slots/has_or_had_custodian_type
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
PersonalLibrary:
description: The private library collection of an individual. Personal libraries (Autorenbibliotheken) document the reading
@ -17,10 +35,11 @@ classes:
- has_or_had_custodian_type
- specificity_annotation
- template_specificity
- wikidata_entity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
equals_string: Q106402388
description: Wikidata identifier for Personal Library concept
has_or_had_custodian_type:
equals_expression: '["hc:LibraryType", "hc:PersonalCollectionType"]'
see_also:
@ -35,4 +54,3 @@ classes:
- Private book collection of an individual
- May include annotated books and marginalia
- Often preserved with personal papers
imports: null

View file

@ -1,6 +1,24 @@
id: https://w3id.org/nde/ontology/PrintRoom
name: PrintRoom
title: Print Room
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_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ../slots/has_or_had_custodian_type
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
PrintRoom:
description: Collection of prints, and sometimes drawings, watercolours and photographs. Print rooms (Kupferstichkabinette,
@ -13,10 +31,11 @@ classes:
- has_or_had_custodian_type
- specificity_annotation
- template_specificity
- wikidata_entity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
equals_string: Q445396
description: Wikidata identifier for Print Room concept
has_or_had_custodian_type:
equals_expression: '["hc:ArchiveOrganizationType"]'
annotations:
@ -35,4 +54,3 @@ classes:
- Specialized collection of prints and drawings
- Often part of larger museum or library
- Requires special viewing conditions
imports: null

View file

@ -14,30 +14,9 @@ prefixes:
imports:
- linkml:types
- ../enums/ProjectStatusEnum
- ../slots/funding_source
- ../slots/contact_email
- ../slots/keyword
- ../slots/documentation_url
- ../slots/start_date
- ../slots/end_date
- ../slots/deliverable
- ../slots/funding_amount
- ../slots/funding_call
- ../slots/objective
- ../slots/organizing_body
- ../slots/participating_custodian
- ../slots/project_description
- ../slots/project_id
- ../slots/project_identifier
- ../slots/project_name
- ../slots/project_short_name
- ../slots/project_status
- ../slots/project_url
- ../slots/related_project
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
# Slot imports - migrated to RiC-O style (2026-01-16 per Rule 53)
- ../slots/contact_email
- ../slots/deliverable
- ../slots/documentation_url
@ -49,39 +28,16 @@ imports:
- ../slots/objective
- ../slots/organizing_body
- ../slots/participating_custodian
- ../slots/project_description
- ../slots/project_id
- ../slots/project_identifier
- ../slots/project_name
- ../slots/project_short_name
- ../slots/project_status
- ../slots/project_url
- ../slots/related_project
- ../slots/specificity_annotation
- ../slots/start_date
- ../slots/template_specificity
- ../slots/contact_email
- ../slots/deliverable
- ../slots/documentation_url
- ../slots/end_date
- ../slots/funding_amount
- ../slots/funding_call
- ../slots/funding_source
- ../slots/keyword
- ../slots/objective
- ../slots/organizing_body
- ../slots/participating_custodian
- ../slots/project_description
- ../slots/project_id
- ../slots/project_identifier
- ../slots/project_name
- ../slots/project_short_name
- ../slots/project_status
- ../slots/project_url
- ../slots/related_project
- ../slots/specificity_annotation
- ../slots/start_date
- ../slots/template_specificity
# RiC-O style slots (replaced project_* slots 2026-01-16)
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/has_or_had_status
- ../slots/has_or_had_url
default_prefix: hc
classes:
Project:
@ -142,52 +98,64 @@ classes:
- objective
- organizing_body
- participating_custodian
- project_description
- project_id
- project_identifier
- project_name
- project_short_name
- project_status
- project_url
- related_project
- specificity_annotation
- start_date
- template_specificity
# RiC-O style slots (migrated 2026-01-16 per Rule 53)
- has_or_had_identifier # was: project_id, project_identifier
- has_or_had_label # was: project_name, project_short_name
- has_or_had_description # was: project_description
- has_or_had_status # was: project_status
- has_or_had_url # was: project_url
slot_usage:
project_id:
# === MIGRATED SLOTS (2026-01-16 per Rule 53) ===
has_or_had_identifier:
# was: project_id (primary) + project_identifier (external IDs)
# Migration note: Consolidated two slots into one multivalued slot.
# First value should be the primary project URI (was project_id).
# Additional values are external identifiers like Wikidata, DOI (was project_identifier).
identifier: true
required: true
range: uriorcurie
pattern: ^https://nde\.nl/ontology/hc/project/[a-z0-9-]+/[a-z0-9-]+$
multivalued: true
inlined_as_list: true
pattern: ^https://nde\.nl/ontology/hc/project/[a-z0-9-]+/[a-z0-9-]+$|^https?://.*$
examples:
- value: https://nde.nl/ontology/hc/project/nde/versnellen-2024
description: NDE Versnellen 2024 project
- value: https://nde.nl/ontology/hc/project/europeana/aggregation-2023
description: Europeana aggregation project
project_name:
description: Primary project URI (was project_id)
- value: http://www.wikidata.org/entity/Q123456789
description: Wikidata entity for project (was project_identifier)
- value: https://doi.org/10.5281/zenodo.12345678
description: DOI for project deliverables (was project_identifier)
has_or_had_label:
# was: project_name (required, primary) + project_short_name (optional, abbreviation)
# Migration note: First value should be the full project name.
# Additional values can be short names, acronyms, or alternative titles.
required: true
range: string
multivalued: true
inlined_as_list: true
examples:
- value: Versnellen 2024
description: NDE acceleration program 2024
description: Full project name (was project_name)
- value: V2024
description: Short name/acronym (was project_short_name)
- value: Digital Collections Integration Project
description: Descriptive project name
project_short_name:
range: string
examples:
- value: V2024
description: Versnellen 2024 has_or_had_abbreviation
- value: DCIP
description: Digital Collections Integration Project acronym
project_description:
description: Acronym for alternative name
has_or_had_description:
# was: project_description - migrated 2026-01-16 per Rule 53
required: true
range: string
examples:
- value: Versnellen 2024 is NDE's annual acceleration program supporting heritage institutions in adopting digital
infrastructure. The program provides funding, technical support, and training to help museums, archives, and
libraries implement sustainable digital preservation and access solutions. Participants receive customized guidance
- value: Versnellen 2024 is NDE's annual acceleration program supporting heritage institutions in adopting digital
infrastructure. The program provides funding, technical support, and training to help museums, archives, and
libraries implement sustainable digital preservation and access solutions. Participants receive customized guidance
based on their digital maturity assessment.
project_status:
has_or_had_status:
# was: project_status - migrated 2026-01-16 per Rule 53
required: true
range: ProjectStatusEnum
examples:
@ -195,7 +163,8 @@ classes:
description: Project actively underway
- value: COMPLETED
description: Project finished successfully
project_url:
has_or_had_url:
# was: project_url - migrated 2026-01-16 per Rule 53
range: uri
examples:
- value: https://netwerkdigitaalerfgoed.nl/versnellen-2024/
@ -290,15 +259,7 @@ classes:
- value: linked open data
- value: IIIF
- value: sustainable infrastructure
project_identifier:
range: uriorcurie
multivalued: true
inlined_as_list: true
examples:
- value: http://www.wikidata.org/entity/Q123456789
description: Wikidata entity for project
- value: https://doi.org/10.5281/zenodo.12345678
description: DOI for project deliverables
# project_identifier slot_usage removed - migrated to has_or_had_identifier (2026-01-16)
funding_call:
range: uriorcurie
examples:
@ -319,16 +280,19 @@ classes:
- https://netwerkdigitaalerfgoed.nl/versnellen-2024/
examples:
- value:
project_id: https://nde.nl/ontology/hc/project/nde/versnellen-2024
project_name: Versnellen 2024
project_short_name: V2024
project_description: "Versnellen 2024 is NDE's annual acceleration program supporting \nheritage institutions in adopting\
# Migrated to RiC-O slots 2026-01-16
has_or_had_identifier:
- https://nde.nl/ontology/hc/project/nde/versnellen-2024 # primary project URI
has_or_had_label:
- Versnellen 2024 # full project name
- V2024 # short name/acronym
has_or_had_description: "Versnellen 2024 is NDE's annual acceleration program supporting \nheritage institutions in adopting\
\ sustainable digital infrastructure. \nThe program provides funding, technical expertise, and training to \nhelp\
\ museums, archives, and libraries implement digital preservation \nand access solutions aligned with NDE's infrastructure\
\ requirements.\n\nIn 2024, the program focuses on:\n- Linked Data publication and consumption\n- IIIF implementation\
\ for image interoperability\n- Sustainable API development\n- Metadata quality improvement\n"
project_status: IN_PROGRESS
project_url: https://netwerkdigitaalerfgoed.nl/versnellen-2024/
has_or_had_status: IN_PROGRESS
has_or_had_url: https://netwerkdigitaalerfgoed.nl/versnellen-2024/
start_date: '2024-01-15'
end_date: '2024-12-31'
funding_source:
@ -363,14 +327,17 @@ classes:
- digital preservation
description: NDE Versnellen 2024 - Dutch digital heritage acceleration program
- value:
project_id: https://nde.nl/ontology/hc/project/europeana/common-culture-2024
project_name: Europeana Common Culture
project_short_name: ECC
project_description: "Europeana Common Culture aggregates and standardizes heritage \nmetadata from national aggregators\
# Migrated to RiC-O slots 2026-01-16
has_or_had_identifier:
- https://nde.nl/ontology/hc/project/europeana/common-culture-2024 # primary project URI
has_or_had_label:
- Europeana Common Culture # full project name
- ECC # short name/acronym
has_or_had_description: "Europeana Common Culture aggregates and standardizes heritage \nmetadata from national aggregators\
\ across Europe, making cultural \nheritage collections discoverable through the Europeana platform.\nThe project\
\ works with national aggregators to improve metadata \nquality and implement the Europeana Data Model (EDM).\n"
project_status: IN_PROGRESS
project_url: https://pro.europeana.eu/project/europeana-common-culture
has_or_had_status: IN_PROGRESS
has_or_had_url: https://pro.europeana.eu/project/europeana-common-culture
start_date: '2023-06-01'
end_date: '2025-05-31'
funding_source:

View file

@ -9,7 +9,9 @@ prefixes:
dcterms: http://purl.org/dc/terms/
imports:
- linkml:types
# Enums
- ../enums/QuantityTypeEnum
# RiC-O style generic slots
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_description
@ -18,35 +20,18 @@ imports:
- ../slots/temporal_extent
- ../slots/specificity_annotation
- ../slots/template_specificity
# Quantity-specific slots (some deprecated, retained for backward compatibility)
- ../slots/is_estimate
- ../slots/quantity_date
- ../slots/quantity_type
- ../slots/quantity_unit # DEPRECATED - use has_or_had_measurement_unit
- ../slots/quantity_value
# Class imports
- ./MeasureUnit
- ./Methodology
- ./TimeSpan
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../slots/has_or_had_description
- ../slots/has_or_had_identifier
- ../slots/has_or_had_measurement_unit
- ../slots/has_or_had_methodology
- ../slots/is_estimate
- ../slots/quantity_date
- ../slots/quantity_type
- ../slots/quantity_unit
- ../slots/quantity_value
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/temporal_extent
- ../slots/has_or_had_description
- ../slots/has_or_had_identifier
- ../slots/has_or_had_measurement_unit
- ../slots/has_or_had_methodology
- ../slots/is_estimate
- ../slots/quantity_date
- ../slots/quantity_type
- ../slots/quantity_unit
- ../slots/quantity_value
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/temporal_extent
default_prefix: hc
classes:
Quantity:
@ -96,8 +81,8 @@ classes:
quantity_value: 3
quantity_type: STAFF_COUNT
has_or_had_measurement_unit:
unit_type: VISITOR
unit_symbol: "visitors"
has_or_had_type: VISITOR
has_or_had_symbol: "visitors"
temporal_extent:
begin_of_the_begin: "2024-01-01T00:00:00Z"
end_of_the_end: "2024-12-31T23:59:59Z"
@ -190,12 +175,12 @@ classes:
RULE 53: Branch 1 slot from visitor_count migration.
examples:
- value:
unit_type: VISITOR
unit_symbol: "visitors"
has_or_had_type: VISITOR
has_or_had_symbol: "visitors"
description: Visitor count unit
- value:
unit_type: SQUARE_METER
unit_symbol: "m²"
has_or_had_type: SQUARE_METER
has_or_had_symbol: "m²"
description: Area unit
temporal_extent:
range: TimeSpan
@ -268,8 +253,8 @@ classes:
quantity_value: 3
quantity_type: STAFF_COUNT
has_or_had_measurement_unit:
unit_type: FTE
unit_symbol: "FTE"
has_or_had_type: FTE
has_or_had_symbol: "FTE"
has_or_had_label: "full-time equivalent"
has_or_had_description: Staff assigned to Zaanstreek-Waterland branch
quantity_date: '2025-01-01'
@ -279,8 +264,8 @@ classes:
quantity_value: 650000
quantity_type: VISITOR_COUNT
has_or_had_measurement_unit:
unit_type: VISITOR
unit_symbol: "visitors"
has_or_had_type: VISITOR
has_or_had_symbol: "visitors"
temporal_extent:
begin_of_the_begin: "2023-02-10T00:00:00Z"
end_of_the_end: "2023-06-04T23:59:59Z"
@ -291,8 +276,8 @@ classes:
quantity_value: 15
quantity_type: OBJECT_COUNT
has_or_had_measurement_unit:
unit_type: FACE
unit_symbol: "faces"
has_or_had_type: FACE
has_or_had_symbol: "faces"
has_or_had_methodology:
methodology_type: ENTITY_RESOLUTION
has_or_had_label: "ArcFace clustering"
@ -304,8 +289,8 @@ classes:
quantity_value: 47
quantity_type: OBJECT_COUNT
has_or_had_measurement_unit:
unit_type: OBJECT
unit_symbol: "objects"
has_or_had_type: OBJECT
has_or_had_symbol: "objects"
has_or_had_methodology:
methodology_type: OBJECT_TRACKING
has_or_had_label: "DeepSORT"

View file

@ -172,8 +172,8 @@ classes:
quantity_value: 12
quantity_type: TERMINAL_COUNT
has_or_had_measurement_unit:
unit_type: TERMINAL
unit_symbol: "terminals"
has_or_had_type: TERMINAL
has_or_had_symbol: "terminals"
description: 12 computer terminals available
has_microfilm_reader:
range: boolean

View file

@ -1,6 +1,23 @@
id: https://w3id.org/nde/ontology/RegionalHistoricCenter
name: RegionalHistoricCenter
title: Regional Historic Center
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_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./WikiDataIdentifier
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
RegionalHistoricCenter:
description: Name for archives in the Netherlands (Regionaal Historisch Centrum). Regional Historic Centers are Dutch
@ -11,10 +28,11 @@ classes:
slots:
- specificity_annotation
- template_specificity
- wikidata_entity
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
slot_usage:
wikidata_entity:
has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16)
equals_string: Q1882512
description: Wikidata identifier for Regional Historic Center concept
geographic_restriction:
equals_string: Netherlands
annotations:
@ -32,4 +50,3 @@ classes:
- Netherlands-specific collaborative archive model
- Serves multiple municipalities and organizations
- 'Examples: RHC Limburg, RHC Drents Archief'
imports: null

View file

@ -20,7 +20,8 @@ imports:
- ../slots/published_at
- ../slots/retrieval_timestamp
- ../slots/specificity_annotation
- ../slots/tag
- ../slots/is_or_was_categorized_as # was: tag - migrated per Rule 53/56 (2026-01-16)
- ./Tag
- ../slots/template_specificity
- ../slots/has_or_had_url # was: thumbnail_url - migrated per Rule 53 (2026-01-15)
- ../slots/has_or_had_label # was: title - migrated per Rule 53
@ -86,7 +87,7 @@ classes:
- published_at
- retrieval_timestamp
- specificity_annotation
- tag
- is_or_was_categorized_as # was: tag - migrated per Rule 53/56 (2026-01-16)
- template_specificity
- has_or_had_url # was: thumbnail_url - migrated per Rule 53 (2026-01-15)
- has_or_had_label # was: title
@ -148,16 +149,27 @@ classes:
examples:
- value: nl
description: Dutch language content
tag:
range: string
# was: tag - migrated per Rule 53/56 (2026-01-16)
is_or_was_categorized_as:
range: Tag
multivalued: true
inlined_as_list: true
required: false
description: |
Tags, hashtags, or keywords associated with the content.
MIGRATED from tag slot per slot_fixes.yaml (Rule 53/56, 2026-01-16).
examples:
- value:
- 80 jaar vrijheid
- wo2
- vrijheidsroute
description: YouTube video tags
- tag_value: "80 jaar vrijheid"
is_hashtag: false
tag_platform: YouTube
- tag_value: "wo2"
is_hashtag: false
tag_platform: YouTube
- tag_value: "vrijheidsroute"
is_hashtag: false
tag_platform: YouTube
description: YouTube video tags (migrated to structured Tag format)
has_or_had_url: # was: thumbnail_url - migrated per Rule 53 (2026-01-15)
range: uri
required: false

View file

@ -23,7 +23,8 @@ imports:
- ../slots/published_at
- ../slots/retrieval_timestamp
- ../slots/specificity_annotation
- ../slots/tag
- ../slots/is_or_was_categorized_as # was: tag - migrated per Rule 53/56 (2026-01-16)
- ./Tag
- ../slots/template_specificity
- ../slots/has_or_had_url # was: thumbnail_url - migrated per Rule 53 (2026-01-15)
- ../slots/was_last_updated_at # was: updated_at - migrated per Rule 53
@ -99,7 +100,7 @@ classes:
- published_at
- retrieval_timestamp
- specificity_annotation
- tag
- is_or_was_categorized_as # was: tag - migrated per Rule 53/56 (2026-01-16)
- template_specificity
- has_or_had_url # was: thumbnail_url - migrated per Rule 53 (2026-01-15)
- has_or_had_label # was: title
@ -175,16 +176,27 @@ classes:
examples:
- value: nl
description: Dutch language content
tag:
range: string
# was: tag - migrated per Rule 53/56 (2026-01-16)
is_or_was_categorized_as:
range: Tag
multivalued: true
inlined_as_list: true
required: false
description: |
Tags, hashtags, or keywords associated with the post.
MIGRATED from tag slot per slot_fixes.yaml (Rule 53/56, 2026-01-16).
examples:
- value:
- 80 jaar vrijheid
- wo2
- vrijheidsroute
description: YouTube video tags
- tag_value: "80 jaar vrijheid"
is_hashtag: false
tag_platform: YouTube
- tag_value: "wo2"
is_hashtag: false
tag_platform: YouTube
- tag_value: "vrijheidsroute"
is_hashtag: false
tag_platform: YouTube
description: YouTube video tags (migrated to structured Tag format)
has_or_had_url: # was: thumbnail_url - migrated per Rule 53 (2026-01-15)
range: uri
required: false

View file

@ -20,7 +20,9 @@ imports:
- ../slots/policy_id
- ../slots/policy_name
- ../slots/note
- ../slots/temperature_tolerance
# REMOVED 2026-01-16: temperature_tolerance - migrated to allows_or_allowed with TemperatureDeviation class (Rule 53/56)
- ../slots/allows_or_allowed
- ./TemperatureDeviation
- ../slots/humidity_tolerance
- ../slots/has_air_changes_per_hour
- ../slots/fire_suppression_type
@ -92,6 +94,7 @@ classes:
- humidity_min
- humidity_target
- humidity_tolerance
- allows_or_allowed # was: temperature_tolerance - migrated per Rule 53/56 (2026-01-16)
- light_max_lux
- note
- particulate_max
@ -108,7 +111,7 @@ classes:
- has_or_had_security_level # was: storage_security_level - migrated per Rule 53 (2025-01-15)
# REMOVED 2026-01-15: temperature_max, temperature_min, temperature_target - migrated to has_or_had_setpoint
- has_or_had_setpoint
- temperature_tolerance
# REMOVED 2026-01-16: temperature_tolerance - migrated to allows_or_allowed with TemperatureDeviation
- template_specificity
# REMOVED 2026-01-14: uv_filtered_required - migrated to is_or_was_required with RequirementStatus
# MIGRATED 2026-01-16: is_or_was_required → has_or_had_requirement_status
@ -153,13 +156,25 @@ classes:
setpoint_unit: DEGREE_CELSIUS
iso_standard_reference: "ISO 11799:2015"
description: Archive temperature setpoint
temperature_tolerance:
range: float
unit:
ucum_code: Cel
# REMOVED 2026-01-16: temperature_tolerance - migrated to allows_or_allowed with TemperatureDeviation
allows_or_allowed:
range: TemperatureDeviation
multivalued: true
inlined: true
inlined_as_list: true
description: |
Allowed temperature deviation/tolerance for this policy.
MIGRATED 2026-01-16: Replaces temperature_tolerance (float).
Uses TemperatureDeviation class for structured tolerance data.
examples:
- value: 2.0
description: ±2°C tolerance
- value:
- deviation_value: 2.0
deviation_direction: PLUS_MINUS
has_or_had_measurement_unit:
has_or_had_type: DEGREE_CELSIUS
has_or_had_symbol: "°C"
iso_standard_reference: "ISO 11799:2015"
description: ±2°C tolerance per ISO 11799
humidity_target:
range: float
minimum_value: 0.0

View file

@ -50,7 +50,9 @@ imports:
- ../slots/example_instance
- ../slots/preservation_requirement
- ../slots/specificity_annotation
- ../slots/target_material
- ../slots/stores_or_stored # was: target_material - migrated per Rule 53/56 (2026-01-16)
- ./Material # Added for stores_or_stored range (material design specs)
- ./MaterialType # Added for Material.has_or_had_type
- ../slots/template_specificity
- ../slots/has_or_had_condition # was: typical_condition - migrated per Rule 53 (2026-01-15)
- ./Condition # Added for has_or_had_condition range
@ -167,7 +169,7 @@ classes:
- preservation_requirement
- security_level
- specificity_annotation
- target_material
- stores_or_stored # was: target_material - migrated per Rule 53/56 (2026-01-16)
- template_specificity
- has_or_had_condition # was: typical_condition - migrated per Rule 53 (2026-01-15)
# REMOVED 2026-01-15: wikidata_id - migrated to is_or_was_equivalent_to (Rule 53)
@ -274,20 +276,45 @@ classes:
- condition_description: "18-22°C, 45-55% RH, UV-filtered, vibration-free"
description: Art storage conditions
target_material:
range: string
# was: target_material - migrated per Rule 53/56 (2026-01-16)
stores_or_stored:
range: Material
multivalued: true
inlined: true
inlined_as_list: true
description: |
Material types this storage type is designed for.
MIGRATED 2026-01-16: Replaces target_material slot per Rule 53/56.
Uses Material class with MaterialType classification for structured representation.
examples:
- value:
- paper
- parchment
- vellum
- photograph
- has_or_had_identifier: https://nde.nl/ontology/hc/material/paper
has_or_had_label:
- paper@en
- papier@nl
has_or_had_type: https://nde.nl/ontology/hc/material-type/organic
- has_or_had_identifier: https://nde.nl/ontology/hc/material/parchment
has_or_had_label:
- parchment@en
- perkament@nl
has_or_had_type: https://nde.nl/ontology/hc/material-type/organic
- has_or_had_identifier: https://nde.nl/ontology/hc/material/vellum
has_or_had_label:
- vellum@en
- velijn@nl
has_or_had_type: https://nde.nl/ontology/hc/material-type/organic
description: Archive depot materials
- value:
- nitrate film
- acetate film
- photographic negatives
- has_or_had_identifier: https://nde.nl/ontology/hc/material/nitrate-film
has_or_had_label:
- nitrate film@en
- nitraatfilm@nl
has_or_had_type: https://nde.nl/ontology/hc/material-type/synthetic
- has_or_had_identifier: https://nde.nl/ontology/hc/material/acetate-film
has_or_had_label:
- acetate film@en
- acetaatfilm@nl
has_or_had_type: https://nde.nl/ontology/hc/material-type/synthetic
description: Cold storage materials
security_level:
@ -332,6 +359,8 @@ classes:
- storage_type_broader → has_or_had_hypernym
- storage_type_narrower → has_or_had_hyponym
- storage_type_related → is_or_was_related_to
2026-01-16: Migrated target_material to stores_or_stored + Material (Rule 53/56)
- target_material → stores_or_stored + Material
comments:
- "StorageType provides SKOS-based classification for Storage instances"
@ -341,6 +370,7 @@ classes:
- "Enables preservation-aware storage classification"
- "Environmental conditions align with conservation standards (EN 16893, ISO 11799)"
- "MIGRATED 2026-01-13: Now uses shared slots (Rule 38)"
- "MIGRATED 2026-01-16: target_material → stores_or_stored + Material (Rule 53/56)"
see_also:
- https://www.wikidata.org/wiki/Q1191732
@ -370,10 +400,23 @@ classes:
# MIGRATED 2026-01-15: typical_condition → has_or_had_condition
has_or_had_condition:
- condition_description: "18-20°C, 45-55% RH, <50 lux, UV-filtered"
target_material:
- paper
- parchment
- photograph
# was: target_material - migrated per Rule 53/56 (2026-01-16)
stores_or_stored:
- has_or_had_identifier: https://nde.nl/ontology/hc/material/paper
has_or_had_label:
- paper@en
- papier@nl
has_or_had_type: https://nde.nl/ontology/hc/material-type/organic
- has_or_had_identifier: https://nde.nl/ontology/hc/material/parchment
has_or_had_label:
- parchment@en
- perkament@nl
has_or_had_type: https://nde.nl/ontology/hc/material-type/organic
- has_or_had_identifier: https://nde.nl/ontology/hc/material/photograph
has_or_had_label:
- photograph@en
- foto@nl
has_or_had_type: https://nde.nl/ontology/hc/material-type/composite
security_level: STANDARD
has_or_had_access_frequency: REGULAR
example_instance:
@ -402,11 +445,28 @@ classes:
# MIGRATED 2026-01-15: typical_condition → has_or_had_condition
has_or_had_condition:
- condition_description: "-18°C to 4°C, 30-35% RH, dark"
target_material:
- nitrate film
- acetate film
- color photographs
- biological specimens
# was: target_material - migrated per Rule 53/56 (2026-01-16)
stores_or_stored:
- has_or_had_material_type:
has_or_had_identifier: hc:material-type/film-nitrate
has_or_had_label:
- Nitrate Film@en
material_description: "Historical nitrate film stock, highly flammable"
- has_or_had_material_type:
has_or_had_identifier: hc:material-type/film-acetate
has_or_had_label:
- Acetate Film@en
material_description: "Acetate-based film, susceptible to vinegar syndrome"
- has_or_had_material_type:
has_or_had_identifier: hc:material-type/photograph-color
has_or_had_label:
- Color Photographs@en
material_description: "Color photographic materials requiring cold storage"
- has_or_had_material_type:
has_or_had_identifier: hc:material-type/biological-specimen
has_or_had_label:
- Biological Specimens@en
material_description: "Preserved biological specimens requiring cryogenic storage"
security_level: ENHANCED
has_or_had_access_frequency: RARE
example_instance:

View file

@ -0,0 +1,157 @@
# Tag - Structured tag/keyword/hashtag representation
#
# Created for: tag migration per slot_fixes.yaml (Rule 53/56)
# Creation date: 2026-01-16
#
# MIGRATION: Replaces simple string-based tag slot with structured class
# enabling rich tag metadata (provenance, platform, taxonomy links)
id: https://nde.nl/ontology/hc/class/Tag
name: tag_class
title: Tag Class
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/
dct: http://purl.org/dc/terms/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_description
classes:
Tag:
class_uri: skos:Concept
description: |
A structured representation of a tag, keyword, hashtag, or classification term.
**USAGE**:
Replaces simple string-based `tag` slot per Rule 53/56 to enable:
- Rich metadata (platform-specific tag types, hashtag prefixes)
- Provenance tracking (who assigned the tag, when)
- Taxonomy links (SKOS broader/narrower relationships)
- Multilingual labels
**PLATFORM-SPECIFIC EXAMPLES**:
- YouTube: Video tags (author-defined keywords)
- Twitter/X: Hashtags (#heritage, #museum)
- Instagram: Hashtags from caption
- Mastodon: Hashtags from post content
**HERITAGE CONTEXT**:
Tags from heritage institution social media content, collection items,
or organizational metadata.
slots:
- has_or_had_identifier
- has_or_had_label
- has_or_had_description
- tag_value
- tag_platform
- is_hashtag
slot_usage:
has_or_had_identifier:
description: Unique identifier for this tag (e.g., platform-specific ID, taxonomy URI)
has_or_had_label:
description: Display label for the tag in various languages
multivalued: true
tag_value:
description: The raw tag/keyword/hashtag string value
required: true
tag_platform:
description: Platform where this tag originated (YouTube, Twitter, Instagram, etc.)
is_hashtag:
description: Whether this tag uses hashtag format (#tag)
rules:
- preconditions:
slot_conditions:
is_hashtag:
equals_expression: "true"
postconditions:
slot_conditions:
tag_value:
pattern: "^#"
description: "If is_hashtag is true, tag_value should start with #"
annotations:
specificity_score: 0.45
specificity_rationale: |
Tags are broadly useful across social media content, collections,
and organizational metadata. Moderate specificity.
migration_source: "tag slot"
migration_date: "2026-01-16"
migration_rule: "Rule 53/56"
examples:
- value:
tag_value: "#heritage"
is_hashtag: true
tag_platform: Twitter
has_or_had_label:
- heritage@en
description: Hashtag from Twitter/X post
- value:
tag_value: "museum exhibition"
is_hashtag: false
tag_platform: YouTube
has_or_had_label:
- museum exhibition@en
description: YouTube video tag (not hashtag format)
- value:
tag_value: "#digitaalerfgoed"
is_hashtag: true
tag_platform: Mastodon
has_or_had_label:
- digitaal erfgoed@nl
- digital heritage@en
description: Dutch digital heritage hashtag from Mastodon
comments:
- "Replaces string-based tag per Rule 53/56 (2026-01-16)"
- "Enables platform-specific tag handling (hashtags vs. keywords)"
# Inline slot definitions for Tag-specific slots
slots:
tag_value:
slot_uri: hc:tagValue
description: |
The raw tag/keyword/hashtag string value.
For hashtags, includes the # prefix.
For keywords, the plain text value.
range: string
required: true
examples:
- value: "#heritage"
description: Twitter hashtag
- value: "museum"
description: YouTube keyword tag
tag_platform:
slot_uri: hc:tagPlatform
description: |
The platform where this tag originated.
Used to understand platform-specific tag semantics.
range: string
examples:
- value: "YouTube"
- value: "Twitter"
- value: "Instagram"
- value: "Mastodon"
is_hashtag:
slot_uri: hc:isHashtag
description: |
Whether this tag uses hashtag format (#tag).
True for social media hashtags, false for platform keywords.
range: boolean
ifabsent: "false"

View file

@ -14,7 +14,7 @@ description: 'Specialized CustodianType for institutions preserving culinary her
imports:
- linkml:types
- ./CustodianType
- ../enums/TasteScentHeritageTypeEnum
# ARCHIVED 2026-01-16: ../enums/TasteScentHeritageTypeEnum - replaced by TasteScentSubType/TasteScentSubTypes classes
- ../slots/community_significance
- ../slots/has_or_had_custodian_type
- ../slots/heritage_practice
@ -22,7 +22,9 @@ imports:
- ../slots/preservation_method
- ../slots/sensory_heritage_domain
- ../slots/specificity_annotation
- ../slots/taste_scent_subtype
- ../slots/has_or_had_hyponym # was: taste_scent_subtype - migrated per Rule 53/56 (2026-01-16)
- ./TasteScentSubType # was: TasteScentHeritageTypeEnum - migrated per Rule 53/56 (2026-01-16)
- ./TasteScentSubTypes
- ../slots/template_specificity
# REMOVED 2026-01-14: ../slots/traditional_product - migrated to has_or_had_type with TraditionalProductType
- ../slots/has_or_had_type
@ -210,7 +212,7 @@ classes:
- preservation_method
- sensory_heritage_domain
- specificity_annotation
- taste_scent_subtype
- has_or_had_hyponym # was: taste_scent_subtype - migrated per Rule 53/56 (2026-01-16)
- template_specificity
# REMOVED 2026-01-14: traditional_product - migrated to has_or_had_type with TraditionalProductType
- has_or_had_type
@ -278,5 +280,23 @@ classes:
description: Perfume house significance
- value: Protected PDO, Dutch cheese identity, Regional economy
description: Traditional cheese significance
has_or_had_hyponym: # was: taste_scent_subtype - migrated per Rule 53/56 (2026-01-16)
description: Specific subtype from the taste/scent heritage taxonomy (15 Wikidata-aligned types).
range: TasteScentSubType
multivalued: true
inlined_as_list: true
examples:
- value:
- Brewery
- Cafe
description: Beverage production heritage subtypes
- value:
- Chocolaterie
- FoodManufacturer
description: Food production heritage subtypes
- value:
- Restaurant
- Pizzeria
description: Restaurant heritage subtypes
has_or_had_custodian_type:
equals_expression: '["hc:TasteScentHeritageType"]'

View file

@ -0,0 +1,96 @@
# TasteScentSubType - Abstract base class for taste/scent heritage subtypes
#
# Migration: taste_scent_subtype → has_or_had_hyponym + TasteScentSubType
# Per Rule 53/56: Semantic consistency over simplicity (2026-01-16)
#
# Previously: Used TasteScentHeritageTypeEnum (enum values with Wikidata QIDs)
# Now: Class-based modeling with Type/Types pattern (Rule 0b)
#
# Preserves original slot_uri: skos:narrower
id: https://nde.nl/ontology/hc/class/TasteScentSubType
name: taste_scent_sub_type
title: Taste Scent Sub Type
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/
wd: http://www.wikidata.org/entity/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/has_or_had_wikidata_id
classes:
TasteScentSubType:
class_uri: skos:Concept
abstract: true
description: |
Abstract base class for taste/scent heritage subtypes in the GLAMORCUBESFIXPHDNT taxonomy.
**Purpose**:
Represents specific categories of culinary and olfactory heritage institutions,
from historic breweries to perfume houses to traditional restaurants.
**Type/Types Pattern** (Rule 0b):
- TasteScentSubType.yaml: This abstract base class
- TasteScentSubTypes.yaml: Concrete subclasses (15 types from Wikidata)
**Ontological Alignment**:
- **Primary** (`class_uri`): `skos:Concept` - SKOS thesaurus concept
- **Related**: `schema:FoodEstablishment` - Schema.org food-related organizations
**Migration History**:
- 2026-01-16: Created from taste_scent_subtype slot + TasteScentHeritageTypeEnum
- Original enum had 15 Wikidata-aligned values (BREWERY, CAFÉ, RESTAURANT, etc.)
exact_mappings:
- skos:Concept
close_mappings:
- schema:FoodEstablishment
slots:
- has_or_had_label
- has_or_had_description
- has_or_had_wikidata_id
slot_usage:
has_or_had_label:
description: Human-readable label for this taste/scent subtype.
required: true
examples:
- value: Brewery
description: Beer production heritage
- value: Café
description: Coffee/tea heritage
- value: Chocolaterie
description: Chocolate production heritage
has_or_had_description:
description: Description of this taste/scent heritage category.
examples:
- value: Business that makes and sells beer
description: Brewery description
has_or_had_wikidata_id:
description: Wikidata entity ID for this taste/scent subtype.
examples:
- value: Q131734
description: wikidata:Q131734 (brewery)
- value: Q30022
description: wikidata:Q30022 (café)
annotations:
specificity_score: 0.85
specificity_rationale: |
Very specific to taste/scent heritage custodians (Type T in GLAMORCUBESFIXPHDNT).
Used for classifying culinary and olfactory heritage institutions.
custodian_types: '["T"]'
custodian_types_rationale: |
Exclusively for Taste/Smell heritage custodians categorization.
migration_source: TasteScentHeritageTypeEnum
migration_date: "2026-01-16"

View file

@ -0,0 +1,281 @@
# TasteScentSubTypes - Concrete subclasses of TasteScentSubType
#
# Migration: taste_scent_subtype → has_or_had_hyponym + TasteScentSubType/TasteScentSubTypes
# Per Rule 53/56: Semantic consistency over simplicity (2026-01-16)
# Per Rule 0b: Type/Types file naming convention
#
# Source: TasteScentHeritageTypeEnum (15 Wikidata-aligned values)
# These replace enum permissible_values with first-class LinkML classes
id: https://nde.nl/ontology/hc/class/TasteScentSubTypes
name: taste_scent_sub_types
title: Taste Scent Sub Types
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/
wd: http://www.wikidata.org/entity/
default_prefix: hc
imports:
- linkml:types
- ./TasteScentSubType
classes:
# ============================================================================
# BEVERAGE PRODUCTION HERITAGE
# ============================================================================
Brewery:
is_a: TasteScentSubType
class_uri: wd:Q131734
description: |
Business that makes and sells beer.
Includes historic breweries, craft breweries preserving traditional methods,
and monastic breweries with centuries-old brewing traditions.
exact_mappings:
- wd:Q131734
annotations:
wikidata_id: Q131734
multilingual_labels: |
de: Brauerei
es: cervecería
fr: brasserie
nl: brouwerij
Cafe:
is_a: TasteScentSubType
class_uri: wd:Q30022
description: |
Establishment that serves coffee and tea.
Includes historic coffeehouses, traditional tea rooms,
and café cultures with heritage significance.
exact_mappings:
- wd:Q30022
annotations:
wikidata_id: Q30022
multilingual_labels: |
de: Café
es: cafetería
fr: café
nl: café
VienneseCoffeeHouse:
is_a: TasteScentSubType
class_uri: wd:Q261335
description: |
Type of café specific to Viennese coffee culture.
UNESCO-recognized intangible cultural heritage of Austria.
Traditional coffeehouses with historic ambiance and practices.
exact_mappings:
- wd:Q261335
annotations:
wikidata_id: Q261335
multilingual_labels: |
de: Wiener Kaffeehaus
es: café vienés
fr: culture des Cafés viennois
DrinkingEstablishment:
is_a: TasteScentSubType
class_uri: wd:Q112654507
description: |
Business whose primary function is serving beverages for consumption on premises.
Includes cafés, tea houses, inns, and other beverage-focused establishments.
exact_mappings:
- wd:Q112654507
annotations:
wikidata_id: Q112654507
multilingual_labels: |
de: Getränkeetablissement
EatingOrDrinkingEstablishment:
is_a: TasteScentSubType
class_uri: wd:Q88985865
description: |
Combined eating or drinking establishment.
Broad category encompassing various food and beverage service establishments.
exact_mappings:
- wd:Q88985865
annotations:
wikidata_id: Q88985865
multilingual_labels: |
fr: établissement de restauration ou de boisson
# ============================================================================
# FOOD PRODUCTION HERITAGE
# ============================================================================
Chocolaterie:
is_a: TasteScentSubType
class_uri: wd:Q762548
description: |
Food manufacturer specializing in chocolate.
Includes artisanal chocolate makers, historic chocolate houses,
and manufacturers preserving traditional confectionery methods.
exact_mappings:
- wd:Q762548
annotations:
wikidata_id: Q762548
multilingual_labels: |
de: Chocolaterie
es: productor de chocolate
fr: chocolaterie
nl: chocolaterie
FoodManufacturer:
is_a: TasteScentSubType
class_uri: wd:Q1252971
description: |
Company that produces foods.
Includes traditional food manufacturers, artisanal producers,
and companies preserving heritage food production methods.
exact_mappings:
- wd:Q1252971
annotations:
wikidata_id: Q1252971
multilingual_labels: |
de: Lebensmittelhersteller
es: empresa agroalimentaria
fr: entreprise agroalimentaire
nl: voedselproducent
# ============================================================================
# RESTAURANT HERITAGE
# ============================================================================
Restaurant:
is_a: TasteScentSubType
class_uri: wd:Q11707
description: |
Single establishment which prepares and serves food, located in building.
Includes historic restaurants, heritage eateries, and establishments
preserving traditional culinary practices.
exact_mappings:
- wd:Q11707
annotations:
wikidata_id: Q11707
multilingual_labels: |
de: Restaurant
es: restaurante
fr: restaurant
nl: restaurant
RestaurantChain:
is_a: TasteScentSubType
class_uri: wd:Q18534542
description: |
Set of related restaurants in many different locations under shared
corporate ownership or franchising agreements.
exact_mappings:
- wd:Q18534542
annotations:
wikidata_id: Q18534542
multilingual_labels: |
de: Restaurantkette
es: cadena de restaurantes
fr: chaîne de restaurants
nl: restaurantketen
EthnicRestaurant:
is_a: TasteScentSubType
class_uri: wd:Q110302003
description: |
Restaurant that serves ethnic cuisine.
Preserves and presents culinary traditions from specific cultures or regions.
exact_mappings:
- wd:Q110302003
annotations:
wikidata_id: Q110302003
multilingual_labels: |
fr: restaurant ethnique
ItalianRestaurant:
is_a: TasteScentSubType
class_uri: wd:Q53847673
description: |
Restaurant serving Italian cuisine.
Includes trattorias, osterias, and establishments preserving
regional Italian culinary traditions.
exact_mappings:
- wd:Q53847673
annotations:
wikidata_id: Q53847673
multilingual_labels: |
de: italienisches Restaurant
it: ristorante italiano
# ============================================================================
# FAST FOOD HERITAGE
# ============================================================================
FastFoodRestaurant:
is_a: TasteScentSubType
class_uri: wd:Q1751429
description: |
Type of restaurant focused on quick service.
Historic fast food establishments may preserve early quick-service traditions.
exact_mappings:
- wd:Q1751429
annotations:
wikidata_id: Q1751429
multilingual_labels: |
de: Schnellrestaurant
es: restaurante de comida rápida
fr: restaurant rapide
nl: fastfoodrestaurant
FastFoodRestaurantChain:
is_a: TasteScentSubType
class_uri: wd:Q18509232
description: |
Type of restaurant chain focused on quick service.
Historic chains may document evolution of fast food culture.
exact_mappings:
- wd:Q18509232
annotations:
wikidata_id: Q18509232
multilingual_labels: |
de: Fastfoodkette
es: cadena de restaurantes de comida rápida
fr: chaîne de restauration rapide
nl: fastfoodketen
# ============================================================================
# PIZZA HERITAGE
# ============================================================================
Pizzeria:
is_a: TasteScentSubType
class_uri: wd:Q1501212
description: |
Restaurant that sells pizza.
Includes historic pizzerias, traditional Neapolitan pizza makers,
and establishments preserving authentic pizza-making traditions.
exact_mappings:
- wd:Q1501212
annotations:
wikidata_id: Q1501212
multilingual_labels: |
de: Pizzeria
es: pizzería
fr: pizzeria
it: pizzeria
nl: pizzeria
PizzeriaChain:
is_a: TasteScentSubType
class_uri: wd:Q18654742
description: |
Restaurant chain which specializes in pizzas.
exact_mappings:
- wd:Q18654742
annotations:
wikidata_id: Q18654742
multilingual_labels: |
de: Pizzarestaurantkette
es: cadena de pizzerías
fr: chaîne de pizzerias

View file

@ -0,0 +1,191 @@
id: https://nde.nl/ontology/hc/class/TaxDeductibility
name: TaxDeductibility
title: TaxDeductibility Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
prov: http://www.w3.org/ns/prov#
imports:
- linkml:types
- ../slots/has_or_had_type
- ../slots/has_or_had_label
- ../slots/has_or_had_description
default_prefix: hc
classes:
TaxDeductibility:
class_uri: schema:OfferItemCondition
description: |
Structured representation of tax deductibility status for donations.
**PURPOSE**:
Replaces simple boolean `tax_deductible` flag with structured class
that can capture:
- Deductibility status (full, partial, none, conditional)
- Jurisdiction-specific variations
- Conditions and limitations
- Temporal validity
**MIGRATION**:
Replaces bespoke `tax_deductible` boolean slot per slot_fixes.yaml
revision and Rule 53/56.
**DATA MODEL**:
```
TaxDeductibility
├── status ──→ DeductibilityStatus (FULLY_DEDUCTIBLE, etc.)
├── jurisdiction ──→ "NL"
├── conditions ──→ "Donation must exceed €25"
└── effective_from / effective_until ──→ dates
```
**DEDUCTIBILITY STATUSES**:
| Status | Meaning |
|--------|---------|
| FULLY_DEDUCTIBLE | 100% of donation is tax-deductible |
| PARTIALLY_DEDUCTIBLE | Only portion is deductible |
| NOT_DEDUCTIBLE | No tax benefit for donors |
| CONDITIONALLY_DEDUCTIBLE | Deductible if conditions met |
| JURISDICTION_DEPENDENT | Varies by donor's tax jurisdiction |
**HERITAGE SECTOR EXAMPLES**:
- Museum membership: Often NOT deductible (benefits received)
- Pure donation: FULLY_DEDUCTIBLE in most jurisdictions
- Gala ticket: PARTIALLY_DEDUCTIBLE (fair market value deducted)
- International donation: JURISDICTION_DEPENDENT
exact_mappings:
- schema:OfferItemCondition
close_mappings:
- prov:Entity
slots:
- status
- jurisdiction
- conditions
- deductible_percentage
- minimum_donation
- effective_from
- effective_until
slot_usage:
status:
range: DeductibilityStatusEnum
required: true
description: The deductibility classification.
jurisdiction:
range: string
description: |
ISO 3166-1 alpha-2 country code where this deductibility applies.
examples:
- value: NL
description: Netherlands
- value: UK
description: United Kingdom
conditions:
range: string
description: |
Conditions that must be met for tax deductibility.
examples:
- value: Donation must exceed €25 minimum
description: Dutch minimum threshold
- value: Must complete Gift Aid declaration
description: UK Gift Aid requirement
- value: Benefits received reduce deductible amount
description: Fair market value adjustment
deductible_percentage:
range: integer
description: |
Percentage of donation that is deductible (0-100).
For enhanced cultural deductions (e.g., 125%), use 100 here
and document the enhancement in regulated_by_scheme.
minimum_donation:
range: decimal
description: |
Minimum donation amount for tax deductibility.
effective_from:
range: date
description: When this deductibility status became effective.
effective_until:
range: date
description: When this deductibility status expires (if applicable).
see_also:
- https://www.belastingdienst.nl/wps/wcm/connect/nl/aftrek-en-kortingen/content/gift-aftrekken
- https://www.gov.uk/donating-to-charity/gift-aid
examples:
- value:
status: FULLY_DEDUCTIBLE
jurisdiction: NL
conditions: Donation must exceed €25 minimum
deductible_percentage: 100
description: Dutch ANBI fully deductible donation
- value:
status: CONDITIONALLY_DEDUCTIBLE
jurisdiction: UK
conditions: Donor must complete Gift Aid declaration
deductible_percentage: 100
description: UK Gift Aid conditional deductibility
- value:
status: PARTIALLY_DEDUCTIBLE
jurisdiction: US
conditions: Fair market value of benefits received is subtracted
deductible_percentage: 70
description: US gala ticket with partial deductibility
- value:
status: NOT_DEDUCTIBLE
jurisdiction: NL
conditions: Membership benefits exceed donation value
description: Museum membership not tax-deductible
annotations:
specificity_score: 0.50
specificity_rationale: |
Moderately specific - tax deductibility details relevant for
donation-focused queries.
replaces_slot: tax_deductible
migration_date: "2026-01-16"
# Define local slots for TaxDeductibility
slots:
status:
slot_uri: schema:itemCondition
range: DeductibilityStatusEnum
description: |
The deductibility classification status.
conditions:
slot_uri: schema:eligibleRegion
range: string
description: |
Conditions or requirements for tax deductibility.
minimum_donation:
slot_uri: schema:minPrice
range: decimal
description: |
Minimum donation amount for tax deductibility to apply.
# Define the deductibility status enum
enums:
DeductibilityStatusEnum:
description: Classification of tax deductibility status.
permissible_values:
FULLY_DEDUCTIBLE:
description: 100% of donation is tax-deductible.
PARTIALLY_DEDUCTIBLE:
description: Only a portion of the donation is tax-deductible.
NOT_DEDUCTIBLE:
description: Donation provides no tax benefit to donor.
CONDITIONALLY_DEDUCTIBLE:
description: Tax-deductible only if specific conditions are met.
JURISDICTION_DEPENDENT:
description: Deductibility varies based on donor's tax jurisdiction.
UNKNOWN:
description: Deductibility status has not been determined.

View file

@ -0,0 +1,287 @@
id: https://nde.nl/ontology/hc/class/TaxScheme
name: TaxScheme
title: TaxScheme Class
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#
org: http://www.w3.org/ns/org#
prov: http://www.w3.org/ns/prov#
imports:
- linkml:types
- ../slots/has_or_had_type
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/has_or_had_identifier
- ./TaxSchemeType
- ./TaxSchemeTypes
default_prefix: hc
classes:
TaxScheme:
class_uri: schema:GovernmentService
description: |
A tax or regulatory scheme that governs fiscal treatment of donations
and charitable activities for heritage institutions.
**PURPOSE**:
TaxScheme provides structured representation of the various tax
incentive programs that heritage institutions operate under. This
enables:
- Accurate documentation of donor tax benefits
- Cross-jurisdictional comparison of giving incentives
- Compliance tracking and reporting
- Historical tracking of scheme changes
**MIGRATION**:
Replaces the bespoke `tax_scheme` slot (string range) with a
structured class per slot_fixes.yaml revision and Rule 53/56.
**HERITAGE SECTOR CONTEXT**:
Tax schemes significantly impact heritage institution fundraising:
| Country | Scheme | Donor Benefit |
|---------|--------|---------------|
| NL | ANBI | 100% deductible |
| NL | Cultural ANBI | 125% deductible |
| UK | Gift Aid | 25% charity reclaim |
| UK | Cultural Gifts | 30% tax reduction |
| US | 501(c)(3) | Itemized deduction |
| DE | Gemeinnützigkeit | Up to 20% deductible |
| FR | Mécénat culturel | 66% reduction (individuals) |
**DATA MODEL**:
```
TaxScheme
├── has_or_had_type ──→ TaxSchemeType (ANBI, GiftAid, etc.)
├── has_or_had_label ──→ "Culturele ANBI"
├── jurisdiction ──→ "NL"
├── deduction_percentage ──→ 125
├── regulatory_body ──→ "Belastingdienst"
└── legal_basis ──→ "Wet inkomstenbelasting 2001"
```
**ONTOLOGY ALIGNMENT**:
- schema:GovernmentService - Tax scheme as government service
- skos:Concept - Scheme as member of controlled vocabulary
- org:Organization - Regulatory body reference
- prov:Entity - Trackable entity with provenance
exact_mappings:
- schema:GovernmentService
close_mappings:
- skos:Concept
- org:Organization
related_mappings:
- prov:Entity
- schema:Legislation
slots:
- has_or_had_type
- has_or_had_label
- has_or_had_description
- has_or_had_identifier
- jurisdiction
- deduction_percentage
- regulatory_body
- legal_basis
- effective_date
- expiration_date
slot_usage:
has_or_had_type:
range: TaxSchemeType
required: true
description: |
The type of tax scheme from the TaxSchemeType taxonomy.
examples:
- value: CulturalANBI
description: Dutch cultural public benefit status
- value: GiftAid
description: UK Gift Aid scheme
- value: Section501c3
description: US 501(c)(3) status
has_or_had_label:
range: string
description: |
Human-readable name of the tax scheme instance.
examples:
- value: Cultural ANBI (125%)
description: Cultural ANBI with multiplier noted
- value: Gift Aid eligible
description: UK Gift Aid status
has_or_had_description:
range: string
description: |
Explanation of the scheme and its benefits for this institution.
has_or_had_identifier:
range: string
description: |
Official registration identifier (e.g., RSIN number for ANBI).
examples:
- value: "RSIN 123456789"
description: Dutch ANBI registration number
- value: "Charity No. 1234567"
description: UK Charity Commission number
jurisdiction:
range: string
required: true
description: |
ISO 3166-1 alpha-2 country code or jurisdiction identifier.
examples:
- value: NL
description: Netherlands
- value: UK
description: United Kingdom
- value: US
description: United States
- value: DE
description: Germany
deduction_percentage:
range: integer
description: |
Percentage of donation that is tax-deductible (100 = full deduction).
Values over 100 indicate enhanced cultural multipliers.
examples:
- value: 100
description: Standard 100% deduction
- value: 125
description: Cultural ANBI 125% enhanced deduction
- value: 66
description: French individual 66% reduction
regulatory_body:
range: string
description: |
Name of the government body administering the scheme.
examples:
- value: Belastingdienst
description: Dutch Tax Authority
- value: HMRC
description: UK tax authority
- value: IRS
description: US Internal Revenue Service
legal_basis:
range: string
description: |
Legal statute or regulation establishing the scheme.
examples:
- value: Wet inkomstenbelasting 2001
description: Dutch income tax law
- value: Finance Act 1990
description: UK Gift Aid legislation
- value: Internal Revenue Code Section 501(c)(3)
description: US tax code
effective_date:
range: date
description: |
Date when the scheme status became effective for this institution.
expiration_date:
range: date
description: |
Date when the scheme status expires (if applicable).
comments:
- Tax schemes vary significantly by jurisdiction - always document jurisdiction
- Cultural institutions often qualify for enhanced rates beyond standard charity status
- Scheme status may need periodic renewal - track effective_date and expiration_date
- Link to regulatory body websites for current requirements
see_also:
- https://www.belastingdienst.nl/wps/wcm/connect/nl/aftrek-en-kortingen/content/gift-aftrekken
- https://www.gov.uk/donating-to-charity/gift-aid
- https://www.irs.gov/charities-non-profits/charitable-organizations
- https://www.impots.gouv.fr/professionnel/dons-et-mecenat
examples:
- value:
has_or_had_type: CulturalANBI
has_or_had_label: Cultural ANBI (125%)
has_or_had_description: >-
Rijksmuseum is registered as Cultural ANBI, providing donors
with 125% tax deduction (100% standard + 25% cultural bonus).
has_or_had_identifier: "RSIN 002006066"
jurisdiction: NL
deduction_percentage: 125
regulatory_body: Belastingdienst
legal_basis: Wet inkomstenbelasting 2001, Art. 6.39a
effective_date: "2008-01-01"
description: Rijksmuseum Cultural ANBI registration
- value:
has_or_had_type: GiftAid
has_or_had_label: Gift Aid eligible
has_or_had_description: >-
British Library is registered for Gift Aid, allowing the library
to reclaim 25p for every £1 donated by UK taxpayers.
has_or_had_identifier: "Charity No. 1034686"
jurisdiction: UK
deduction_percentage: 100
regulatory_body: HMRC
legal_basis: Finance Act 1990
effective_date: "1990-10-01"
description: British Library Gift Aid registration
- value:
has_or_had_type: Section501c3
has_or_had_label: 501(c)(3) tax-exempt
has_or_had_description: >-
Smithsonian Institution is recognized as a 501(c)(3) organization,
allowing donors to deduct contributions on federal income taxes.
has_or_had_identifier: "EIN 53-0206027"
jurisdiction: US
deduction_percentage: 100
regulatory_body: IRS
legal_basis: Internal Revenue Code Section 501(c)(3)
description: Smithsonian Institution 501(c)(3) status
annotations:
specificity_score: 0.50
specificity_rationale: |
Moderately specific - tax scheme details are primarily relevant
for donation and fiscal compliance queries, not general heritage
discovery.
replaces_slot: tax_scheme
migration_date: "2026-01-16"
# Define additional slots needed for TaxScheme
slots:
jurisdiction:
slot_uri: schema:areaServed
range: string
description: |
ISO 3166-1 alpha-2 country code indicating the jurisdiction
where this tax scheme applies.
deduction_percentage:
slot_uri: hc:deductionPercentage
range: integer
description: |
Percentage of donation amount that is tax-deductible.
100 = full deduction, >100 = enhanced cultural multiplier.
regulatory_body:
slot_uri: schema:provider
range: string
description: |
Name of the government agency administering the tax scheme.
legal_basis:
slot_uri: schema:legislationApplied
range: string
description: |
Legal statute, act, or regulation establishing the scheme.
effective_date:
slot_uri: schema:validFrom
range: date
description: |
Date when the scheme status became effective.
expiration_date:
slot_uri: schema:validThrough
range: date
description: |
Date when the scheme status expires (if applicable).

View file

@ -0,0 +1,71 @@
id: https://nde.nl/ontology/hc/class/TaxSchemeType
name: TaxSchemeType
title: TaxSchemeType Abstract Base Class
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/
imports:
- linkml:types
default_prefix: hc
classes:
TaxSchemeType:
class_uri: skos:Concept
abstract: true
description: |
Abstract base class for tax scheme type taxonomy.
**PURPOSE**:
TaxSchemeType defines the controlled vocabulary of tax incentive
and regulatory scheme categories that apply to heritage donations.
Concrete subclasses in TaxSchemeTypes.yaml provide specific scheme
types organized by jurisdiction.
**DESIGN PATTERN**:
Follows Type/Types naming convention (Rule 0b):
- TaxSchemeType.yaml: Abstract base class (this file)
- TaxSchemeTypes.yaml: Concrete subclasses
**CATEGORY ORGANIZATION**:
Tax schemes are organized by jurisdiction and benefit type:
| Category | Jurisdictions | Benefit Pattern |
|----------|---------------|-----------------|
| Charitable Status | NL, UK, US, DE, FR | Tax-exempt organization |
| Donation Deduction | NL, UK, US, DE, FR | Donor tax relief |
| Cultural Enhancement | NL, UK, FR | Additional cultural bonus |
| Estate/Legacy | NL, UK, US | Inheritance tax relief |
| Corporate Sponsorship | All | Business expense deduction |
**ONTOLOGY ALIGNMENT**:
- skos:Concept - Member of controlled vocabulary
- schema:GovernmentService - Government-provided benefit
- schema:Legislation - Legal basis
exact_mappings:
- skos:Concept
close_mappings:
- schema:GovernmentService
slots:
- has_or_had_label
- has_or_had_description
slot_usage:
has_or_had_label:
description: Human-readable name of the tax scheme type.
examples:
- value: ANBI
description: Dutch general public benefit institution
- value: Gift Aid
description: UK donation tax reclaim scheme
has_or_had_description:
description: Explanation of the tax scheme type and its benefits.
annotations:
specificity_score: 0.50
specificity_rationale: |
Moderately specific - tax scheme types are relevant primarily
for donation-related queries and fiscal compliance contexts.

View file

@ -0,0 +1,300 @@
id: https://nde.nl/ontology/hc/class/TaxSchemeTypes
name: TaxSchemeTypes
title: Tax Scheme Type Taxonomy
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
imports:
- linkml:types
- ./TaxSchemeType
default_prefix: hc
classes:
# ============================================================
# NETHERLANDS TAX SCHEMES
# ============================================================
ANBI:
is_a: TaxSchemeType
class_uri: hc:ANBI
description: |
Algemeen Nut Beogende Instelling (General Public Benefit Institution).
Dutch tax status allowing donors to deduct donations from taxable income.
Heritage institutions with ANBI status receive tax-free donations.
**Benefits**:
- Donors: 100% income tax deduction
- Institution: No gift tax on donations received
- Institution: No inheritance tax on bequests
**Requirements**:
- At least 90% of activities serve public benefit
- No profit distribution to individuals
- Published RSIN number and annual reports
**Regulatory Body**: Belastingdienst
annotations:
jurisdiction: NL
deduction_percentage: 100
regulatory_body: Belastingdienst
legal_basis: Wet inkomstenbelasting 2001
CulturalANBI:
is_a: TaxSchemeType
class_uri: hc:CulturalANBI
description: |
Culturele ANBI (Cultural Public Benefit Institution).
Enhanced Dutch tax status for cultural heritage institutions providing
an additional 25% multiplier on donation deductions.
**Benefits**:
- Donors: 125% income tax deduction (100% + 25% cultural bonus)
- Same institutional benefits as standard ANBI
**Eligibility**:
- Must be registered as ANBI
- Primary activities in arts, culture, or heritage
- Museums, archives, libraries, monuments qualify
**Regulatory Body**: Belastingdienst
annotations:
jurisdiction: NL
deduction_percentage: 125
regulatory_body: Belastingdienst
legal_basis: Wet inkomstenbelasting 2001, Art. 6.39a
# ============================================================
# UNITED KINGDOM TAX SCHEMES
# ============================================================
GiftAid:
is_a: TaxSchemeType
class_uri: hc:GiftAid
description: |
UK Gift Aid scheme allowing charities to reclaim basic rate tax
on donations from UK taxpayers.
**Benefits**:
- Charity reclaims 25p for every £1 donated
- Higher-rate taxpayers claim additional relief
- Works with one-time and regular donations
**Requirements**:
- Donor must be UK taxpayer
- Donor signs Gift Aid declaration
- Charity must be registered with HMRC
**Regulatory Body**: HMRC
annotations:
jurisdiction: UK
reclaim_percentage: 25
regulatory_body: HMRC
legal_basis: Finance Act 1990
CulturalGiftsScheme:
is_a: TaxSchemeType
class_uri: hc:CulturalGiftsScheme
description: |
UK Cultural Gifts Scheme for donations of pre-eminent objects.
**Benefits**:
- Tax reduction based on value of donated object
- 30% reduction for individuals, 20% for companies
- Objects remain in UK public collections
**Eligibility**:
- Object must be pre-eminent (significant cultural importance)
- Approved by Arts Council England panel
- Donor gives up ownership entirely
**Regulatory Body**: Arts Council England / HMRC
annotations:
jurisdiction: UK
tax_reduction_individual: 30
tax_reduction_corporate: 20
regulatory_body: Arts Council England
legal_basis: Finance Act 2012
CharitableStatus:
is_a: TaxSchemeType
class_uri: hc:CharitableStatus
description: |
UK registered charity status under Charity Commission.
**Benefits**:
- Income tax and capital gains tax exemptions
- Eligible for Gift Aid
- Business rate relief (80% mandatory, up to 100% discretionary)
- VAT relief on certain goods
**Regulatory Body**: Charity Commission for England and Wales
annotations:
jurisdiction: UK
regulatory_body: Charity Commission
legal_basis: Charities Act 2011
# ============================================================
# UNITED STATES TAX SCHEMES
# ============================================================
Section501c3:
is_a: TaxSchemeType
class_uri: hc:Section501c3
description: |
US 501(c)(3) tax-exempt status for charitable organizations.
**Benefits**:
- Organization exempt from federal income tax
- Donors can deduct contributions on federal taxes
- May be exempt from state/local taxes
- Eligible for foundation grants
**Requirements**:
- Organized exclusively for exempt purposes
- No private inurement
- Limited lobbying activities
- No political campaign intervention
**Regulatory Body**: Internal Revenue Service (IRS)
annotations:
jurisdiction: US
deduction_percentage: 100
regulatory_body: IRS
legal_basis: Internal Revenue Code Section 501(c)(3)
Section501c4:
is_a: TaxSchemeType
class_uri: hc:Section501c4
description: |
US 501(c)(4) social welfare organization status.
Different from 501(c)(3) - allows more advocacy but
donations are NOT tax-deductible for donors.
**Benefits**:
- Organization exempt from federal income tax
- Can engage in unlimited lobbying
- Can participate in some political activities
**Limitations**:
- Donor contributions NOT tax-deductible
- Must primarily benefit community
**Regulatory Body**: Internal Revenue Service (IRS)
annotations:
jurisdiction: US
deduction_percentage: 0
regulatory_body: IRS
legal_basis: Internal Revenue Code Section 501(c)(4)
# ============================================================
# GERMANY TAX SCHEMES
# ============================================================
Gemeinnuetzigkeit:
is_a: TaxSchemeType
class_uri: hc:Gemeinnuetzigkeit
description: |
German charitable status (Gemeinnützigkeit).
**Benefits**:
- Organization exempt from corporate income tax
- Donors can deduct donations (up to 20% of income)
- Enhanced deduction for cultural institutions
**Requirements**:
- Serve public benefit exclusively
- Non-profit operation
- Assets used only for stated purposes
**Regulatory Body**: Finanzamt (local tax office)
annotations:
jurisdiction: DE
deduction_limit_percentage: 20
regulatory_body: Finanzamt
legal_basis: Abgabenordnung §§ 51-68
# ============================================================
# FRANCE TAX SCHEMES
# ============================================================
MecenatCulturel:
is_a: TaxSchemeType
class_uri: hc:MecenatCulturel
description: |
French cultural patronage scheme (Mécénat culturel).
**Benefits**:
- Individuals: 66% tax reduction (up to 20% of taxable income)
- Companies: 60% tax reduction (up to 0.5% of turnover)
- Enhanced rates for national treasures
**Eligible Institutions**:
- Museums, libraries, archives
- Monuments historiques
- Cultural associations
**Regulatory Body**: Direction générale des Finances publiques
annotations:
jurisdiction: FR
individual_reduction_percentage: 66
corporate_reduction_percentage: 60
regulatory_body: DGFiP
legal_basis: Code général des impôts, Art. 200 & 238 bis
# ============================================================
# BELGIUM TAX SCHEMES
# ============================================================
BelgianTaxShelter:
is_a: TaxSchemeType
class_uri: hc:BelgianTaxShelter
description: |
Belgian tax deduction for donations to approved cultural institutions.
**Benefits**:
- 45% tax reduction on donations
- Minimum donation: €40
- Maximum: 10% of net income (max €392,200)
**Eligibility**:
- Institution must be approved by Finance Ministry
- Annual approval required
**Regulatory Body**: SPF Finances
annotations:
jurisdiction: BE
reduction_percentage: 45
minimum_donation: 40
regulatory_body: SPF Finances
# ============================================================
# INTERNATIONAL / CROSS-BORDER SCHEMES
# ============================================================
TransnationalGiving:
is_a: TaxSchemeType
class_uri: hc:TransnationalGiving
description: |
Cross-border donation schemes enabling tax-efficient international giving.
**Examples**:
- Transnational Giving Europe (TGE)
- CAF America
- Charities Aid Foundation
**Benefits**:
- Tax deduction in donor's home country
- Donation reaches foreign charity
- Compliant with local tax laws
**Mechanism**:
- Donation to local partner charity
- Partner grants to foreign charity
- Administrative fee typically 5-7%
annotations:
jurisdiction: INTERNATIONAL
typical_fee_percentage: 5

View file

@ -0,0 +1,209 @@
id: https://nde.nl/ontology/hc/class/TaxonomicAuthority
name: TaxonomicAuthority
title: Taxonomic Authority Class
description: |
Structured representation of taxonomic name authorship.
Models the authorship information for scientific names following
nomenclatural codes (ICZN for animals, ICN for plants, ICNP for bacteria).
**MIGRATION**: Created to support `has_or_had_authority` slot per slot_fixes.yaml
(Rule 53/56, 2026-01-16). Replaces unstructured `taxonomic_authority` string values.
**Ontology Alignment**:
- class_uri: prov:Attribution (provenance attribution)
- Aligns with TCS (Taxon Concept Schema) authorship elements
- Maps to Darwin Core scientificNameAuthorship
**Key Properties**:
- has_or_had_label: The full authority string (e.g., "Linnaeus, 1758")
- has_or_had_author: Author name(s) as separate elements
- has_or_had_date: Publication year
- is_or_was_recombined: Whether parentheses indicate recombination
**Nomenclatural Codes**:
| Code | Domain | Example |
|------|--------|---------|
| ICZN | Animals | "Linnaeus, 1758" |
| ICN | Plants/Algae/Fungi | "L." (abbreviated) |
| ICNP | Prokaryotes | "(Migula 1900) Skerman et al. 1980" |
| ICVCN | Viruses | "ICTV 2020" |
**Example**:
```yaml
authority:
has_or_had_label: "Linnaeus, 1758"
has_or_had_author: ["Carl Linnaeus"]
has_or_had_date: 1758
is_or_was_recombined: false
nomenclatural_code: ICZN
```
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov#
dwc: http://rs.tdwg.org/dwc/terms/
schema: http://schema.org/
skos: http://www.w3.org/2004/02/skos/core#
imports:
- linkml:types
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/has_or_had_date
default_prefix: hc
slots:
# Additional slots specific to TaxonomicAuthority
has_or_had_author:
slot_uri: schema:author
range: string
multivalued: true
description: |
Author name(s) for the taxonomic name.
May include multiple authors for co-authored descriptions.
is_or_was_recombined:
slot_uri: hc:isOrWasRecombined
range: boolean
description: |
Whether the name has been recombined from its original genus.
Indicated by parentheses around the authority in zoological nomenclature.
Example: "(Gray, 1821)" indicates original genus differs.
nomenclatural_code:
slot_uri: dwc:nomenclaturalCode
range: string
description: |
The nomenclatural code governing this name.
Values: ICZN, ICN, ICNP, ICVCN, etc.
examples:
- value: ICZN
description: International Code of Zoological Nomenclature
- value: ICN
description: International Code of Nomenclature for algae, fungi, and plants
basionym_authority:
slot_uri: hc:basionymAuthority
range: TaxonomicAuthority
description: |
Authority of the original name (basionym) if this is a recombination.
The parenthetical authority in "(Gray, 1821) Smith, 1900".
inlined: true
classes:
TaxonomicAuthority:
class_uri: prov:Attribution
description: |
Structured representation of taxonomic name authorship.
Provides detailed breakdown of author names, dates, and nomenclatural
status beyond a simple string representation.
exact_mappings:
- prov:Attribution
close_mappings:
- dwc:scientificNameAuthorship
- schema:CreativeWork # for the published description
slots:
- has_or_had_identifier
- has_or_had_label
- has_or_had_description
- has_or_had_date
- has_or_had_author
- is_or_was_recombined
- nomenclatural_code
- basionym_authority
slot_usage:
has_or_had_identifier:
description: Reference to authority in taxonomic databases (e.g., IPNI, ZooBank).
examples:
- value: "urn:lsid:zoobank.org:act:12345678-1234-1234-1234-123456789012"
description: ZooBank LSID for nomenclatural act
has_or_had_label:
required: true
description: |
The full authority string as conventionally formatted.
This is the human-readable form of the authority.
examples:
- value: "Linnaeus, 1758"
description: Standard zoological authority format
- value: "(Gray, 1821)"
description: Parentheses indicate recombination
- value: "L."
description: Abbreviated botanical authority
- value: "(Migula 1900) Skerman et al. 1980"
description: Complex bacterial recombination
has_or_had_author:
multivalued: true
description: Author name(s) parsed from the authority string.
examples:
- value: ["Carl Linnaeus"]
- value: ["Asa Gray"]
- value: ["Skerman", "McGowan", "Sneath"]
description: Multiple authors
has_or_had_date:
description: |
Year of original publication/description.
May be a range for imprecisely dated works.
examples:
- value: 1758
description: Publication year of Systema Naturae 10th edition
has_or_had_description:
description: Notes on the authority or publication context.
examples:
- value: "Original description in Systema Naturae, 10th edition"
is_or_was_recombined:
examples:
- value: false
description: Name in original genus
- value: true
description: Parenthetical authority indicates recombination
nomenclatural_code:
examples:
- value: ICZN
- value: ICN
comments:
- TaxonomicAuthority provides structured representation of authorship
- The has_or_had_label slot holds the conventional formatted string
- Use is_or_was_recombined to indicate parenthetical authorities
- Link to nomenclatural databases via has_or_had_identifier
see_also:
- https://www.iczn.org/
- https://www.iapt-taxon.org/nomen/main.php
- https://dwc.tdwg.org/terms/#dwc:scientificNameAuthorship
examples:
- value:
has_or_had_label: "Linnaeus, 1758"
has_or_had_author: ["Carl Linnaeus"]
has_or_had_date: 1758
is_or_was_recombined: false
nomenclatural_code: ICZN
has_or_had_description: "Original description of Homo sapiens in Systema Naturae, 10th edition"
description: Standard zoological authority (Linnaeus)
- value:
has_or_had_label: "(Gray, 1821)"
has_or_had_author: ["John Edward Gray"]
has_or_had_date: 1821
is_or_was_recombined: true
nomenclatural_code: ICZN
description: Recombined authority (parenthetical)
- value:
has_or_had_label: "L."
has_or_had_author: ["Carl Linnaeus"]
has_or_had_date: 1753
is_or_was_recombined: false
nomenclatural_code: ICN
has_or_had_description: "Abbreviated botanical authority per ICN conventions"
description: Abbreviated botanical authority
- value:
has_or_had_label: "(Migula 1900) Skerman et al. 1980"
has_or_had_author: ["Skerman", "McGowan", "Sneath"]
has_or_had_date: 1980
is_or_was_recombined: true
nomenclatural_code: ICNP
basionym_authority:
has_or_had_label: "Migula 1900"
has_or_had_author: ["Walter Migula"]
has_or_had_date: 1900
is_or_was_recombined: false
description: Complex bacterial recombination with basionym

View file

@ -0,0 +1,175 @@
id: https://nde.nl/ontology/hc/class/Technique
name: Technique
title: Technique Class
description: |
A technique or method used in a heritage activity.
Represents structured technique records with type classification, description,
and provenance. Used for conservation treatments, examinations, production
methods, and documentation activities.
**MIGRATION**: Created to support `uses_or_used_technique` slot per slot_fixes.yaml
(Rule 53/56, 2026-01-16). Replaces unstructured `techniques_used` string values.
**Ontology Alignment**:
- class_uri: crm:E29_Design_or_Procedure
- CIDOC-CRM: "This class comprises documented or encoded procedures for
producing and executing activities."
**Key Properties**:
- has_or_had_type: Links to TechniqueType subclass (REQUIRED)
- has_or_had_label: Human-readable technique name
- has_or_had_description: Detailed description of technique application
- includes_or_included: Sub-steps or component techniques
**Example**:
```yaml
technique:
has_or_had_type: SolventCleaning
has_or_had_label: "Varnish removal with acetone mixture"
has_or_had_description: |
Removal of discolored natural resin varnish using
50:50 acetone/white spirit mixture applied with cotton swabs.
Working in small sections under magnification.
```
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
crm: http://www.cidoc-crm.org/cidoc-crm/
schema: http://schema.org/
skos: http://www.w3.org/2004/02/skos/core#
aat: http://vocab.getty.edu/aat/
imports:
- linkml:types
- ../slots/has_or_had_identifier
- ../slots/has_or_had_type
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/includes_or_included
- ./TechniqueType
- ./TechniqueTypes
default_prefix: hc
classes:
Technique:
class_uri: crm:E29_Design_or_Procedure
description: |
A technique or method used in a heritage activity.
Provides structured representation of techniques with type classification,
descriptions, and the ability to reference sub-techniques.
exact_mappings:
- crm:E29_Design_or_Procedure
close_mappings:
- schema:HowTo
- aat:300264237 # techniques (processes)
related_mappings:
- crm:E55_Type # for technique classification
slots:
- has_or_had_identifier
- has_or_had_type
- has_or_had_label
- has_or_had_description
- includes_or_included
slot_usage:
has_or_had_identifier:
description: Unique identifier for this technique instance or reference to vocabulary term.
examples:
- value: aat:300379752
description: AAT identifier for solvent cleaning
- value: https://nde.nl/ontology/hc/technique/mauritshuis-670-1994-solvent-cleaning
description: Instance-specific technique identifier
has_or_had_type:
range: TechniqueType
required: true
description: |
The type of technique from the TechniqueType hierarchy.
Required to classify the technique method.
examples:
- value: SolventCleaning
description: Solvent cleaning technique type
- value: InfraredReflectography
description: IR reflectography examination technique
- value: TratteggioInpainting
description: Tratteggio inpainting technique
has_or_had_label:
description: Human-readable name of the technique as applied.
examples:
- value: "Varnish removal with acetone mixture"
- value: "Tratteggio inpainting of paint losses"
- value: "Macro XRF scanning"
has_or_had_description:
description: |
Detailed description of how the technique was applied.
Should include materials, methods, and specific conditions.
examples:
- value: |
Removal of discolored natural resin varnish using
50:50 acetone/white spirit mixture. Applied with cotton swabs,
working in small sections under 10x magnification.
Solvent action monitored continuously.
- value: |
Tratteggio inpainting of losses using Gamblin conservation
colors. Fine parallel brushstrokes at 45-degree angle,
approximately 1mm spacing.
includes_or_included:
range: Technique
multivalued: true
inlined_as_list: true
description: |
Sub-techniques or component steps within this technique.
Enables hierarchical technique documentation.
examples:
- value:
has_or_had_type: AqueousCleaning
has_or_had_label: "Initial surface cleaning"
has_or_had_description: "Removal of surface grime with distilled water and cotton swabs"
description: First step in multi-step cleaning process
comments:
- Technique represents a procedure or method applied in heritage activities
- Always requires has_or_had_type to classify the technique
- Use includes_or_included for complex multi-step procedures
- Link to vocabulary terms (AAT) via has_or_had_identifier when applicable
see_also:
- https://cidoc-crm.org/html/cidoc_crm_v7.1.3.html#E29
- https://www.getty.edu/research/tools/vocabularies/aat/
- https://collectionstrust.org.uk/spectrum/
examples:
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/technique/mauritshuis-670-1994-solvent-cleaning
has_or_had_type: SolventCleaning
has_or_had_label: "Varnish removal with acetone/white spirit mixture"
has_or_had_description: |
Removal of discolored natural resin varnish from Girl with a Pearl Earring.
Used 50:50 acetone/white spirit mixture applied with cotton swabs.
Working in small sections under 10x magnification, monitoring
solvent action continuously to preserve original glazes.
description: Solvent cleaning technique from 1994 Vermeer restoration
- value:
has_or_had_type: TratteggioInpainting
has_or_had_label: "Tratteggio inpainting of background losses"
has_or_had_description: |
Losses in dark background area in-painted using tratteggio technique.
Fine parallel brushstrokes using Gamblin conservation colors.
Distinguishable at close range but integrates at normal viewing distance.
description: Inpainting technique with tratteggio method
- value:
has_or_had_type: VacuumLining
has_or_had_label: "Vacuum table lining with BEVA 371"
has_or_had_description: |
Canvas lined using vacuum hot table at 65°C.
BEVA 371 adhesive between original and new linen canvas.
Atmospheric pressure maintained for 30 minutes during cooling.
includes_or_included:
- has_or_had_type: StructuralRepairTechnique
has_or_had_label: "Thread-by-thread tear mending"
has_or_had_description: "Aligned torn threads and secured with wheat starch paste"
description: Complex lining technique with sub-technique
- value:
has_or_had_type: XRayFluorescence
has_or_had_label: "MA-XRF elemental mapping"
has_or_had_description: |
Macro X-ray fluorescence scanning to map elemental distribution.
Bruker M6 Jetstream scanner, 50kV, 600μA.
Scan area 67 x 60 cm at 650 μm resolution.
Identified lead white, vermilion, yellow ochre, natural ultramarine.
description: XRF examination technique from Operation Night Watch

View file

@ -0,0 +1,68 @@
id: https://nde.nl/ontology/hc/class/TechniqueType
name: TechniqueType
title: Technique Type Class (Abstract Base)
description: |
Abstract base class for technique type taxonomy.
Defines the type hierarchy for techniques used in heritage activities including
conservation, production, research, and documentation.
**Design Pattern**: Type/Types naming convention per Rule 0b:
- TechniqueType.yaml: Abstract base class (this file)
- TechniqueTypes.yaml: Concrete subclasses
**Ontology Alignment**:
- class_uri: skos:Concept (vocabulary term)
- Mapped to AAT techniques hierarchy (aat:300264237)
- Aligned with CIDOC-CRM E55_Type for technique classification
**Key Subclass Categories**:
- Conservation techniques (cleaning, consolidation, inpainting, etc.)
- Examination techniques (imaging, spectroscopy, dating, etc.)
- Production techniques (casting, weaving, printing, etc.)
- Documentation techniques (photography, scanning, etc.)
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
crm: http://www.cidoc-crm.org/cidoc-crm/
aat: http://vocab.getty.edu/aat/
imports:
- linkml:types
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_description
default_prefix: hc
classes:
TechniqueType:
class_uri: skos:Concept
abstract: true
description: |
Abstract base class for technique types.
Subclasses represent specific categories of techniques used in heritage
activities. Each technique type may have AAT or other vocabulary alignments.
exact_mappings:
- skos:Concept
close_mappings:
- crm:E55_Type
- aat:300264237 # techniques (processes)
slots:
- has_or_had_identifier
- has_or_had_label
- has_or_had_description
slot_usage:
has_or_had_identifier:
description: Unique identifier for this technique type (e.g., AAT URI).
examples:
- value: aat:300053052
description: AAT identifier for cleaning techniques
has_or_had_label:
description: Human-readable name of the technique type.
examples:
- value: Solvent Cleaning
- value: Infrared Reflectography
has_or_had_description:
description: Definition or explanation of this technique type.
examples:
- value: "Removal of surface deposits using organic solvents."

View file

@ -0,0 +1,400 @@
id: https://nde.nl/ontology/hc/class/TechniqueTypes
name: TechniqueTypes
title: Technique Types (Concrete Subclasses)
description: |
Concrete technique type subclasses for the heritage domain.
**Design Pattern**: Type/Types naming convention per Rule 0b:
- TechniqueType.yaml: Abstract base class
- TechniqueTypes.yaml: Concrete subclasses (this file)
**Categories**:
1. **Conservation Techniques** - Treatment methods for heritage objects
- Cleaning (aqueous, solvent, mechanical, laser)
- Consolidation (stabilizing friable materials)
- Inpainting (loss compensation)
- Lining/Relining (canvas reinforcement)
- Varnishing (protective coatings)
- Structural repair
2. **Examination Techniques** - Analytical and imaging methods
- Radiography (X-ray imaging)
- Reflectography (IR, UV imaging)
- Spectroscopy (XRF, Raman, FTIR)
- Microscopy
- Dating methods
3. **Documentation Techniques** - Recording methods
- Photography (macro, raking light)
- 3D scanning
- Condition mapping
4. **Production Techniques** - Making/crafting methods
- Casting
- Weaving
- Printing
- Glazing
**Vocabulary Alignment**: AAT Techniques hierarchy (aat:300264237)
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
aat: http://vocab.getty.edu/aat/
imports:
- linkml:types
- ./TechniqueType
default_prefix: hc
classes:
# =============================================================================
# CONSERVATION TECHNIQUES
# =============================================================================
ConservationTechnique:
is_a: TechniqueType
abstract: true
description: |
Abstract class for conservation treatment techniques.
Subclasses represent specific conservation methods.
exact_mappings:
- aat:300053044 # conservation (process)
# Cleaning Techniques
CleaningTechnique:
is_a: ConservationTechnique
abstract: true
description: Techniques for removing unwanted material from object surfaces.
exact_mappings:
- aat:300053052 # cleaning
AqueousCleaning:
is_a: CleaningTechnique
description: Cleaning using water-based solutions.
exact_mappings:
- aat:300379751 # aqueous cleaning
SolventCleaning:
is_a: CleaningTechnique
description: |
Cleaning using organic solvents to remove coatings, adhesives, or deposits.
Common solvents include acetone, ethanol, white spirit, and solvent mixtures.
exact_mappings:
- aat:300379752 # solvent cleaning
examples:
- value:
has_or_had_label: "Acetone/white spirit cleaning"
has_or_had_description: "Removal of yellowed varnish using 50:50 acetone/white spirit"
MechanicalCleaning:
is_a: CleaningTechnique
description: Physical removal of deposits using tools (scalpels, brushes, erasers).
exact_mappings:
- aat:300379753 # mechanical cleaning
LaserCleaning:
is_a: CleaningTechnique
description: Ablation of surface deposits using focused laser energy.
exact_mappings:
- aat:300379880 # laser cleaning
# Consolidation Techniques
ConsolidationTechnique:
is_a: ConservationTechnique
description: |
Techniques for stabilizing friable, flaking, or powdering materials.
Involves introducing adhesive to strengthen cohesion.
exact_mappings:
- aat:300053058 # consolidating
# Inpainting/Retouching Techniques
InpaintingTechnique:
is_a: ConservationTechnique
abstract: true
description: |
Techniques for visually integrating losses in painted surfaces.
Also known as retouching or loss compensation.
exact_mappings:
- aat:300053061 # inpainting
TratteggioInpainting:
is_a: InpaintingTechnique
description: |
Italian inpainting technique using fine parallel lines.
Distinguishable from original at close range but integrates at viewing distance.
exact_mappings:
- aat:300435449 # tratteggio
PointillistInpainting:
is_a: InpaintingTechnique
description: Inpainting using small dots of color.
MimeticInpainting:
is_a: InpaintingTechnique
description: |
Inpainting that closely imitates surrounding original paint.
Also called deceptive or illusionistic retouching.
# Lining Techniques
LiningTechnique:
is_a: ConservationTechnique
abstract: true
description: |
Techniques for reinforcing canvas or panel supports.
Involves adhering new support material to original.
exact_mappings:
- aat:300053068 # lining (process)
VacuumLining:
is_a: LiningTechnique
description: |
Canvas lining using vacuum pressure to ensure adhesion.
Performed on heated vacuum table.
GluePasteLining:
is_a: LiningTechnique
description: Traditional lining using animal glue and flour paste.
exact_mappings:
- aat:300379884 # glue-paste lining
WaxResinLining:
is_a: LiningTechnique
description: Lining using wax-resin adhesive mixture.
exact_mappings:
- aat:300379885 # wax-resin lining
# Varnishing Techniques
VarnishingTechnique:
is_a: ConservationTechnique
description: Application of protective transparent coatings.
exact_mappings:
- aat:300053092 # varnishing
# Structural Techniques
StructuralRepairTechnique:
is_a: ConservationTechnique
description: |
Techniques for repairing physical damage to object structure.
Includes tear mending, crack filling, loss filling.
exact_mappings:
- aat:300053085 # repairing
TearMending:
is_a: StructuralRepairTechnique
description: Repair of tears in canvas or paper using thread bridges or patches.
InfillingTechnique:
is_a: StructuralRepairTechnique
description: |
Filling losses in paint layer, ground, or support.
Creates level surface for inpainting.
exact_mappings:
- aat:300053063 # filling (process)
# =============================================================================
# EXAMINATION TECHNIQUES
# =============================================================================
ExaminationTechnique:
is_a: TechniqueType
abstract: true
description: |
Abstract class for technical examination and analysis methods.
Used in condition assessment and scientific study of heritage objects.
exact_mappings:
- aat:300054636 # analyzing
# Imaging Techniques
ImagingTechnique:
is_a: ExaminationTechnique
abstract: true
description: Visual documentation and imaging methods.
exact_mappings:
- aat:300054592 # imaging
Radiography:
is_a: ImagingTechnique
description: |
X-ray imaging to reveal subsurface structure.
Shows canvas weave, underdrawing, composition changes, damage.
exact_mappings:
- aat:300054621 # radiography
InfraredReflectography:
is_a: ImagingTechnique
description: |
Imaging in near-infrared to penetrate paint layers.
Reveals underdrawing and pentimenti.
exact_mappings:
- aat:300379768 # infrared reflectography
UVFluorescence:
is_a: ImagingTechnique
description: |
Imaging under ultraviolet light.
Reveals varnish layers, retouching, and some pigments.
exact_mappings:
- aat:300379767 # ultraviolet fluorescence
RakingLight:
is_a: ImagingTechnique
description: |
Photography with light at acute angle to surface.
Reveals texture, impasto, and surface irregularities.
exact_mappings:
- aat:300379769 # raking light examination
MacroPhotography:
is_a: ImagingTechnique
description: Close-up photography to document surface details.
ThreeDScanning:
is_a: ImagingTechnique
description: |
Digital 3D surface capture using structured light or photogrammetry.
Creates high-resolution surface models.
# Spectroscopic Techniques
SpectroscopicTechnique:
is_a: ExaminationTechnique
abstract: true
description: Analytical techniques based on interaction with electromagnetic radiation.
exact_mappings:
- aat:300379773 # spectroscopy
XRayFluorescence:
is_a: SpectroscopicTechnique
description: |
X-ray fluorescence spectroscopy for elemental analysis.
Identifies pigments non-invasively.
exact_mappings:
- aat:300379775 # X-ray fluorescence spectroscopy
RamanSpectroscopy:
is_a: SpectroscopicTechnique
description: |
Molecular identification using laser-induced Raman scattering.
Identifies pigments, binders, and degradation products.
exact_mappings:
- aat:300379774 # Raman spectroscopy
FTIRSpectroscopy:
is_a: SpectroscopicTechnique
description: |
Fourier-transform infrared spectroscopy for molecular identification.
Identifies organic binders, coatings, and adhesives.
exact_mappings:
- aat:300379776 # Fourier-transform infrared spectroscopy
# Microscopy Techniques
MicroscopyTechnique:
is_a: ExaminationTechnique
abstract: true
description: Magnified examination of samples or surfaces.
exact_mappings:
- aat:300054620 # microscopy
OpticalMicroscopy:
is_a: MicroscopyTechnique
description: Examination using visible light microscopy.
ScanningElectronMicroscopy:
is_a: MicroscopyTechnique
description: |
High-resolution imaging using electron beam.
Reveals surface topography and elemental composition (with EDS).
exact_mappings:
- aat:300379778 # scanning electron microscopy
CrossSectionAnalysis:
is_a: MicroscopyTechnique
description: |
Microscopic examination of paint layer cross-sections.
Reveals stratigraphy, pigment particles, layer sequence.
exact_mappings:
- aat:300379780 # cross-section analysis
# Dating Techniques
DatingTechnique:
is_a: ExaminationTechnique
abstract: true
description: Methods for determining age of materials.
RadiocarbonDating:
is_a: DatingTechnique
description: |
Dating organic materials using carbon-14 decay.
Applicable to wood, canvas, paper, and organic binders.
exact_mappings:
- aat:300054490 # radiocarbon dating
Dendrochronology:
is_a: DatingTechnique
description: |
Dating wood by analysis of tree ring patterns.
Used for panel paintings and wooden objects.
exact_mappings:
- aat:300054495 # dendrochronology
# =============================================================================
# DOCUMENTATION TECHNIQUES
# =============================================================================
DocumentationTechnique:
is_a: TechniqueType
abstract: true
description: |
Techniques for recording and documenting heritage objects.
Supports condition assessment and treatment records.
exact_mappings:
- aat:300054596 # documenting
ConditionMapping:
is_a: DocumentationTechnique
description: |
Systematic recording of condition issues on diagrams or photographs.
Documents location and extent of damage, losses, and alterations.
TechnicalPhotography:
is_a: DocumentationTechnique
description: |
Standardized photography for condition documentation.
Includes overall views, details, and technical imaging.
# =============================================================================
# PRODUCTION TECHNIQUES (for heritage objects)
# =============================================================================
ProductionTechnique:
is_a: TechniqueType
abstract: true
description: |
Techniques used in original creation/manufacture of heritage objects.
Documents how objects were made.
exact_mappings:
- aat:300054653 # manufacturing
CastingTechnique:
is_a: ProductionTechnique
description: Shaping material by pouring into a mold.
exact_mappings:
- aat:300053104 # casting (process)
WeavingTechnique:
is_a: ProductionTechnique
description: Interlacing threads to create fabric.
exact_mappings:
- aat:300053642 # weaving
PrintingTechnique:
is_a: ProductionTechnique
abstract: true
description: Techniques for creating printed images.
exact_mappings:
- aat:300053237 # printing
GlazingTechnique:
is_a: ProductionTechnique
description: Application of vitreous coating to ceramics.
exact_mappings:
- aat:300053900 # glazing (coating)

View file

@ -0,0 +1,201 @@
# TechnologicalInfrastructure - Structured representation of technology stack components
#
# Created: 2026-01-16
# Rule compliance: 39 (RiC-O naming), 53 (no bespoke slots), 55 (broaden ranges), 56 (execute migrations)
# Migration: Replaces simple string-based technology_stack per slot_fixes.yaml
id: https://nde.nl/ontology/hc/class/TechnologicalInfrastructure
name: TechnologicalInfrastructure
title: Technological Infrastructure
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
doap: http://usefulinc.com/ns/doap#
spdx: http://spdx.org/rdf/terms#
skos: http://www.w3.org/2004/02/skos/core#
imports:
- linkml:types
- ./TechnologicalInfrastructureType
- ./TechnologicalInfrastructureTypes
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/has_or_had_type
- ../slots/includes_or_included
- ../slots/has_or_had_version
default_prefix: hc
classes:
TechnologicalInfrastructure:
class_uri: doap:Project
description: |
Structured representation of a technology component used in a digital platform.
**MIGRATION from technology_stack**:
This class replaces the simple string-based `technology_stack` slot with a
structured model that provides:
- Type classification via TechnologicalInfrastructureType hierarchy
- Version tracking
- Component composition (includes_or_included)
- Rich descriptions and provenance
**Ontological Alignment**:
- **Primary** (`class_uri`): `doap:Project` - DOAP vocabulary for software projects
- **Close**: `schema:SoftwareApplication` - Schema.org software application
- **Related**: `spdx:Package` - SPDX Software Bill of Materials
**Example Usage**:
```yaml
has_or_had_technological_infrastructure:
- has_or_had_identifier: tech-react-frontend
has_or_had_type: FrontendFramework
has_or_had_label: React
has_or_had_version: "18.2.0"
has_or_had_description: Frontend JavaScript library for building user interfaces
- has_or_had_identifier: tech-django-backend
has_or_had_type: BackendFramework
has_or_had_label: Django
has_or_had_version: "4.2"
has_or_had_description: Python web framework for rapid development
includes_or_included:
- Django REST Framework
- Django ORM
```
**Use Cases**:
- Document platform technology stacks for heritage digital platforms
- Track software versions for preservation and migration planning
- Model component dependencies
- Enable technology-based discovery of similar platforms
exact_mappings:
- doap:Project
close_mappings:
- schema:SoftwareApplication
related_mappings:
- spdx:Package
slots:
- has_or_had_identifier
- has_or_had_type
- has_or_had_label
- has_or_had_description
- has_or_had_version
- includes_or_included
slot_usage:
has_or_had_identifier:
identifier: true
required: true
description: Unique identifier for this technology component instance.
examples:
- value: "tech-react-18-frontend"
description: "React 18.x frontend component"
- value: "tech-postgresql-15-primary"
description: "PostgreSQL 15 primary database"
has_or_had_type:
range: TechnologicalInfrastructureType
required: true
description: |
Type classification for this technology component.
References TechnologicalInfrastructureType hierarchy.
examples:
- value: FrontendFramework
description: "React is a frontend framework"
- value: RelationalDatabase
description: "PostgreSQL is a relational database"
- value: SPARQLEndpoint
description: "SPARQL query endpoint"
has_or_had_label:
required: true
description: |
Human-readable name of the technology.
Use the commonly known name (e.g., "React", "PostgreSQL", "Django").
examples:
- value: "React"
description: "Frontend framework"
- value: "Python/Django"
description: "Backend stack (language/framework combo)"
- value: "Fedora Commons"
description: "Digital repository system"
has_or_had_description:
description: |
Description of how this technology is used in the platform context.
examples:
- value: "Frontend JavaScript framework for collection browsing interface"
description: "Platform-specific usage description"
has_or_had_version:
range: string
description: |
Version string for this technology component.
Use semantic versioning where applicable (e.g., "18.2.0", "4.2", "15.4").
examples:
- value: "18.2.0"
description: "React version"
- value: "4.2 LTS"
description: "Django LTS version"
- value: "15.4"
description: "PostgreSQL version"
includes_or_included:
range: string
multivalued: true
description: |
Sub-components or plugins included with this technology.
Enables modeling of technology stack composition.
examples:
- value: "Django REST Framework"
description: "REST API extension for Django"
- value: "React Router"
description: "Routing library for React"
comments:
- "MIGRATION: Replaces technology_stack slot per slot_fixes.yaml (2026-01-16)"
- "DOAP-aligned for software project descriptions"
- "Enables structured technology discovery and comparison"
- "Supports version tracking for preservation planning"
examples:
- value:
has_or_had_identifier: tech-react-18
has_or_had_type: FrontendFramework
has_or_had_label: React
has_or_had_version: "18.2.0"
has_or_had_description: Frontend JavaScript library for collection interface
description: "React frontend framework"
- value:
has_or_had_identifier: tech-django-backend
has_or_had_type: BackendFramework
has_or_had_label: Python/Django
has_or_had_version: "4.2"
has_or_had_description: Backend web framework for API and admin
includes_or_included:
- Django REST Framework
- Django ORM
- Celery
description: "Django backend with components"
- value:
has_or_had_identifier: tech-solr-search
has_or_had_type: SearchIndex
has_or_had_label: Apache Solr
has_or_had_version: "9.4"
has_or_had_description: Full-text search indexing for collection discovery
description: "Solr search index"
- value:
has_or_had_identifier: tech-fedora-repo
has_or_had_type: DigitalRepositorySystem
has_or_had_label: Fedora Commons
has_or_had_version: "6.5"
has_or_had_description: Digital asset repository for preservation
description: "Fedora digital repository"

View file

@ -0,0 +1,86 @@
# TechnologicalInfrastructureType - Abstract base class for technology type taxonomy
#
# Created: 2026-01-16
# Rule compliance: 0b (Type/Types naming), 39 (RiC-O naming), 53 (no bespoke slots), 56 (execute migrations)
# Pattern: Following TechnicalFeatureType, DigitalPlatformType patterns
id: https://nde.nl/ontology/hc/class/TechnologicalInfrastructureType
name: TechnologicalInfrastructureType
title: Technological Infrastructure Type
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
doap: http://usefulinc.com/ns/doap#
imports:
- linkml:types
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_description
default_prefix: hc
classes:
TechnologicalInfrastructureType:
class_uri: skos:Concept
abstract: true
description: |
Abstract base class for classifying types of technological infrastructure
components used in digital heritage platforms.
**Type Taxonomy** (Rule 0b):
This is the abstract base class (singular "Type"). Concrete subclasses
are defined in TechnologicalInfrastructureTypes.yaml (plural "Types").
**DOAP Alignment**:
Aligns with DOAP (Description of a Project) vocabulary for software projects:
- doap:programming-language
- doap:platform
- doap:os
**Subclass Categories**:
- **Framework**: Web frameworks (React, Django, Spring, Rails)
- **Language**: Programming languages (Python, JavaScript, Java, Go)
- **Database**: Database systems (PostgreSQL, MongoDB, Solr, Elasticsearch)
- **APIProtocol**: API standards (REST, GraphQL, SPARQL, OAI-PMH)
- **Service**: Cloud/infrastructure services (AWS, Azure, Docker, Kubernetes)
- **CMS**: Content management systems (WordPress, Drupal)
- **SearchEngine**: Search indexing (Solr, Elasticsearch, Blacklight)
- **Repository**: Digital repository systems (Fedora, DSpace, Islandora)
exact_mappings:
- skos:Concept
close_mappings:
- doap:Project
slots:
- has_or_had_identifier
- has_or_had_label
- has_or_had_description
slot_usage:
has_or_had_identifier:
identifier: true
required: true
examples:
- value: "hc:TechnologicalInfrastructureType/Framework"
description: "Framework type identifier"
has_or_had_label:
required: true
examples:
- value: "Framework"
description: "Web application framework"
- value: "Database"
description: "Database management system"
has_or_had_description:
examples:
- value: "Frontend or backend web application framework"
description: "Description of framework type"
comments:
- "Abstract base class - concrete types in TechnologicalInfrastructureTypes.yaml"
- "Follows Rule 0b: Type (singular) = abstract, Types (plural) = subclasses"
- "DOAP-aligned for software project descriptions"
- "Created for technology_stack migration per slot_fixes.yaml (2026-01-16)"

View file

@ -0,0 +1,228 @@
# TechnologicalInfrastructureTypes - Concrete subclasses for technology type taxonomy
#
# Created: 2026-01-16
# Rule compliance: 0b (Type/Types naming), 39 (RiC-O naming), 53 (no bespoke slots), 56 (execute migrations)
# Pattern: Following DigitalPlatformTypes pattern
id: https://nde.nl/ontology/hc/class/TechnologicalInfrastructureTypes
name: TechnologicalInfrastructureTypes
title: Technological Infrastructure Types
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
doap: http://usefulinc.com/ns/doap#
imports:
- linkml:types
- ./TechnologicalInfrastructureType
default_prefix: hc
classes:
# ============================================================
# FRAMEWORK TYPES - Web application frameworks
# ============================================================
Framework:
is_a: TechnologicalInfrastructureType
class_uri: hc:Framework
description: |
Web application framework - frontend or backend.
Examples: React, Vue, Angular, Django, Rails, Spring, Express
annotations:
category: "application"
doap_alignment: "doap:platform"
FrontendFramework:
is_a: Framework
class_uri: hc:FrontendFramework
description: |
Client-side JavaScript/TypeScript framework.
Examples: React, Vue, Angular, Svelte, Next.js
BackendFramework:
is_a: Framework
class_uri: hc:BackendFramework
description: |
Server-side web framework.
Examples: Django, Rails, Spring Boot, Express, FastAPI
# ============================================================
# PROGRAMMING LANGUAGE TYPES
# ============================================================
ProgrammingLanguage:
is_a: TechnologicalInfrastructureType
class_uri: hc:ProgrammingLanguage
description: |
Programming language used in platform development.
Examples: Python, JavaScript, TypeScript, Java, Go, Ruby, PHP
exact_mappings:
- doap:programming-language
# ============================================================
# DATABASE TYPES
# ============================================================
Database:
is_a: TechnologicalInfrastructureType
class_uri: hc:Database
description: |
Database management system.
Examples: PostgreSQL, MySQL, MongoDB, Elasticsearch, Neo4j
RelationalDatabase:
is_a: Database
class_uri: hc:RelationalDatabase
description: |
SQL-based relational database.
Examples: PostgreSQL, MySQL, MariaDB, Oracle, SQL Server
DocumentDatabase:
is_a: Database
class_uri: hc:DocumentDatabase
description: |
NoSQL document-oriented database.
Examples: MongoDB, CouchDB, RavenDB
GraphDatabase:
is_a: Database
class_uri: hc:GraphDatabase
description: |
Graph database for relationship-heavy data.
Examples: Neo4j, Amazon Neptune, JanusGraph, Blazegraph
SearchIndex:
is_a: Database
class_uri: hc:SearchIndex
description: |
Full-text search and indexing system.
Examples: Solr, Elasticsearch, OpenSearch, Meilisearch
TripleStore:
is_a: Database
class_uri: hc:TripleStore
description: |
RDF triple store for linked data.
Examples: Blazegraph, Virtuoso, GraphDB, Jena Fuseki, Oxigraph
# ============================================================
# API PROTOCOL TYPES
# ============================================================
APIProtocol:
is_a: TechnologicalInfrastructureType
class_uri: hc:APIProtocol
description: |
API standard or protocol for data exchange.
Examples: REST, GraphQL, SPARQL, OAI-PMH, IIIF
RESTful:
is_a: APIProtocol
class_uri: hc:RESTful
description: |
RESTful API pattern (JSON/XML over HTTP).
GraphQLAPI:
is_a: APIProtocol
class_uri: hc:GraphQLAPI
description: |
GraphQL query language API.
SPARQLEndpoint:
is_a: APIProtocol
class_uri: hc:SPARQLEndpoint
description: |
SPARQL query endpoint for RDF data.
OAIPMHEndpoint:
is_a: APIProtocol
class_uri: hc:OAIPMHEndpoint
description: |
OAI-PMH protocol for metadata harvesting.
IIIFEndpoint:
is_a: APIProtocol
class_uri: hc:IIIFEndpoint
description: |
IIIF (International Image Interoperability Framework) API.
Includes Image API, Presentation API, Content Search API.
# ============================================================
# INFRASTRUCTURE SERVICE TYPES
# ============================================================
InfrastructureService:
is_a: TechnologicalInfrastructureType
class_uri: hc:InfrastructureService
description: |
Cloud or infrastructure service.
Examples: AWS, Azure, GCP, Docker, Kubernetes
CloudProvider:
is_a: InfrastructureService
class_uri: hc:CloudProvider
description: |
Cloud infrastructure provider.
Examples: AWS, Azure, Google Cloud, DigitalOcean, Hetzner
ContainerPlatform:
is_a: InfrastructureService
class_uri: hc:ContainerPlatform
description: |
Container orchestration platform.
Examples: Docker, Kubernetes, Podman, Docker Swarm
# ============================================================
# CONTENT MANAGEMENT TYPES
# ============================================================
ContentManagementSystem:
is_a: TechnologicalInfrastructureType
class_uri: hc:ContentManagementSystem
description: |
Web content management system.
Examples: WordPress, Drupal, Typo3, Omeka
# ============================================================
# DIGITAL REPOSITORY TYPES
# ============================================================
DigitalRepositorySystem:
is_a: TechnologicalInfrastructureType
class_uri: hc:DigitalRepositorySystem
description: |
Digital repository or preservation system.
Examples: Fedora Commons, DSpace, Islandora, Archivematica
annotations:
heritage_relevance: "Primary system type for heritage digital platforms"
# ============================================================
# DISCOVERY LAYER TYPES
# ============================================================
DiscoveryLayer:
is_a: TechnologicalInfrastructureType
class_uri: hc:DiscoveryLayer
description: |
Discovery interface for digital collections.
Examples: Blacklight, VuFind, Primo, Summon
# ============================================================
# INGESTION FRAMEWORK TYPES
# ============================================================
IngestionFramework:
is_a: TechnologicalInfrastructureType
class_uri: hc:IngestionFramework
description: |
Data ingestion and ETL framework.
Examples: Apache Airflow, Metis, Luigi, Prefect
comments:
- "Concrete subclasses of TechnologicalInfrastructureType"
- "Follows Rule 0b: Types (plural) file contains concrete subclasses"
- "Categories cover common heritage platform technology stacks"
- "Created for technology_stack migration per slot_fixes.yaml (2026-01-16)"

View file

@ -0,0 +1,262 @@
# TemperatureDeviation - Structured temperature tolerance/deviation specification
# Created per slot_fixes.yaml migration for: temperature_tolerance
# Migration: temperature_tolerance → allows_or_allowed + TemperatureDeviation
# Creation date: 2026-01-16
# Rule 53: No bespoke slots - use generic, reusable patterns
# Rule 56: Semantic consistency over simplicity
id: https://nde.nl/ontology/hc/class/TemperatureDeviation
name: TemperatureDeviation
title: Temperature Deviation Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
qudt: http://qudt.org/schema/qudt/
brick: https://brickschema.org/schema/Brick#
schema: http://schema.org/
crm: http://www.cidoc-crm.org/cidoc-crm/
wd: http://www.wikidata.org/entity/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_quantity
- ../slots/has_or_had_measurement_unit
- ../slots/has_or_had_description
- ../slots/has_or_had_label
- ./Quantity
- ./MeasureUnit
classes:
TemperatureDeviation:
class_uri: qudt:Tolerance
description: >-
Structured specification of allowed temperature deviation/tolerance.
**DEFINITION**:
Represents the acceptable range of temperature variation from a setpoint,
typically expressed as ±X degrees Celsius (e.g., ±2°C).
**ONTOLOGY MAPPING**:
- class_uri: qudt:Tolerance (QUDT tolerance concept)
- close_mapping: brick:Temperature_Deadband (building automation)
**ISO STANDARD REFERENCE VALUES**:
| Standard | Context | Typical Tolerance |
|----------|---------|-------------------|
| ISO 11799:2015 | Archives | ±2°C daily |
| ISO 18911:2010 | Cold/Frozen Storage | ±2°C |
| BS 4971:2017 | UK Sensitive Materials | ±1°C |
| EN 16893:2018 | Museums | ±2°C recommended |
**PRESERVATION CONTEXT**:
Temperature fluctuations cause dimensional changes in hygroscopic materials
(paper, parchment, leather, textiles). Repeated cycling leads to mechanical
fatigue and cumulative damage. Tighter tolerances are critical for mixed
media objects (e.g., oil paintings on canvas).
**WHY NOT JUST FLOAT?**
Simple float fields like `temperature_tolerance: 2.0` lose important context:
- What's the unit? (Celsius? Fahrenheit?)
- Is this plus/minus or just plus?
- What standard is this based on?
- When was this tolerance established?
**MIGRATION NOTE**:
This class replaces the bespoke `temperature_tolerance` slot (float range).
Used via the generic `allows_or_allowed` slot per Rule 53/56.
**EXAMPLE**:
```yaml
EnvironmentalZone:
allows_or_allowed:
- deviation_value: 2.0
deviation_direction: PLUS_MINUS
has_or_had_measurement_unit:
has_or_had_type: DEGREE_CELSIUS
has_or_had_symbol: "°C"
iso_standard_reference: "ISO 11799:2015"
```
exact_mappings:
- qudt:Tolerance
close_mappings:
- brick:Temperature_Deadband
- crm:E54_Dimension
related_mappings:
- wd:Q11466 # temperature
- schema:additionalProperty
slots:
- has_or_had_quantity
- has_or_had_measurement_unit
- has_or_had_description
- has_or_had_label
attributes:
deviation_value:
range: float
required: true
minimum_value: 0.5
maximum_value: 5.0
description: >-
Numeric value of the allowed deviation (e.g., 2.0 for ±2°C).
Typical ranges:
- 0.5-1.0: Precision cold storage, sensitive materials
- 1.0-2.0: Standard archive/museum storage
- 2.0-3.0: General storage, less sensitive materials
examples:
- value: 2.0
description: Standard tolerance for archive storage (ISO 11799)
- value: 1.0
description: Tight tolerance for sensitive materials (BS 4971)
- value: 0.5
description: Very tight tolerance for precision cold storage
deviation_direction:
range: DeviationDirectionEnum
required: false
ifabsent: 'string(PLUS_MINUS)'
description: >-
Direction of deviation.
- PLUS_MINUS: Symmetric tolerance (±2°C) - most common
- PLUS: Only above target allowed (+2°C)
- MINUS: Only below target allowed (-2°C)
examples:
- value: PLUS_MINUS
description: Symmetric tolerance (±2°C)
- value: PLUS
description: Asymmetric - only positive deviation allowed
iso_standard_reference:
range: string
required: false
description: >-
ISO or other standard this tolerance is based on.
examples:
- value: "ISO 11799:2015"
description: Archive storage standard
- value: "ISO 18911:2010"
description: Cold storage standard
- value: "BS 4971:2017"
description: UK conservation standard
slot_usage:
has_or_had_quantity:
range: Quantity
required: false
inlined: true
description: >-
Alternative structured representation using Quantity class.
For complex scenarios requiring full provenance tracking.
examples:
- value:
quantity_value: 2.0
quantity_type: TEMPERATURE_TOLERANCE
has_or_had_measurement_unit:
has_or_had_type: DEGREE_CELSIUS
has_or_had_symbol: "°C"
description: Structured quantity representation
has_or_had_measurement_unit:
range: MeasureUnit
required: false
inlined: true
description: >-
Unit of measurement (typically degree Celsius).
If not specified, defaults to Celsius per ISO standards.
examples:
- value:
has_or_had_type: DEGREE_CELSIUS
has_or_had_symbol: "°C"
description: Celsius unit (default)
has_or_had_description:
range: string
required: false
description: >-
Additional notes about this tolerance setting.
examples:
- value: "Tighter tolerance required for daguerreotype collection"
has_or_had_label:
range: string
required: false
description: >-
Human-readable label for this tolerance specification.
examples:
- value: "Archive Standard Tolerance"
- value: "Cold Storage Precision Tolerance"
comments:
- MIGRATED from temperature_tolerance slot (float) per Rule 53/56
- Used via allows_or_allowed slot for temporal flexibility
- Companion to humidity_tolerance migration (HumidityDeviation class)
- Setpoint class already handles target values - this handles deviations
see_also:
- https://www.iso.org/standard/63810.html # ISO 11799
- https://www.iso.org/standard/46602.html # ISO 18911
- http://qudt.org/schema/qudt/Tolerance
annotations:
specificity_score: "0.65"
specificity_rationale: "Specialized for environmental control in storage facilities"
qudt_unit: "unit:DEG_C"
ucum_code: "Cel"
iso_reference: "ISO 11799:2015, ISO 18911:2010, BS 4971:2017"
preservation_parameter: "true"
examples:
- value:
deviation_value: 2.0
deviation_direction: PLUS_MINUS
has_or_had_measurement_unit:
has_or_had_type: DEGREE_CELSIUS
has_or_had_symbol: "°C"
iso_standard_reference: "ISO 11799:2015"
has_or_had_label: "Standard Archive Tolerance"
has_or_had_description: "Per ISO 11799:2015 for paper-based materials"
description: Standard archive storage tolerance (±2°C)
- value:
deviation_value: 1.0
deviation_direction: PLUS_MINUS
has_or_had_measurement_unit:
has_or_had_type: DEGREE_CELSIUS
has_or_had_symbol: "°C"
iso_standard_reference: "BS 4971:2017"
has_or_had_label: "Sensitive Materials Tolerance"
description: Tight tolerance for sensitive materials (±1°C)
- value:
deviation_value: 0.5
deviation_direction: PLUS_MINUS
iso_standard_reference: "ISO 18911:2010"
has_or_had_description: "Precision cold storage for film negatives"
description: Very tight tolerance for precision cold storage
enums:
DeviationDirectionEnum:
description: >-
Direction of allowed deviation from a setpoint.
permissible_values:
PLUS_MINUS:
description: Symmetric tolerance - deviation allowed in both directions (±)
PLUS:
description: Asymmetric - only positive deviation allowed (+)
MINUS:
description: Asymmetric - only negative deviation allowed (-)

View file

@ -26,8 +26,9 @@ default_prefix: hc
imports:
- linkml:types
- ../metadata
- ../slots/url_value
- ../slots/url_type
# RiC-O style generic slots - migrated 2026-01-16 per Rule 53
- ../slots/has_or_had_url # was: url_value
- ../slots/has_or_had_type # was: url_type
- ../slots/language
- ../slots/specificity_annotation
- ../slots/template_specificity
@ -72,19 +73,19 @@ classes:
- prov:Entity
slots:
- url_value
- url_type
- has_or_had_url # was: url_value - migrated 2026-01-16 per Rule 53
- has_or_had_type # was: url_type - migrated 2026-01-16 per Rule 53
- language
- specificity_annotation
- template_specificity
slot_usage:
url_value:
has_or_had_url: # was: url_value - migrated 2026-01-16 per Rule 53
description: |
The actual URL string (e.g., https://example.org/).
range: uri
required: true
url_type:
has_or_had_type: # was: url_type - migrated 2026-01-16 per Rule 53
description: |
Classification of the URL type (website, api, archive, etc.).
range: string
@ -106,16 +107,16 @@ classes:
examples:
- value: |
url_value: "https://www.rijksmuseum.nl/"
url_type: website
has_or_had_url: "https://www.rijksmuseum.nl/"
has_or_had_type: website
language: nl
description: "Official website URL for Rijksmuseum"
- value: |
url_value: "https://api.rijksmuseum.nl/api/nl/collection"
url_type: api
has_or_had_url: "https://api.rijksmuseum.nl/api/nl/collection"
has_or_had_type: api
language: nl
description: "API endpoint for Rijksmuseum collection"
- value: |
url_value: "https://web.archive.org/web/20240101/https://example.org/"
url_type: webarchive
has_or_had_url: "https://web.archive.org/web/20240101/https://example.org/"
has_or_had_type: webarchive
description: "Web archive snapshot URL"

View file

@ -108,7 +108,7 @@ classes:
has_or_had_quantity:
numeric_value: 5
has_or_had_measurement_unit:
unit_symbol: "updates"
has_or_had_symbol: "updates"
description: 5 updates per interval
has_or_had_time_interval:

View file

@ -364,7 +364,7 @@ classes:
- value:
quantity_value: 15
has_or_had_measurement_unit:
unit_type: OBJECT
has_or_had_type: OBJECT
has_or_had_methodology:
methodology_type: ENTITY_RESOLUTION
has_or_had_label: "DeepSORT tracking + embedding clustering"
@ -372,7 +372,7 @@ classes:
- value:
quantity_value: 3
has_or_had_measurement_unit:
unit_type: FACE
has_or_had_type: FACE
has_or_had_methodology:
methodology_type: ENTITY_RESOLUTION
has_or_had_label: "ArcFace clustering"
@ -579,15 +579,15 @@ classes:
quantity_value: 28
quantity_type: REGION_COUNT
has_or_had_measurement_unit:
unit_type: TEXT_REGION
unit_symbol: "regions"
has_or_had_type: TEXT_REGION
has_or_had_symbol: "regions"
description: 28 text regions detected
- value:
quantity_value: 3456
quantity_type: CHARACTER_COUNT
has_or_had_measurement_unit:
unit_type: CHARACTER
unit_symbol: "characters"
has_or_had_type: CHARACTER
has_or_had_symbol: "characters"
description: 3,456 characters extracted
includes_handwriting:
range: boolean

View file

@ -93,8 +93,8 @@ classes:
quantity_value: 12
quantity_type: CHAPTER_COUNT
has_or_had_measurement_unit:
unit_type: CHAPTER
unit_symbol: "chapters"
has_or_had_type: CHAPTER
has_or_had_symbol: "chapters"
description: 12 chapters in this video
chapters_source:
range: ChapterSourceEnum

View file

@ -158,8 +158,8 @@ classes:
- value:
area_value: 500.0
has_or_had_unit:
unit_type: SQUARE_METER
unit_symbol: "m²"
has_or_had_type: SQUARE_METER
has_or_had_symbol: "m²"
has_or_had_label: "Warehouse floor area"
description: 500 m² warehouse
has_loading_dock:
@ -246,8 +246,8 @@ classes:
has_or_had_area: # was: warehouse_floor_area_sqm
area_value: 800.0
has_or_had_unit:
unit_type: SQUARE_METER
unit_symbol: "m²"
has_or_had_type: SQUARE_METER
has_or_had_symbol: "m²"
has_loading_dock: true
has_forklift_access: true
has_climate_control: true
@ -270,8 +270,8 @@ classes:
has_or_had_area: # was: warehouse_floor_area_sqm
area_value: 300.0
has_or_had_unit:
unit_type: SQUARE_METER
unit_symbol: "m²"
has_or_had_type: SQUARE_METER
has_or_had_symbol: "m²"
has_loading_dock: true
has_forklift_access: false
has_climate_control: false

View file

@ -31,9 +31,10 @@ default_prefix: hc
imports:
- linkml:types
- ../metadata
- ../slots/wikidata_qid
- ../slots/wikidata_label
- ../slots/wikidata_description
# RiC-O style generic slots - migrated 2026-01-16 per Rule 53
- ../slots/has_or_had_identifier # was: wikidata_qid
- ../slots/has_or_had_label # was: wikidata_label
- ../slots/has_or_had_description # was: wikidata_description
- ../slots/language
- ../slots/specificity_annotation
- ../slots/template_specificity
@ -80,26 +81,27 @@ classes:
- prov:Entity
slots:
- wikidata_qid
- wikidata_label
- wikidata_description
- has_or_had_identifier # was: wikidata_qid - migrated 2026-01-16 per Rule 53
- has_or_had_label # was: wikidata_label - migrated 2026-01-16 per Rule 53
- has_or_had_description # was: wikidata_description - migrated 2026-01-16 per Rule 53
- language
- specificity_annotation
- template_specificity
slot_usage:
wikidata_qid:
has_or_had_identifier: # was: wikidata_qid - migrated 2026-01-16 per Rule 53
description: |
The Wikidata Q-number identifier (e.g., Q12345).
For WikiDataEntry, this is the primary Q-ID reference.
range: string
required: true
pattern: "^Q[0-9]+$"
wikidata_label:
has_or_had_label: # was: wikidata_label - migrated 2026-01-16 per Rule 53
description: |
Human-readable label from Wikidata.
range: string
required: false
wikidata_description:
has_or_had_description: # was: wikidata_description - migrated 2026-01-16 per Rule 53
description: |
Description from Wikidata.
range: string
@ -121,14 +123,14 @@ classes:
examples:
- value: |
wikidata_qid: "Q33506"
wikidata_label: "museum"
wikidata_description: "institution that holds and displays collections"
has_or_had_identifier: "Q33506"
has_or_had_label: "museum"
has_or_had_description: "institution that holds and displays collections"
language: en
description: "Wikidata reference for 'museum' concept"
- value: |
wikidata_qid: "Q190804"
wikidata_label: "Rijksmuseum"
wikidata_description: "Dutch national museum in Amsterdam"
has_or_had_identifier: "Q190804"
has_or_had_label: "Rijksmuseum"
has_or_had_description: "Dutch national museum in Amsterdam"
language: en
description: "Wikidata reference for specific institution"

View file

@ -15,7 +15,7 @@ prefixes:
imports:
- linkml:types
- ./Tag # for tag migration per Rule 53/56 (2026-01-16)
- ./YoutubeComment
- ./YoutubeTranscript
@ -70,11 +70,14 @@ classes:
caption_available:
range: boolean
description: Whether captions are available
tag:
range: string
# was: tag (string) - migrated per Rule 53/56 (2026-01-16)
is_or_was_categorized_as:
range: Tag
multivalued: true
inlined_as_list: true
description: Video tags
description: |
Video tags - migrated from string tag attribute to structured Tag class.
Enables rich tag metadata including platform, hashtag flags, multilingual labels.
default_language:
range: string
description: Default language code

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