Compare commits

...

3 commits

Author SHA1 Message Date
kempersc
f497be98d1 chore: update schema manifest after slot centralization
All checks were successful
Deploy Frontend / build-and-deploy (push) Successful in 3m54s
2026-01-11 23:28:03 +01:00
kempersc
0d5d48568d refactor(schema): centralize slot definitions per Rule 38
- Remove slot_uri, description, mappings from slot_usage sections
- Move these properties to centralized slot files in modules/slots/
- Keep only class-specific overrides in slot_usage (required, inlined, examples)
- Update 1,499 centralized slot files with enriched definitions
- Clean 188 class files

Violations fixed:
- slot_uri in slot_usage: 1,676 → 0
- description in slot_usage: 2,287 → 0 (moved to centralized)

Schema still validates: 816 classes, 2028 slots, 127 enums
2026-01-11 23:27:17 +01:00
kempersc
da5660cf4c chore: update schema manifest timestamp 2026-01-11 23:19:52 +01:00
1639 changed files with 19922 additions and 28926 deletions

View file

@ -1,5 +1,5 @@
{
"generated": "2026-01-11T21:26:38.219Z",
"generated": "2026-01-11T22:27:17.621Z",
"schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 2869,
"categoryCounts": {

View file

@ -1,5 +1,5 @@
{
"generated": "2026-01-11T21:40:23.628Z",
"generated": "2026-01-11T22:27:17.621Z",
"schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 2869,
"categoryCounts": {

View file

@ -70,25 +70,17 @@ classes:
- campus life documentation
slot_usage:
has_or_had_holds_record_set_type:
description: Record set types typically held by academic archives.
equals_expression: |
["hc:UniversityAdministrativeFonds", "hc:StudentRecordSeries", "hc:FacultyPaperCollection", "hc:CampusDocumentationCollection"]
equals_expression: '["hc:UniversityAdministrativeFonds", "hc:StudentRecordSeries", "hc:FacultyPaperCollection", "hc:CampusDocumentationCollection"]
'
wikidata_entity:
description: |
Should be Q27032435 for this type.
Narrower than Q166118 (archive).
pattern: ^Q[0-9]+$
equals_string: Q27032435
has_or_had_archive_scope:
description: |
Typically 'university', 'college', or 'institutional'.
Reflects the educational institution's administrative scope.
has_or_had_custodian_type:
equals_expression: '["hc:ArchiveOrganizationType"]'
wikidata_alignment:
range: WikidataAlignment
inlined: true
description: 'Wikidata alignment: Q27032435 (academic archive)'
broader_concept:
equals_expression: '["wd:Q166118"]'
broader_concept_label:
@ -141,9 +133,11 @@ classes:
range: TypeScopeEntry
multivalued: true
inlined_as_list: true
description: |
Structured scope definitions for AcademicArchiveRecordSetType.
description: 'Structured scope definitions for AcademicArchiveRecordSetType.
Formally documents what types of record sets are classified under this type.
'
comments:
- Collection type class for academic/higher education record sets
- Part of dual-class pattern with AcademicArchive (custodian type)
@ -164,7 +158,6 @@ classes:
wikidata_alignment:
range: WikidataAlignment
inlined: true
description: 'Wikidata alignment: Q27032435 (academic archive)'
dual_class_link:
range: DualClassLink
inlined: true

View file

@ -107,10 +107,6 @@ classes:
- valid_to
slot_usage:
policy_id:
slot_uri: dcterms:identifier
description: 'Unique identifier for this access policy.
'
range: uriorcurie
required: true
identifier: true
@ -118,10 +114,6 @@ classes:
- value: https://nde.nl/ontology/hc/access-policy/open-access
description: Standard open access policy
policy_name:
slot_uri: skos:prefLabel
description: 'Human-readable name for this policy.
'
range: string
required: true
examples:
@ -132,41 +124,6 @@ classes:
- value: Embargoed until 2050
description: Time-limited closure
has_or_had_access_level:
slot_uri: dcterms:accessRights
description: 'Primary access level classification.
Values:
- PUBLIC_OPEN: No restrictions, walk-in access
- PUBLIC_REGISTRATION: Free registration required
- PUBLIC_ONLINE: Digital access freely available
- RESEARCHERS_ONLY: Academic researchers with credentials
- BY_APPOINTMENT: Advance booking required
- STAFF_ONLY: Internal access only
- PERMISSION_REQUIRED: Written permission needed
- TEMPORARILY_CLOSED: Renovation, conservation
- EMBARGOED: Time-limited closure
- PERMANENTLY_CLOSED: Not accessible
- CULTURALLY_SENSITIVE: Indigenous/sacred materials
- PRIVACY_RESTRICTED: Personal data protection
- FRAGILE_HANDLING: Special handling required
- LEGAL_RESTRICTION: Copyright, legal constraints
'
range: string
required: true
examples:
@ -174,10 +131,6 @@ classes:
- value: RESEARCHERS_ONLY
- value: EMBARGOED
has_or_had_access_description:
slot_uri: dcterms:description
description: 'Narrative description of access conditions.
'
range: string
examples:
- value: Open to all visitors during reading room hours (Mon-Fri 9-17)
@ -185,13 +138,6 @@ classes:
- value: Access restricted to academic researchers with institutional has_or_had_affiliation
description: University special collections
condition:
slot_uri: rico:conditionOfAccess
description: 'Specific conditions or requirements for access.
RiC-O: conditionOfAccess for access requirements.
'
range: string
multivalued: true
examples:
@ -201,10 +147,6 @@ classes:
- Bags and coats must be stored in lockers
description: Archive access conditions
rights_statement:
slot_uri: dcterms:rights
description: 'Rights statement text (from RightsStatements.org or similar).
'
range: string
examples:
- value: In Copyright
@ -212,10 +154,6 @@ classes:
- value: No Copyright - United States
description: Public domain (US)
rights_statement_url:
slot_uri: dcterms:rights
description: 'URL to standardized rights statement (RightsStatements.org).
'
range: uri
examples:
- value: http://rightsstatements.org/vocab/InC/1.0/
@ -223,10 +161,6 @@ classes:
- value: http://rightsstatements.org/vocab/NoC-US/1.0/
description: No Copyright - United States
has_appointment_required_flag:
slot_uri: schema:requiresAppointment
description: 'Whether advance appointment is required.
'
range: boolean
examples:
- value: true
@ -234,41 +168,16 @@ classes:
- value: false
description: Walk-in access
registration_required:
slot_uri: schema:eligibleCustomerType
description: 'Whether registration is required (even for free access).
'
range: boolean
examples:
- value: true
description: Must register as reader
credentials_required:
slot_uri: schema:eligibleCustomerType
description: 'Type of credentials required for access.
Values:
- NONE: No credentials needed
- INSTITUTIONAL: Affiliation with research institution
- PROFESSIONAL: Professional membership (archivist, librarian)
- ACADEMIC: Academic degree or enrollment
- GOVERNMENT: Government clearance
'
range: string
examples:
- value: INSTITUTIONAL
description: Must be affiliated with research institution
fee_required:
slot_uri: schema:isAccessibleForFree
description: 'Whether access requires payment.
'
range: boolean
examples:
- value: false
@ -276,10 +185,6 @@ classes:
- value: true
description: Fee required
fee_amount:
slot_uri: schema:price
description: 'Fee amount if access requires payment.
'
range: string
examples:
- value: €5.00 per day
@ -287,22 +192,11 @@ classes:
- value: Free for researchers, €10 for general public
description: Tiered fee structure
embargo_end_date:
slot_uri: premis:endDate
description: 'Date when embargo ends (for EMBARGOED access level).
PREMIS: endDate for rights expiration.
'
range: date
examples:
- value: '2050-01-01'
description: Embargo lifts January 1, 2050
embargo_reason:
slot_uri: premis:determinationBasis
description: 'Reason for embargo (donor restriction, legal, etc.).
'
range: string
examples:
- value: Donor privacy restrictions per deed of gift
@ -310,25 +204,11 @@ classes:
- value: Contains personal data protected under GDPR
description: Privacy law embargo
cultural_protocol_url:
slot_uri: dcterms:conformsTo
description: 'URL to cultural protocol (for CULTURALLY_SENSITIVE materials).
E.g., Local Contexts Traditional Knowledge labels.
'
range: uri
examples:
- value: https://localcontexts.org/tk-labels/
description: Traditional Knowledge labels
legal_basis:
slot_uri: premis:statute
description: 'Legal basis for access restriction.
PREMIS: statute for legal foundation.
'
range: string
examples:
- value: General Data Protection Regulation (GDPR)
@ -336,34 +216,18 @@ classes:
- value: Freedom of Information Act exemption 6
description: US FOIA exemption
review_date:
slot_uri: dcterms:modified
description: 'Date when access policy should be reviewed.
'
range: date
examples:
- value: '2025-12-31'
description: Annual review date
contact_email:
slot_uri: schema:email
description: 'Email contact for access inquiries.
'
range: string
examples:
- value: access@nationaalarchief.nl
description: Access request contact
valid_from:
slot_uri: schema:validFrom
description: 'Date when this policy became effective.
'
range: date
valid_to:
slot_uri: schema:validThrough
description: 'Date when this policy expires (if applicable).
'
range: date
specificity_annotation:
range: SpecificityAnnotation

View file

@ -78,12 +78,6 @@ classes:
- was_generated_by
slot_usage:
has_admin_office_identifier:
slot_uri: dcterms:identifier
description: 'Unique identifier for this administrative office.
Format: URI following NDE Heritage Custodian ontology conventions.
'
range: uriorcurie
required: true
identifier: true
@ -91,16 +85,6 @@ classes:
- value: https://nde.nl/ontology/hc/aux/rijksmuseum-admin-zuidas
description: Rijksmuseum administrative office
has_admin_office_name:
slot_uri: skos:prefLabel
description: 'Name of this administrative office.
SKOS: prefLabel for preferred name.
Typically includes parent organization name + function or location.
'
range: string
required: true
examples:
@ -109,46 +93,11 @@ classes:
- value: Noord-Hollands Archief Finance Department
description: Admin office with function
has_admin_office_description:
slot_uri: dcterms:description
description: 'Free-text description of this administrative office.
Include:
- Functions performed at this location
- Access restrictions
- Relationship to main operations
'
range: string
examples:
- value: Administrative support offices housing finance, HR, and IT departments. Staff access only.
description: Admin office description
has_or_had_administrative_function:
slot_uri: schema:serviceType
description: 'List of administrative functions performed at this location.
Schema.org: serviceType for function classification.
Common functions:
- Finance and accounting
- Human resources
- Information technology
- Legal affairs
- Marketing/communications
- Facilities management
'
range: string
multivalued: true
examples:
@ -159,22 +108,6 @@ classes:
- value: Information technology
description: IT support
has_or_had_access_restriction:
slot_uri: schema:conditionsOfAccess
description: 'Access restriction description for this location.
Schema.org: conditionsOfAccess for access requirements.
Common values:
- "Staff badge required"
- "Appointment only"
- "Management access only"
'
range: string
required: true
ifabsent: string(Staff access only)
@ -184,41 +117,11 @@ classes:
- value: Management access only
description: Restricted access
has_or_had_admin_staff_count:
slot_uri: schema:numberOfEmployees
description: 'Number of staff members working at this administrative location.
Schema.org: numberOfEmployees for staffing level.
'
range: integer
examples:
- value: 25
description: Medium admin office
is_leased:
slot_uri: hc:isLeased
description: 'Whether this administrative office is leased (TRUE) or owned (FALSE).
HC Ontology: Custom property for space tenure status.
Administrative offices are often leased in commercial buildings
rather than owned by the heritage organization. This boolean flag
indicates tenure type:
- TRUE: Space is leased from a third party (rental agreement)
- FALSE: Space is owned by the heritage custodian organization
Note: No standard ontology property exists for boolean tenure status.
Schema.org `owns` expects an object, not a boolean value.
'
range: boolean
examples:
- value: true
@ -226,39 +129,15 @@ classes:
- value: false
description: Owned property
lease_expiry:
slot_uri: schema:validThrough
description: 'Expiry date of lease agreement, if applicable.
Schema.org: validThrough for temporal validity.
Only relevant if is_leased is TRUE.
'
range: date
examples:
- value: '2028-12-31'
description: Lease expires end of 2028
was_derived_from:
slot_uri: prov:wasDerivedFrom
description: 'CustodianObservation(s) from which this administrative office record was derived.
PROV-O: wasDerivedFrom for observation provenance.
'
range: CustodianObservation
multivalued: true
required: false
was_generated_by:
slot_uri: prov:wasGeneratedBy
description: 'ReconstructionActivity that generated this administrative office record.
PROV-O: wasGeneratedBy for generation activity.
'
range: ReconstructionActivity
required: false
specificity_annotation:

View file

@ -24,33 +24,38 @@ classes:
- has_or_had_holds_record_set_type
- specificity_annotation
- template_specificity
description: |
Sound archive specializing in advertising radio productions and commercials.
description: 'Sound archive specializing in advertising radio productions and commercials.
**Wikidata**: Q60658673
**Scope**:
Advertising radio archives preserve:
- Radio commercials and jingles
- Advertising campaigns for radio broadcast
- Production materials (scripts, recordings, masters)
- Historical radio advertising content
**Related Types**:
- SoundArchive (Q2230431) - Broader audio collection type
- RadioArchive (Q109326271) - General radio broadcast archives
- MediaArchive (Q116809817) - Broader media preservation
'
slot_usage:
wikidata_entity:
description: |
Should be Q60658673 for this type.
Narrower than Q2230431 (sound archive).
pattern: ^Q[0-9]+$
equals_string: Q60658673
record_type:
description: |
Typically includes: radio commercials, jingles, advertising scripts,
production masters, broadcast recordings.
specificity_annotation:
range: SpecificityAnnotation
inlined: true
@ -71,8 +76,8 @@ classes:
- RadioArchive
- MediaArchive
AdvertisingRadioArchiveRecordSetType:
description: A rico:RecordSetType for classifying collections of advertising radio productions
and commercials within heritage institutions.
description: A rico:RecordSetType for classifying collections of advertising radio productions and commercials within
heritage institutions.
is_a: CollectionType
class_uri: rico:RecordSetType
slot_usage:
@ -83,7 +88,6 @@ classes:
wikidata_alignment:
range: WikidataAlignment
inlined: true
description: 'Wikidata alignment: Q60658673 ()'
specificity_annotation:
range: SpecificityAnnotation
inlined: true

View file

@ -24,46 +24,62 @@ classes:
- has_or_had_holds_record_set_type
- specificity_annotation
- template_specificity
description: |
Archive specializing in animal sound recordings for research and preservation.
description: 'Archive specializing in animal sound recordings for research and preservation.
**Wikidata**: Q18574935
**Scope**:
Animal sound archives (Tierstimmenarchive) preserve:
- Bioacoustic recordings of wildlife
- Species identification recordings
- Environmental soundscapes with animal vocalizations
- Scientific research recordings
- Educational materials for species identification
**Scientific Context**:
These archives support:
- Biodiversity monitoring and conservation
- Species identification and taxonomy
- Behavioral ecology research
- Environmental impact assessment
- Educational outreach
**Related Types**:
- SoundArchive (Q2230431) - Broader audio collection type
- ScientificArchive (Q27032095) - Research-focused archives
**Notable Examples**:
- Tierstimmenarchiv (Museum für Naturkunde Berlin)
- Macaulay Library (Cornell Lab of Ornithology)
- British Library Sound Archive wildlife collection
'
slot_usage:
wikidata_entity:
description: |
Should be Q18574935 for this type.
Narrower than Q2230431 (sound archive).
pattern: ^Q[0-9]+$
equals_string: Q18574935
record_type:
description: |
Typically includes: bioacoustic recordings, species vocalizations,
environmental soundscapes, field recordings, research data.
specificity_annotation:
range: SpecificityAnnotation
inlined: true
@ -84,8 +100,7 @@ classes:
- SoundArchive
- ScientificArchive
AnimalSoundArchiveRecordSetType:
description: A rico:RecordSetType for classifying collections of animal sound
archive materials within heritage institutions.
description: A rico:RecordSetType for classifying collections of animal sound archive materials within heritage institutions.
is_a: CollectionType
class_uri: rico:RecordSetType
slot_usage:
@ -96,7 +111,6 @@ classes:
wikidata_alignment:
range: WikidataAlignment
inlined: true
description: 'Wikidata alignment: Q18574935 ()'
specificity_annotation:
range: SpecificityAnnotation
inlined: true

View file

@ -12,104 +12,59 @@ prefixes:
as: https://www.w3.org/ns/activitystreams#
default_prefix: hc
imports:
- linkml:types
- ../metadata
- ../slots/motivation_type_id
- ../slots/motivation_type_name
- ../slots/motivation_type_description
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- linkml:types
- ../metadata
- ../slots/motivation_type_id
- ../slots/motivation_type_name
- ../slots/motivation_type_description
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
AnnotationMotivationType:
class_uri: oa:Motivation
abstract: true
description: |
Abstract base class for annotation motivation types in the heritage domain.
**DEFINITION**:
AnnotationMotivationType represents CATEGORIES of motivations for creating
annotations. Each subclass defines a specific purpose or intent behind
annotation creation.
**W3C WEB ANNOTATION ALIGNMENT**:
The W3C Web Annotation Data Model defines `oa:Motivation` as:
> The class for Motivation resources that describe the user's intent
> or motivation for the creation of the Annotation.
The `oa:Motivation` class is a subclass of `skos:Concept`:
```turtle
oa:Motivation a rdfs:Class ;
rdfs:subClassOf skos:Concept .
```
**STANDARD MOTIVATIONS** (from W3C Web Annotation):
| Motivation | URI | Description |
|------------|-----|-------------|
| classifying | oa:classifying | Categorizing or classifying content |
| commenting | oa:commenting | Adding commentary |
| describing | oa:describing | Adding descriptive information |
| identifying | oa:identifying | Identifying depicted entities |
| linking | oa:linking | Linking to external resources |
| tagging | oa:tagging | Adding tags or keywords |
**HERITAGE-SPECIFIC EXTENSIONS**:
Beyond W3C standard motivations, heritage institutions require:
| Motivation | Purpose | Use Case |
|------------|---------|----------|
| AccessibilityMotivation | Accessibility support | Alt-text, captions, audio descriptions |
| DiscoveryMotivation | Search and discovery | SEO, facets, keywords |
| PreservationMotivation | Digital preservation | Checksums, format migration notes |
| ResearchMotivation | Research support | Citations, analysis, scholarly notes |
**CIDOC-CRM ALIGNMENT**:
Annotation motivations relate to CIDOC-CRM attribute assignments:
- `crm:E13_Attribute_Assignment` - The act of assigning information
- `crm:P17_was_motivated_by` - The motivation for an activity
**PROV-O ALIGNMENT**:
- `prov:Activity` - Annotations as activities with motivations
- `prov:wasMotivatedBy` (proposed) - Relates activity to motivation
**SUBCLASSES**:
See AnnotationMotivationTypes.yaml for 10 concrete motivation subclasses:
- ClassifyingMotivation, DescribingMotivation, IdentifyingMotivation
- TaggingMotivation, LinkingMotivation, CommentingMotivation
- AccessibilityMotivation, DiscoveryMotivation, PreservationMotivation, ResearchMotivation
description: "Abstract base class for annotation motivation types in the heritage domain.\n\n**DEFINITION**:\n\nAnnotationMotivationType\
\ represents CATEGORIES of motivations for creating\nannotations. Each subclass defines a specific purpose or intent\
\ behind\nannotation creation.\n\n**W3C WEB ANNOTATION ALIGNMENT**:\n\nThe W3C Web Annotation Data Model defines `oa:Motivation`\
\ as:\n> The class for Motivation resources that describe the user's intent\n> or motivation for the creation of the\
\ Annotation.\n\nThe `oa:Motivation` class is a subclass of `skos:Concept`:\n```turtle\noa:Motivation a rdfs:Class ;\n\
\ rdfs:subClassOf skos:Concept .\n```\n\n**STANDARD MOTIVATIONS** (from W3C Web Annotation):\n\n| Motivation | URI\
\ | Description |\n|------------|-----|-------------|\n| classifying | oa:classifying | Categorizing or classifying\
\ content |\n| commenting | oa:commenting | Adding commentary |\n| describing | oa:describing | Adding descriptive information\
\ |\n| identifying | oa:identifying | Identifying depicted entities |\n| linking | oa:linking | Linking to external\
\ resources |\n| tagging | oa:tagging | Adding tags or keywords |\n\n**HERITAGE-SPECIFIC EXTENSIONS**:\n\nBeyond W3C\
\ standard motivations, heritage institutions require:\n\n| Motivation | Purpose | Use Case |\n|------------|---------|----------|\n\
| AccessibilityMotivation | Accessibility support | Alt-text, captions, audio descriptions |\n| DiscoveryMotivation\
\ | Search and discovery | SEO, facets, keywords |\n| PreservationMotivation | Digital preservation | Checksums, format\
\ migration notes |\n| ResearchMotivation | Research support | Citations, analysis, scholarly notes |\n\n**CIDOC-CRM\
\ ALIGNMENT**:\n\nAnnotation motivations relate to CIDOC-CRM attribute assignments:\n- `crm:E13_Attribute_Assignment`\
\ - The act of assigning information\n- `crm:P17_was_motivated_by` - The motivation for an activity\n\n**PROV-O ALIGNMENT**:\n\
\n- `prov:Activity` - Annotations as activities with motivations\n- `prov:wasMotivatedBy` (proposed) - Relates activity\
\ to motivation\n\n**SUBCLASSES**:\n\nSee AnnotationMotivationTypes.yaml for 10 concrete motivation subclasses:\n- ClassifyingMotivation,\
\ DescribingMotivation, IdentifyingMotivation\n- TaggingMotivation, LinkingMotivation, CommentingMotivation\n- AccessibilityMotivation,\
\ DiscoveryMotivation, PreservationMotivation, ResearchMotivation\n"
exact_mappings:
- oa:Motivation
- oa:Motivation
close_mappings:
- skos:Concept
- skos:Concept
related_mappings:
- crm:E55_Type
- prov:Influence
- as:Object
- crm:E55_Type
- prov:Influence
- as:Object
slots:
- motivation_type_id
- motivation_type_name
- motivation_type_description
- specificity_annotation
- template_specificity
- motivation_type_id
- motivation_type_name
- motivation_type_description
- specificity_annotation
- template_specificity
slot_usage:
motivation_type_id:
identifier: true
required: true
description: Unique identifier for this motivation type
motivation_type_name:
required: true
description: |
Canonical name for this motivation type.
Used for display and cross-referencing.
specificity_annotation:
range: SpecificityAnnotation
inlined: true
@ -117,11 +72,11 @@ classes:
range: TemplateSpecificityScores
inlined: true
comments:
- Abstract base class - use specific subclasses (ClassifyingMotivation, etc.)
- Represents MOTIVATION TYPES, not individual motivation instances
- Aligns with W3C Web Annotation oa:Motivation class
- Heritage-specific extensions beyond W3C standard motivations
- Abstract base class - use specific subclasses (ClassifyingMotivation, etc.)
- Represents MOTIVATION TYPES, not individual motivation instances
- Aligns with W3C Web Annotation oa:Motivation class
- Heritage-specific extensions beyond W3C standard motivations
see_also:
- https://www.w3.org/TR/annotation-vocab/#motivation
- https://www.w3.org/ns/oa#Motivation
- http://www.cidoc-crm.org/cidoc-crm/E55_Type
- https://www.w3.org/TR/annotation-vocab/#motivation
- https://www.w3.org/ns/oa#Motivation
- http://www.cidoc-crm.org/cidoc-crm/E55_Type

View file

@ -27,21 +27,16 @@ imports:
classes:
CustodianAppellation:
class_uri: crm:E41_Appellation
description: "An alternative name or label variant for a CustodianName.\nCustodianAppellation\
\ represents names that are NOT the most common emic \ndesignator but are still\
\ used to refer to the custodian.\n\nCRITICAL: CustodianAppellations are linked\
\ to CustodianName (NOT directly to Custodian).\nOnly CustodianIdentifier can\
\ identify the Custodian hub.\n\nCIDOC-CRM E41_Appellation: Any identifier expressed\
\ as text (names, titles, labels).\nSKOS: altLabel for alternative lexical labels\
\ (trading names, colloquial names, abbreviations).\n\n**Use for**: \n- Alternative\
\ names and abbreviations (e.g., \"BnF\" for \"Bibliothèque nationale de France\"\
)\n- Translations and multilingual variants\n- Historical names and spelling\
\ variants\n- Colloquial/informal names\n\n**Connection Architecture**:\n- CustodianName\
\ (preferred label) → skos:altLabel → CustodianAppellation (variants)\n- Enables\
\ multiple variant appellations per canonical name\n\n**Enables**:\n- Multilingual\
\ name representation (via appellation_language)\n- Name type classification\
\ (official, vernacular, historical, translation)\n- Relationship to naming\
\ authority\n- Temporal validity (when name was used)\n"
description: "An alternative name or label variant for a CustodianName.\nCustodianAppellation represents names that are\
\ NOT the most common emic \ndesignator but are still used to refer to the custodian.\n\nCRITICAL: CustodianAppellations\
\ are linked to CustodianName (NOT directly to Custodian).\nOnly CustodianIdentifier can identify the Custodian hub.\n\
\nCIDOC-CRM E41_Appellation: Any identifier expressed as text (names, titles, labels).\nSKOS: altLabel for alternative\
\ lexical labels (trading names, colloquial names, abbreviations).\n\n**Use for**: \n- Alternative names and abbreviations\
\ (e.g., \"BnF\" for \"Bibliothèque nationale de France\")\n- Translations and multilingual variants\n- Historical names\
\ and spelling variants\n- Colloquial/informal names\n\n**Connection Architecture**:\n- CustodianName (preferred label)\
\ → skos:altLabel → CustodianAppellation (variants)\n- Enables multiple variant appellations per canonical name\n\n\
**Enables**:\n- Multilingual name representation (via appellation_language)\n- Name type classification (official, vernacular,\
\ historical, translation)\n- Relationship to naming authority\n- Temporal validity (when name was used)\n"
exact_mappings:
- crm:E41_Appellation
close_mappings:
@ -59,36 +54,14 @@ classes:
- variant_of_name
slot_usage:
has_appellation_value:
slot_uri: rdf:value
description: |
The actual name/label string.
RDF: value property for literal content of structured object.
range: string
required: true
has_appellation_language:
slot_uri: dcterms:language
description: |
Language of the appellation (ISO 639-1 code).
Dublin Core: language property for linguistic metadata.
range: string
pattern: ^[a-z]{2}$
has_appellation_type:
slot_uri: crm:P2_has_type
description: |
Type of appellation (official, vernacular, historical, translation).
CIDOC-CRM: P2_has_type links to E55_Type classification.
range: AppellationTypeEnum
variant_of_name:
slot_uri: skos:broader
description: |
Link back to the CustodianName that this appellation is a variant of.
SKOS: broader links alternative label back to its preferred concept.
This is the inverse of skos:altLabel relationship:
- CustodianName → skos:altLabel → CustodianAppellation
- CustodianAppellation → skos:broader → CustodianName
Domain: E41_Appellation → Range: CustodianName (SKOS Concept).
range: CustodianName
required: false
specificity_annotation:

View file

@ -25,34 +25,22 @@ classes:
- has_or_had_holds_record_set_type
- specificity_annotation
- template_specificity
description: "Archive that safeguards architectural heritage through preservation\
\ of \narchitectural drawings, plans, models, and related documentation.\n\n\
**Wikidata**: Q121409581\n\n**Scope**:\nArchitectural archives preserve:\n-\
\ Architectural drawings and blueprints\n- Building plans and specifications\n\
- Scale models and maquettes\n- Photographs of buildings and construction\n\
- Correspondence and contracts\n- Architects' personal papers (Nachlass)\n-\
\ Design competitions documentation\n\n**Related Types**:\n- ArchivesForBuildingRecords\
\ (Q136027937) - Public building permits/records\n- ArtArchive (Q27032254) -\
\ Broader art documentation\n\n**Notable Examples**:\n- Canadian Centre for\
\ Architecture (CCA)\n- Deutsches Architekturmuseum archives\n- RIBA Architecture\
\ Library and Collections\n- Het Nieuwe Instituut (Netherlands)\n\n**Dual-Class\
\ Pattern**:\nThis class represents the CUSTODIAN type (the archive organization).\n\
For the collection type, see `ArchitecturalRecordSetType` (rico:RecordSetType).\n\
\n**Ontological Alignment**:\n- **SKOS**: skos:Concept with skos:broader Q166118\
\ (archive)\n- **Schema.org**: schema:ArchiveOrganization\n- **RiC-O**: rico:CorporateBody\
\ (as agent)\n\n**Multilingual Labels**:\n- de: Architekturarchiv\n- fr: archives\
\ architecturales\n- nl: architectonisch archief\n"
description: "Archive that safeguards architectural heritage through preservation of \narchitectural drawings, plans,\
\ models, and related documentation.\n\n**Wikidata**: Q121409581\n\n**Scope**:\nArchitectural archives preserve:\n-\
\ Architectural drawings and blueprints\n- Building plans and specifications\n- Scale models and maquettes\n- Photographs\
\ of buildings and construction\n- Correspondence and contracts\n- Architects' personal papers (Nachlass)\n- Design\
\ competitions documentation\n\n**Related Types**:\n- ArchivesForBuildingRecords (Q136027937) - Public building permits/records\n\
- ArtArchive (Q27032254) - Broader art documentation\n\n**Notable Examples**:\n- Canadian Centre for Architecture (CCA)\n\
- Deutsches Architekturmuseum archives\n- RIBA Architecture Library and Collections\n- Het Nieuwe Instituut (Netherlands)\n\
\n**Dual-Class Pattern**:\nThis class represents the CUSTODIAN type (the archive organization).\nFor the collection\
\ type, see `ArchitecturalRecordSetType` (rico:RecordSetType).\n\n**Ontological Alignment**:\n- **SKOS**: skos:Concept\
\ with skos:broader Q166118 (archive)\n- **Schema.org**: schema:ArchiveOrganization\n- **RiC-O**: rico:CorporateBody\
\ (as agent)\n\n**Multilingual Labels**:\n- de: Architekturarchiv\n- fr: archives architecturales\n- nl: architectonisch\
\ archief\n"
slot_usage:
wikidata_entity:
description: |
Should be Q121409581 for this type.
Narrower than Q166118 (archive).
pattern: ^Q[0-9]+$
equals_string: Q121409581
record_type:
description: |
Typically includes: architectural drawings, blueprints, building plans,
models, photographs, specifications, correspondence, competition entries.
has_or_had_custodian_type:
equals_expression: '["hc:ArchiveOrganizationType"]'
specificity_annotation:
@ -75,8 +63,7 @@ classes:
- ArchivesForBuildingRecords
- ArtArchive
ArchitecturalArchiveRecordSetType:
description: A rico:RecordSetType for classifying collections of architectural
archive materials within heritage institutions.
description: A rico:RecordSetType for classifying collections of architectural archive materials within heritage institutions.
is_a: CollectionType
class_uri: rico:RecordSetType
slot_usage:
@ -85,7 +72,6 @@ classes:
wikidata_alignment:
range: WikidataAlignment
inlined: true
description: 'Wikidata alignment: Q121409581 ()'
specificity_annotation:
range: SpecificityAnnotation
inlined: true

View file

@ -16,42 +16,28 @@ classes:
ArchivalLibrary:
is_a: OrganizationBranch
class_uri: org:OrganizationalUnit
description: "Library that is part of or associated with an archive, providing\
\ reference \nmaterials and published works to support archival research.\n\n\
**Wikidata**: Q25504402\n\n**IMPORTANT: This is an OrganizationBranch, NOT a\
\ standalone CustodianType**\n\nArchival libraries are organizational units\
\ (branches/sections) within a \nlarger Archive custodian. They do NOT exist\
\ independently - they are always\nembedded within an archive organization.\n\
\n**Scope**:\nArchival libraries (Archivbibliotheken) hold:\n- Reference works\
\ for archival research\n- Published guides and finding aids\n- Local history\
\ publications\n- Genealogical reference materials\n- Legal and administrative\
\ handbooks\n- Periodicals related to archive holdings\n\n**Organizational Context**:\n\
Archival libraries are typically:\n- Embedded within larger archive organizations\
\ (as org:OrganizationalUnit)\n- Supporting the research mission of the parent\
\ archive\n- Providing context for archival collections\n- Serving both staff\
\ and external researchers\n\n**Branch Relationship**:\n- Use `is_branch_of`\
\ to link to the parent Archive custodian\n- Use `branch_type` = BRANCH_LIBRARY\
\ for classification\n\n**Related Types**:\n- Archive (Q166118) - Parent archive\
\ organization\n- SpecialCollection (Q4431094) - Specialized library holdings\n\
- OrganizationBranch - Parent class for organizational units\n\n**Dual-Class\
\ Pattern**:\nThis class represents the BRANCH type (the library unit within\
\ an archive).\nFor the collection type, see `ArchivalLibraryRecordSetType`\
\ (rico:RecordSetType).\n\n**Ontological Alignment**:\n- **W3C ORG**: org:OrganizationalUnit\
\ (branch of parent archive)\n- **Schema.org**: schema:Library (hybrid archive-library)\n\
- **RiC-O**: rico:CorporateBody (as agent)\n\n**Multilingual Labels**:\n- de:\
\ Archivbibliothek\n- es: biblioteca de archivo\n- fr: bibliothèque liée à une\
\ institution conservant des archives\n"
description: "Library that is part of or associated with an archive, providing reference \nmaterials and published works\
\ to support archival research.\n\n**Wikidata**: Q25504402\n\n**IMPORTANT: This is an OrganizationBranch, NOT a standalone\
\ CustodianType**\n\nArchival libraries are organizational units (branches/sections) within a \nlarger Archive custodian.\
\ They do NOT exist independently - they are always\nembedded within an archive organization.\n\n**Scope**:\nArchival\
\ libraries (Archivbibliotheken) hold:\n- Reference works for archival research\n- Published guides and finding aids\n\
- Local history publications\n- Genealogical reference materials\n- Legal and administrative handbooks\n- Periodicals\
\ related to archive holdings\n\n**Organizational Context**:\nArchival libraries are typically:\n- Embedded within larger\
\ archive organizations (as org:OrganizationalUnit)\n- Supporting the research mission of the parent archive\n- Providing\
\ context for archival collections\n- Serving both staff and external researchers\n\n**Branch Relationship**:\n- Use\
\ `is_branch_of` to link to the parent Archive custodian\n- Use `branch_type` = BRANCH_LIBRARY for classification\n\n\
**Related Types**:\n- Archive (Q166118) - Parent archive organization\n- SpecialCollection (Q4431094) - Specialized\
\ library holdings\n- OrganizationBranch - Parent class for organizational units\n\n**Dual-Class Pattern**:\nThis class\
\ represents the BRANCH type (the library unit within an archive).\nFor the collection type, see `ArchivalLibraryRecordSetType`\
\ (rico:RecordSetType).\n\n**Ontological Alignment**:\n- **W3C ORG**: org:OrganizationalUnit (branch of parent archive)\n\
- **Schema.org**: schema:Library (hybrid archive-library)\n- **RiC-O**: rico:CorporateBody (as agent)\n\n**Multilingual\
\ Labels**:\n- de: Archivbibliothek\n- es: biblioteca de archivo\n- fr: bibliothèque liée à une institution conservant\
\ des archives\n"
slot_usage:
branch_type:
description: |
MUST be 'BRANCH_LIBRARY' for ArchivalLibrary instances.
Indicates this is a library unit within an archive organization.
equals_string: BRANCH_LIBRARY
required: true
is_branch_of:
description: |
Reference to the parent Archive custodian.
All ArchivalLibrary instances MUST be linked to a parent archive.
required: true
has_or_had_custodian_type:
equals_expression: '["hc:ArchiveOrganizationType", "hc:LibraryType"]'
@ -81,8 +67,7 @@ classes:
- specificity_annotation
- template_specificity
ArchivalLibraryRecordSetType:
description: A rico:RecordSetType for classifying collections of archival library
materials within heritage institutions.
description: A rico:RecordSetType for classifying collections of archival library materials within heritage institutions.
is_a: CollectionType
class_uri: rico:RecordSetType
slot_usage:
@ -91,7 +76,6 @@ classes:
wikidata_alignment:
range: WikidataAlignment
inlined: true
description: 'Wikidata alignment: Q25504402 ()'
specificity_annotation:
range: SpecificityAnnotation
inlined: true

View file

@ -15,48 +15,29 @@ classes:
ArchiveAssociation:
is_a: HeritageSocietyType
class_uri: skos:Concept
description: "Booster, history, and heritage societies that support archival institutions\n\
through advocacy, fundraising, volunteer programs, and public engagement.\n\n\
**Wikidata**: Q130427366\n\n**IMPORTANT: This is a HeritageSocietyType, NOT\
\ an ArchiveOrganizationType**\n\nArchive associations are HERITAGE SOCIETIES\
\ (membership organizations) that \nsupport archives, not archives themselves.\
\ The key distinction:\n- **ArchiveOrganizationType**: Actual archive institutions\
\ holding records\n- **HeritageSocietyType (this class)**: Volunteer/membership\
\ organizations supporting archives\n\n**Scope**:\nArchive associations (Archivvereine)\
\ provide:\n- Advocacy for archival institutions\n- Fundraising and donor cultivation\n\
- Volunteer recruitment and coordination\n- Public programming and outreach\n\
- Membership programs\n- Publication of newsletters and journals\n- Support\
\ for acquisitions and preservation\n\n**Organizational Role**:\nThese are typically:\n\
- \"Friends of the Archives\" organizations\n- Historical societies supporting\
\ local archives\n- Professional associations for archivists\n- Advocacy groups\
\ for archival funding\n\n**Heritage Society Focus**:\nUse `society_focus` slot\
\ to describe the archive(s) supported.\nUse `community_engagement` to document\
\ advocacy and outreach activities.\n\n**Related Types**:\n- HeritageSocietyType\
\ - Parent class for heritage support organizations\n- Archive (Q166118) - The\
\ institutions they support (NOT the same thing)\n\n**Primary Type**: \nMaps\
\ to 'S' (COLLECTING_SOCIETY) in GLAMORCUBESFIXPHDNT taxonomy,\nNOT 'A' (ARCHIVE)\
\ - these are support organizations, not archives themselves.\n\n**Ontological\
\ Alignment**:\n- **SKOS**: skos:Concept with skos:broader HeritageSocietyType\n\
- **Schema.org**: schema:Organization, schema:NGO\n- **RiC-O**: rico:CorporateBody\
\ (as agent)\n\n**Multilingual Labels**:\n- de: Archivverein\n- fr: Association\
description: "Booster, history, and heritage societies that support archival institutions\nthrough advocacy, fundraising,\
\ volunteer programs, and public engagement.\n\n**Wikidata**: Q130427366\n\n**IMPORTANT: This is a HeritageSocietyType,\
\ NOT an ArchiveOrganizationType**\n\nArchive associations are HERITAGE SOCIETIES (membership organizations) that \n\
support archives, not archives themselves. The key distinction:\n- **ArchiveOrganizationType**: Actual archive institutions\
\ holding records\n- **HeritageSocietyType (this class)**: Volunteer/membership organizations supporting archives\n\n\
**Scope**:\nArchive associations (Archivvereine) provide:\n- Advocacy for archival institutions\n- Fundraising and donor\
\ cultivation\n- Volunteer recruitment and coordination\n- Public programming and outreach\n- Membership programs\n\
- Publication of newsletters and journals\n- Support for acquisitions and preservation\n\n**Organizational Role**:\n\
These are typically:\n- \"Friends of the Archives\" organizations\n- Historical societies supporting local archives\n\
- Professional associations for archivists\n- Advocacy groups for archival funding\n\n**Heritage Society Focus**:\n\
Use `society_focus` slot to describe the archive(s) supported.\nUse `community_engagement` to document advocacy and\
\ outreach activities.\n\n**Related Types**:\n- HeritageSocietyType - Parent class for heritage support organizations\n\
- Archive (Q166118) - The institutions they support (NOT the same thing)\n\n**Primary Type**: \nMaps to 'S' (COLLECTING_SOCIETY)\
\ in GLAMORCUBESFIXPHDNT taxonomy,\nNOT 'A' (ARCHIVE) - these are support organizations, not archives themselves.\n\n\
**Ontological Alignment**:\n- **SKOS**: skos:Concept with skos:broader HeritageSocietyType\n- **Schema.org**: schema:Organization,\
\ schema:NGO\n- **RiC-O**: rico:CorporateBody (as agent)\n\n**Multilingual Labels**:\n- de: Archivverein\n- fr: Association\
\ des amis des archives\n"
slot_usage:
society_focus:
description: |
Description of the archive(s) and archival causes this association supports.
Example: "Friends of the State Archives, advocating for adequate funding
and public access to state government records."
required: true
wikidata_entity:
description: |
Should be Q130427366 for this type.
Related to Q166118 (archive) but represents support organization.
pattern: ^Q[0-9]+$
equals_string: Q130427366
community_engagement:
description: |
Advocacy, public programming, and engagement activities.
Key focus for archive associations as support organizations.
has_or_had_custodian_type:
equals_expression: '["hc:ArchiveOrganizationType", "hc:HeritageSocietyType"]'
specificity_annotation:

View file

@ -21,46 +21,30 @@ classes:
ArchiveNetwork:
is_a: ArchiveOrganizationType
class_uri: schema:ArchiveOrganization
description: "Consortium or network of archives cooperating for shared services,\n\
resource sharing, and coordinated collection development.\n\n**Wikidata**: Q96636857\n\
\n**Geographic Restriction**: France only\n\nThis type is ONLY valid for French\
\ archive networks. The `applicable_countries`\nslot MUST contain \"FR\". Validation\
\ rules enforce this geographic constraint.\n\nThe concept of \"Archivverbund\"\
\ (archive network) as a formal consortium \nis primarily a French organizational\
\ pattern. Use this type ONLY for \nFrench archive networks.\n\nFor other countries,\
\ use:\n- EncompassingBody for general consortium/network patterns\n- JointArchives\
\ for archives with shared holdings\n\n**Scope**:\nArchive networks (Archivverbünde)\
\ provide:\n- Shared cataloging and discovery systems\n- Coordinated collection\
\ development\n- Joint digitization projects\n- Shared preservation infrastructure\n\
- Professional development and training\n- Advocacy and policy coordination\n\
- Inter-institutional loan and access programs\n\n**Organizational Structure**:\n\
Archive networks typically:\n- Have formal membership agreements\n- Maintain\
\ shared technical infrastructure\n- Coordinate collection policies to avoid\
\ duplication\n- Provide unified access points for researchers\n- Share costs\
\ for expensive preservation activities\n\n**Related Types**:\n- EncompassingBody\
\ - Broader organizational umbrella concept\n- JointArchives (Q117442301) -\
\ Archives with shared holdings\n\n**Linkage to EncompassingBody**:\nArchive\
\ networks function as encompassing bodies for member archives.\nUse `encompassing_body_link`\
\ slot to connect to EncompassingBody class.\n\n**Notable Examples** (France):\n\
- Archives Portal Europe network (French participation)\n- Regional archival\
\ consortia in France\n\n**Ontological Alignment**:\n- **SKOS**: skos:Concept\
\ with skos:broader Q166118 (archive)\n- **Schema.org**: schema:Organization\n\
- **RiC-O**: rico:CorporateBody (as agent)\n- **ORG**: org:Organization (consortium)\n\
\n**Multilingual Labels**:\n- de: Archivverbund\n- fr: réseau d'archives\n-\
\ it: rete di archivi\n"
description: "Consortium or network of archives cooperating for shared services,\nresource sharing, and coordinated collection\
\ development.\n\n**Wikidata**: Q96636857\n\n**Geographic Restriction**: France only\n\nThis type is ONLY valid for\
\ French archive networks. The `applicable_countries`\nslot MUST contain \"FR\". Validation rules enforce this geographic\
\ constraint.\n\nThe concept of \"Archivverbund\" (archive network) as a formal consortium \nis primarily a French organizational\
\ pattern. Use this type ONLY for \nFrench archive networks.\n\nFor other countries, use:\n- EncompassingBody for general\
\ consortium/network patterns\n- JointArchives for archives with shared holdings\n\n**Scope**:\nArchive networks (Archivverbünde)\
\ provide:\n- Shared cataloging and discovery systems\n- Coordinated collection development\n- Joint digitization projects\n\
- Shared preservation infrastructure\n- Professional development and training\n- Advocacy and policy coordination\n\
- Inter-institutional loan and access programs\n\n**Organizational Structure**:\nArchive networks typically:\n- Have\
\ formal membership agreements\n- Maintain shared technical infrastructure\n- Coordinate collection policies to avoid\
\ duplication\n- Provide unified access points for researchers\n- Share costs for expensive preservation activities\n\
\n**Related Types**:\n- EncompassingBody - Broader organizational umbrella concept\n- JointArchives (Q117442301) - Archives\
\ with shared holdings\n\n**Linkage to EncompassingBody**:\nArchive networks function as encompassing bodies for member\
\ archives.\nUse `encompassing_body_link` slot to connect to EncompassingBody class.\n\n**Notable Examples** (France):\n\
- Archives Portal Europe network (French participation)\n- Regional archival consortia in France\n\n**Ontological Alignment**:\n\
- **SKOS**: skos:Concept with skos:broader Q166118 (archive)\n- **Schema.org**: schema:Organization\n- **RiC-O**: rico:CorporateBody\
\ (as agent)\n- **ORG**: org:Organization (consortium)\n\n**Multilingual Labels**:\n- de: Archivverbund\n- fr: réseau\
\ d'archives\n- it: rete di archivi\n"
slots:
- has_or_had_custodian_type
- specificity_annotation
- template_specificity
slot_usage:
has_applicable_country:
description: |
**Geographic Restriction**: France only.
This type is specific to French archive network patterns.
The slot MUST contain "FR".
The `rules` section below enforces this constraint during validation.
ifabsent: string(FR)
required: true
minimum_cardinality: 1

View file

@ -83,19 +83,9 @@ classes:
- template_specificity
slot_usage:
wikidata_entity:
description: 'Wikidata Q-number for specific archive type.
Base concept: Q166118 (archive).
Narrower types: Q1188452 (national archive), Q8362876 (municipal archive), etc.
'
pattern: ^Q[0-9]+$
required: true
custodian_type_broader:
description: 'For archive subtypes, typically links to Q166118 (archive) or another broader archive type.
'
range: ArchiveOrganizationType
required: false
has_or_had_custodian_type:

View file

@ -160,507 +160,151 @@ classes:
id:
identifier: true
required: true
description: 'Unique identifier for this articles of association record (URI).
Format: https://nde.nl/ontology/hc/articles/{custodian-id}/{version}
'
document_title:
slot_uri: dcterms:title
range: string
required: true
description: 'Official title of the document.
**Examples**:
- "Statuten Stichting Rijksmuseum"
- "Akte van oprichting Stichting Noord-Hollands Archief"
- "Articles of Association of The Wallace Collection"
- "Satzung des Deutschen Museums"
'
document_description:
slot_uri: dcterms:description
range: string
required: false
description: 'Narrative description of the articles, including key provisions
and any notable characteristics.
'
document_type:
slot_uri: dcterms:type
range: string
required: true
description: 'Type of founding document.
**Values**:
- NOTARIAL_DEED: Executed by notary (Dutch stichting, BV)
- CONSTITUTION: Constitutional document (UK CIO)
- ARTICLES_OF_INCORPORATION: US incorporation document
- BYLAWS: Organizational bylaws
- PARTNERSHIP_AGREEMENT: For partnerships (VOF, maatschap)
- CHARTER: Royal or governmental charter
- SATZUNG: German statute form
- STATUTS: French statute form
'
examples:
- value: NOTARIAL_DEED
description: Dutch notarial deed for stichting
execution_date:
slot_uri: dcterms:created
range: date
required: true
description: 'Date when the document was executed/signed.
**Dublin Core**: dcterms:created for document creation.
**IMPORTANT**: For notarial deeds, this is when the notary
executed the deed, which may PRECEDE organizational registration.
'
examples:
- value: '2024-03-15'
description: Date notary executed the deed
effective_date:
slot_uri: schema:datePublished
range: date
required: false
description: 'Date when the articles became legally effective.
For organizations requiring registration, this is typically
the registration date, NOT the execution date.
effective_date >= execution_date
'
examples:
- value: '2024-03-18'
description: Date of KvK registration (3 days after execution)
notary_name:
slot_uri: prov:wasAttributedTo
range: string
required: false
description: 'Name of the notary who executed the deed.
Required for notarial deeds (Dutch stichting, BV, etc.).
**PROV-O**: prov:wasAttributedTo for attribution.
'
examples:
- value: mr. J.A. van der Berg
description: Dutch notary with title 'mr.'
notary_office:
slot_uri: schema:location
range: string
required: false
description: 'Location/office of the notary (city or full address).
'
examples:
- value: Amsterdam
description: City where notary office is located
notarial_deed_number:
slot_uri: dcterms:identifier
range: string
required: false
description: 'Registration number of the notarial deed.
Format varies by jurisdiction and notary office.
'
examples:
- value: 2024/0315/001
description: Notarial deed reference number
version_number:
slot_uri: dcterms:hasVersion
range: integer
required: false
description: 'Version number of the articles.
Original articles = 1, first amendment = 2, etc.
**Dublin Core**: dcterms:hasVersion for versioning.
'
examples:
- value: 1
description: Original founding articles
- value: 3
description: Third version (two amendments)
is_current_version:
slot_uri: schema:isAccessibleForFree
range: boolean
required: true
description: 'Indicates whether this is the current/active version of articles.
Only ONE version should be current at any time.
When articles are amended:
1. Set is_current_version = false on old version
2. Set superseded_by on old version
3. Create new version with is_current_version = true
4. Set supersedes on new version
'
supersede:
slot_uri: dcterms:replaces
range: ArticlesOfAssociation
required: false
description: 'Previous version that this version supersedes.
**Dublin Core**: dcterms:replaces for version succession.
Creates chain: v3 supersedes v2 supersedes v1
'
superseded_by:
slot_uri: dcterms:isReplacedBy
range: ArticlesOfAssociation
required: false
description: 'Newer version that supersedes this version.
**Dublin Core**: dcterms:isReplacedBy for version succession.
If populated, is_current_version MUST be false.
'
purpose_clause:
slot_uri: schema:purpose
range: string
required: false
description: "The purpose/objects clause (doelstelling) from the articles.\n\nThis defines the organization's permitted\
\ activities.\n\n**Heritage custodian example**:\n\"De stichting heeft ten doel het beheren, behouden, en \ntoegankelijk\
\ maken van het cultureel erfgoed...\"\n"
examples:
- value: The foundation aims to manage, preserve, and make accessible the cultural heritage of the Netherlands through
the operation of the national museum.
description: Purpose clause for a museum foundation
registered_office_clause:
slot_uri: schema:address
range: string
required: false
description: 'The registered office clause (statutaire zetel) from the articles.
This is the legal domicile, not necessarily the physical address.
'
examples:
- value: De stichting heeft haar zetel in de gemeente Amsterdam.
description: Registered office clause
governance_clause:
slot_uri: org:hasUnit
range: string
required: false
description: 'Summary of key governance provisions.
May include:
- Board composition (bestuur)
- Voting procedures
- Quorum requirements
- Officer roles
- Supervisory board (raad van toezicht)
'
has_amendment_history:
slot_uri: dcterms:provenance
range: string
multivalued: true
required: false
description: 'List of amendments with dates and brief descriptions.
Provides narrative history of changes to articles.
'
examples:
- value: '2010-05-20: Amendment to expand purpose clause to include digital heritage'
description: Amendment record
- value: '2015-11-12: Amendment to restructure board composition'
description: Amendment record
language:
slot_uri: dcterms:language
range: string
required: false
description: 'Primary language of the document (ISO 639-1 code).
'
examples:
- value: nl
description: Dutch
- value: de
description: German
has_articles_document_url:
slot_uri: schema:url
range: uri
required: false
description: 'URL where the document can be accessed.
May be:
- Institutional website
- Government registry (KvK extract)
- Digital archive
'
has_articles_document_format:
slot_uri: dcterms:format
range: string
required: false
description: 'File format of digital document.
**Values**: PDF, TIFF, JPEG, HTML, etc.
'
has_articles_archival_stage:
slot_uri: rico:hasRecordState
range: RecordsLifecycleStageEnum
required: true
description: 'Current position in the records lifecycle.
**RiC-O**: rico:hasRecordState for record lifecycle.
**Values from RecordsLifecycleStageEnum**:
- PRE_EXISTENCE: Before organization exists (notarial execution to registration)
- ACTIVE: Current version in CustodianAdministration
- INACTIVE: Superseded version in CustodianArchive
- HERITAGE: Historical articles in CustodianCollection
**CRITICAL for PRE_EXISTENCE**:
Articles in PRE_EXISTENCE stage are NOT linked to CustodianAdministration
because the organization does not exist yet!
**Transition rules**:
- PRE_EXISTENCE → ACTIVE: When organization is registered
- ACTIVE → INACTIVE: When superseded by amendment
- INACTIVE → HERITAGE: When selected for permanent preservation
- ACTIVE → HERITAGE: Original founding articles may go directly to heritage
'
examples:
- value: ACTIVE
description: Current version in use
- value: PRE_EXISTENCE
description: Drafted but organization not yet registered
is_or_was_archived_in:
slot_uri: rico:isOrWasIncludedIn
range: CustodianArchive
required: false
description: 'CustodianArchive where superseded articles are stored.
**RiC-O**: rico:isOrWasIncludedIn for archival inclusion.
Only applicable when current_archival_stage = INACTIVE.
**NOT applicable for PRE_EXISTENCE stage** (no archive exists yet).
'
collected_in:
slot_uri: rico:isOrWasIncludedIn
range: CustodianCollection
required: false
description: 'CustodianCollection where heritage articles are preserved.
**RiC-O**: rico:isOrWasIncludedIn for collection inclusion.
Only applicable when current_archival_stage = HERITAGE.
'
requires_articles_at_registration:
slot_uri: schema:requiredCollateral
range: boolean
required: false
description: 'Whether this organization''s legal form requires articles at registration.
**Derived from LegalForm and Jurisdiction**.
If TRUE:
- Articles MUST exist before organization exists
- PRE_EXISTENCE stage applies
- Articles can NEVER have been CustodianAdministration initially
If FALSE:
- Articles may be created after organization exists
- Normal lifecycle (ACTIVE → INACTIVE → HERITAGE) applies
**Examples**:
- Dutch Stichting: TRUE (notarial deed required)
- Dutch VOF: FALSE (partnership agreement, not "articles")
- UK CIO: TRUE (constitution required)
'
examples:
- value: true
description: Dutch stichting - requires notarial deed at registration
- value: false
description: Dutch VOF - partnership agreement created post-registration
refers_to_legal_status:
slot_uri: rico:documents
range: CustodianLegalStatus
required: true
description: 'The legal entity that these articles establish/govern.
**RiC-O**: rico:documents for documentation relationship.
ArticlesOfAssociation DOCUMENTS CustodianLegalStatus.
**Note**: Even during PRE_EXISTENCE, this links to the (future)
CustodianLegalStatus that will be created upon registration.
'
refers_to_custodian:
slot_uri: crm:P46i_forms_part_of
range: Custodian
required: true
description: 'Links to the Custodian hub.
**CIDOC-CRM**: P46i_forms_part_of for part-whole.
'
legal_form:
slot_uri: rov:orgType
range: LegalForm
required: false
description: 'Legal form that these articles establish.
Used to determine if articles are required at registration.
**ROV**: rov:orgType for legal form classification.
'
jurisdiction:
slot_uri: gleif_base:hasLegalJurisdiction
range: Jurisdiction
required: false
description: 'Jurisdiction where the articles are legally effective.
Determines applicable law and registration requirements.
'
was_derived_from:
slot_uri: prov:wasDerivedFrom
range: CustodianObservation
multivalued: true
required: false
description: 'Observation(s) from which this record was derived.
**PROV-O**: prov:wasDerivedFrom for provenance.
'
was_generated_by:
slot_uri: prov:wasGeneratedBy
range: ReconstructionActivity
required: false
description: 'Reconstruction activity that generated this record.
**PROV-O**: prov:wasGeneratedBy for generation.
'
valid_from:
slot_uri: time:hasBeginning
range: date
required: false
description: 'Start of validity period (typically = effective_date).
'
valid_to:
slot_uri: time:hasEnd
range: date
required: false
description: 'End of validity period (when superseded or organization dissolved).
NULL for current version of active organizations.
'
specificity_annotation:
range: SpecificityAnnotation
inlined: true

View file

@ -143,12 +143,6 @@ classes:
- was_generated_by
slot_usage:
has_auxiliary_platform_identifier:
slot_uri: dcterms:identifier
description: 'Unique identifier for this auxiliary digital platform.
Format: URI following NDE Heritage Custodian ontology conventions.
'
range: uriorcurie
required: true
identifier: true
@ -156,16 +150,6 @@ classes:
- value: https://nde.nl/ontology/hc/aux-platform/rijksmuseum-rijksstudio
description: Rijksstudio platform ID
platform_name:
slot_uri: dcterms:title
description: 'Name of this auxiliary digital platform.
Dublin Core: title for resource name.
This is the human-readable name of the secondary platform.
'
range: string
required: true
examples:
@ -176,44 +160,6 @@ classes:
- value: WW2 Portal
description: Thematic archive portal
has_auxiliary_platform_type:
slot_uri: dcterms:type
description: 'Type of auxiliary platform using DigitalPlatformType class hierarchy.
**Unified Type System** (replaces AuxiliaryDigitalPlatformTypeEnum):
Auxiliary platforms use the same unified type hierarchy as DigitalPlatform,
with types from the AUXILIARY category being most relevant:
- ProjectWebsite: Dedicated project site
- ExhibitionMicrosite: Temporary exhibition portal
- APIEndpoint: Programmatic interface (separate from main API)
- MobileApp: Native or hybrid mobile application
- CollectionBrowser: Specialized collection exploration tool
- CrowdsourcingPlatform: User contribution portal
- EducationalPortal: Learning resources
- DataPortal: Dataset download/access
- LegacyPlatform: Deprecated but maintained platform
- VirtualTour: 360 or immersive experience
See DigitalPlatformTypes.yaml for all 69 concrete platform types.
Dublin Core: type for classification.
'
range: DigitalPlatformType
required: true
examples:
@ -222,16 +168,6 @@ classes:
- value: ExhibitionMicrosite
description: Exhibition microsite type
platform_url:
slot_uri: foaf:homepage
description: 'URL of this auxiliary digital platform.
FOAF: homepage for web address.
This is the entry point URL for the platform.
'
range: uri
required: true
pattern: ^https?://
@ -241,16 +177,6 @@ classes:
- value: https://data.rijksmuseum.nl/
description: Data API URL
platform_purpose:
slot_uri: dcterms:description
description: 'Brief description of what this platform provides/enables.
Dublin Core: description for purpose statement.
Focus on user benefit and functionality.
'
range: string
examples:
- value: Personal collection creation and high-res image downloads
@ -258,54 +184,17 @@ classes:
- value: Interactive exploration of Night Watch research project
description: Exhibition microsite purpose
platform_description:
slot_uri: dcterms:abstract
description: 'Detailed description of this auxiliary platform.
Dublin Core: abstract for longer description.
Include:
- Full functionality description
- Target audience
- Technical requirements
- Relationship to main platform
'
range: string
examples:
- value: Rijksstudio allows users to create personal collections from the Rijksmuseum's digitized artworks, download
high-resolution images, and share curated sets with others.
description: Detailed platform description
has_api_documentation_url:
slot_uri: dcat:endpointDescription
description: 'URL to API documentation (for API-type platforms).
DCAT: endpointDescription for API documentation.
'
range: uri
examples:
- value: https://data.rijksmuseum.nl/object-metadata/api/
description: API documentation URL
technology_stack:
slot_uri: doap:programming-language
description: 'Technologies used to build this platform.
DOAP: programming-language for technical implementation.
(DOAP = Description of a Project, W3C vocabulary for software projects)
Include frameworks, languages, services.
'
range: string
multivalued: true
examples:
@ -314,50 +203,18 @@ classes:
- value: Python/Django
description: Backend stack
is_auxiliary_of_platform:
slot_uri: dcterms:isPartOf
description: 'Link back to the DigitalPlatform that this is an auxiliary of.
Dublin Core: isPartOf links part to whole.
Like CustodianAppellation.variant_of_name → CustodianName,
this links AuxiliaryDigitalPlatform → DigitalPlatform (main platform).
'
range: DigitalPlatform
required: true
examples:
- value: https://nde.nl/ontology/hc/platform/rijksmuseum-website
description: Main Rijksmuseum website
provides_access_to:
slot_uri: dcat:servesDataset
description: 'Collections or datasets accessible through this platform.
DCAT: servesDataset for data service relationship.
Link to CustodianCollection or dataset identifiers.
'
range: uriorcurie
multivalued: true
examples:
- value: https://nde.nl/ontology/hc/collection/rm-paintings
description: Paintings collection
related_project:
slot_uri: dcterms:isPartOf
description: 'Research project or initiative this platform supports.
Dublin Core: isPartOf for project relationship.
Useful for grant-funded or research project platforms.
'
range: string
examples:
- value: Operation Night Watch
@ -365,13 +222,6 @@ classes:
- value: 'EU Horizon 2020 Grant #123456'
description: Grant reference
funding_source:
slot_uri: schema:funder
description: 'Organization or grant funding this platform.
Schema.org: funder for funding relationship.
'
range: string
examples:
- value: European Commission Horizon 2020
@ -379,64 +229,26 @@ classes:
- value: Mondriaan Fund
description: Dutch cultural fund
iiif_support:
slot_uri: dcterms:conformsTo
description: 'Does this platform support IIIF?
Dublin Core: conformsTo for standard compliance.
'
range: boolean
examples:
- value: true
description: IIIF enabled
linked_data:
slot_uri: dcterms:conformsTo
description: 'Does this platform provide linked open data?
Dublin Core: conformsTo for LOD compliance.
'
range: boolean
examples:
- value: true
description: Provides RDF/JSON-LD
valid_from:
slot_uri: schema:validFrom
description: 'Date when this auxiliary platform was launched.
Track when project sites, microsites opened.
'
range: date
examples:
- value: '2018-06-01'
description: Platform launched June 2018
valid_to:
slot_uri: schema:validThrough
description: 'Date when this auxiliary platform was decommissioned.
NULL if still active.
Important for temporary exhibition sites and project portals.
'
range: date
examples:
- value: '2021-12-31'
description: Exhibition site closed end of 2021
temporal_extent:
slot_uri: crm:P4_has_time-span
description: 'Temporal period during which this platform was operational.
CIDOC-CRM: P4_has_time-span for fuzzy temporal boundaries.
'
range: TimeSpan
examples:
- value:
@ -444,33 +256,6 @@ classes:
end_of_the_end: '2021-12-31'
description: Project period 2018-2021
has_or_had_archival_status:
slot_uri: schema:creativeWorkStatus
description: 'Current status of platform if no longer active.
Schema.org: creativeWorkStatus for lifecycle status.
PREMIS: Aligns with premis:OutcomeStatus for preservation outcomes.
Values:
- ACTIVE: Currently operational
- DEPRECATED: Still accessible but not maintained
- ARCHIVED: Preserved in web archive (premis:Event type: web_harvest)
- OFFLINE: No longer accessible
- MIGRATED: Content migrated to new platform (premis:Event type: migration)
For formal preservation tracking, use preservation_event to link
to PREMIS Event instances documenting the archival process.
'
range: string
examples:
- value: ARCHIVED
@ -480,43 +265,11 @@ classes:
- value: MIGRATED
description: Content migrated to successor platform
was_archived_at:
slot_uri: schema:archivedAt
description: 'URL to archived version (e.g., Internet Archive Wayback Machine).
Schema.org: archivedAt for archive location.
'
range: uri
examples:
- value: https://web.archive.org/web/20211231/https://example.nl/exhibition/
description: Wayback Machine URL
preservation_event_type:
slot_uri: premis:outcome
description: 'Type of preservation event that occurred (if platform was archived/migrated).
PREMIS: Aligns with premis:Event and premis:OutcomeStatus.
Event types from Library of Congress PREMIS vocabulary:
- "web_harvest": Captured via web archiving (Wayback Machine, Archive-It)
- "migration": Content migrated to new format/platform
- "normalization": Files normalized to preservation formats
- "validation": Integrity/format validation performed
- "deletion": Content intentionally removed
- "replication": Content copied to additional storage
See: http://id.loc.gov/vocabulary/preservation/eventType
'
range: string
required: false
examples:
@ -525,220 +278,52 @@ classes:
- value: migration
description: Content migrated to successor platform
fixity_info:
slot_uri: premis:fixity
description: 'Fixity/checksum information for archived content.
PREMIS: fixity provides integrity verification data.
Format: "algorithm:checksum_value" or structured object.
Examples:
- "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- "md5:d41d8cd98f00b204e9800998ecf8427e"
Used when has_or_had_archival_status is ARCHIVED or MIGRATED to verify
integrity of preserved content.
'
range: string
required: false
examples:
- value: sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
description: SHA-256 checksum of archived content
cms_detected:
slot_uri: schema:softwareApplication
range: boolean
required: false
description: 'Flag indicating whether a CMS backend was detected for this platform.
Schema.org: softwareApplication indicates software is involved.
**Detection Methods**:
- HTTP response headers (X-Powered-By, Server)
- HTML meta tags (generator)
- URL patterns (e.g., /providence/, /omeka/)
- JavaScript libraries or framework signatures
- Admin panel detection
**Values**:
- true: CMS backend detected (see powered_by_cms for identity)
- false: No CMS detected (likely static site or custom-built)
- null: Detection not performed or inconclusive
**Use Cases**:
1. "Does this auxiliary platform have a known CMS?" → Check cms_detected
2. Technical survey: Identify platforms needing CMS identification
3. Migration planning: Prioritize platforms with detected CMS
'
examples:
- value: true
description: CMS backend detected
- value: false
description: No CMS detected (static site)
has_or_had_powered_by_cm:
slot_uri: crm:P33i_was_used_by
range: CollectionManagementSystem
multivalued: true
required: false
description: 'Collection Management System(s) powering this auxiliary platform.
CIDOC-CRM: P33i_was_used_by (inverse of P33_used_specific_technique).
**Relationship to cms_detected**:
- If cms_detected = true and powered_by_cms is set → CMS identified
- If cms_detected = true and powered_by_cms is null → CMS detected but not identified
- If cms_detected = false → powered_by_cms should be null
**Use Cases**:
1. "What CMS powers this project website?" → Follow powered_by_cms
2. "What auxiliary platforms use this CMS?" → Reverse query
3. Platform inventory: Map all CMS deployments across institution
'
examples:
- value: https://nde.nl/ontology/hc/cms/rijksmuseum-adlib
description: Auxiliary platform powered by Adlib CMS
was_derived_from:
slot_uri: prov:wasDerivedFrom
description: 'CustodianObservation(s) documenting this platform.
PROV-O: wasDerivedFrom for observation provenance.
'
range: CustodianObservation
multivalued: true
required: false
was_generated_by:
slot_uri: prov:wasGeneratedBy
description: 'ReconstructionActivity that generated this platform record.
PROV-O: wasGeneratedBy for generation activity.
'
range: ReconstructionActivity
required: false
refers_to_custodian:
slot_uri: dcterms:references
description: 'The Custodian hub that operates this auxiliary platform.
Dublin Core: references for entity reference.
All auxiliary platforms MUST reference the main custodian hub.
'
range: Custodian
required: true
examples:
- value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
description: Rijksmuseum custodian hub
serves_finding_aid:
slot_uri: rico:isOrWasProviderOf
range: uriorcurie
multivalued: true
inlined_as_list: true
required: false
description: 'Finding aids hosted/served by this auxiliary digital platform.
**INVERSE RELATIONSHIP**:
- Forward: FindingAid.served_by → AuxiliaryDigitalPlatform (finding aid served by platform)
- Inverse: AuxiliaryDigitalPlatform.serves_finding_aids → FindingAid[] (platform serves)
**RiC-O ALIGNMENT**:
`rico:isOrWasProviderOf` - The agent (platform) provides the finding aid.
**USE CASES**:
1. Project website hosting specialized finding aids
2. API endpoint providing programmatic access to finding aids
3. Exhibition microsite with collection guides
'
examples:
- value: https://nde.nl/ontology/hc/finding-aid/rm/night-watch-guide
description: Night Watch Exhibition finding aid
has_or_had_data_service_endpoint:
slot_uri: dcat:servesDataset
range: DataServiceEndpoint
multivalued: true
inlined_as_list: true
required: false
description: 'Data service endpoints exposed by this auxiliary digital platform.
**DCAT ALIGNMENT**:
`dcat:servesDataset` - Links a DataService to the datasets it serves.
**ENDPOINT TYPES**:
This polymorphic slot can contain any subclass of DataServiceEndpoint:
- OAIPMHEndpoint: OAI-PMH metadata harvesting endpoints
- SearchAPI: REST/JSON search API endpoints
- METSAPI: METS document retrieval endpoints
- FileAPI: File/asset download endpoints
- IIPImageServer: IIP/IIIF image server endpoints
- EADDownload: EAD finding aid download endpoints
**USE CASES**:
1. "What APIs does this auxiliary platform expose?" → Follow data_service_endpoints
2. Project website with dedicated API → Document endpoint details
3. Exhibition microsite with IIIF viewer → Link to image server
'
examples:
- value:
- endpoint_id: https://nde.nl/ontology/hc/endpoint/rijksstudio-api

View file

@ -147,12 +147,6 @@ classes:
- was_generated_by
slot_usage:
has_auxiliary_place_identifier:
slot_uri: dcterms:identifier
description: 'Unique identifier for this auxiliary place.
Format: URI following NDE Heritage Custodian ontology conventions.
'
range: uriorcurie
required: true
identifier: true
@ -160,16 +154,6 @@ classes:
- value: https://nde.nl/ontology/hc/aux-place/rijksmuseum-depot-amersfoort
description: Rijksmuseum off-site storage facility
place_name:
slot_uri: crm:P87_is_identified_by
description: 'Name of this auxiliary place/site.
CIDOC-CRM: P87_is_identified_by links place to appellation.
This is the human-readable name of the secondary location.
'
range: string
required: true
examples:
@ -180,22 +164,6 @@ classes:
- value: Reading Room Annex
description: Overflow reading room
has_auxiliary_place_type:
slot_uri: dcterms:type
description: "Type of auxiliary place using AuxiliaryPlaceTypeEnum classification.\n\n**CLASS-BASED TYPE SYSTEM**:\n\
\nEach enum value references a specialized class for detailed modeling:\n\n| Enum Value | Specialized Class | Use\
\ Case |\n|------------|-------------------|----------|\n| BRANCH_OFFICE | BranchOffice | Regional/satellite offices\
\ |\n| STORAGE_FACILITY | Storage | Climate-controlled collection storage |\n| RESEARCH_CENTER | ResearchCenter\
\ | Research facilities with type enum |\n| EXHIBITION_SPACE | ExhibitionSpace | Galleries with museum/gallery type\
\ |\n| HISTORIC_BUILDING | HistoricBuilding | Heritage buildings with feature type |\n| TEMPORARY_LOCATION | TemporaryLocation\
\ | Time-limited with reason enum |\n| ADMINISTRATIVE_OFFICE | AdministrativeOffice | Back-office operations |\n\
| EDUCATION_CENTER | EducationCenter | Educational programs |\n| CONSERVATION_LAB | ConservationLab | Conservation/restoration\
\ labs |\n| READING_ROOM | ReadingRoom | Primary research reading rooms |\n| READING_ROOM_ANNEX | ReadingRoomAnnex\
\ | Overflow reading rooms |\n| WAREHOUSE | Warehouse | Bulk/logistics storage |\n| OUTDOOR_SITE | OutdoorSite |\
\ Open-air sites with bio/feature type |\n| RETAIL_SPACE | GiftShop | Museum shops |\n| CAFE_RESTAURANT | CateringPlace\
\ | Food service facilities |\n\n**USAGE PATTERN**:\n\n1. Set `auxiliary_place_type` to the enum value for basic\
\ classification\n2. Optionally link to `specialized_place` for detailed type-specific data\n\n```yaml\nauxiliary_place_type:\
\ RESEARCH_CENTER\nspecialized_place:\n research_center_type: DIGITIZATION_CENTER\n supports_collections:\n \
\ - \"Photography Collection\"\n```\n\nDublin Core: type for classification.\n"
range: AuxiliaryPlaceTypeEnum
required: true
examples:
@ -206,27 +174,6 @@ classes:
- value: RESEARCH_CENTER
description: Digitization center - use ResearchCenter class for details
specialized_place:
slot_uri: hc:hasSpecializedPlace
description: "Link to a specialized place class instance for type-specific data.\n\n**CLASS-BASED TYPING SYSTEM**:\n\
\nWhile `auxiliary_place_type` provides basic classification via enum,\n`specialized_place` allows linking to a\
\ fully-typed specialized class\ninstance with type-specific slots and further classification enums.\n\n**Available\
\ Specialized Classes**:\n\n| has_auxiliary_place_type | specialized_place class | Type-specific features |\n|---------------------|------------------------|----------------------|\n\
| BRANCH_OFFICE | BranchOffice | service_types, parent_branch |\n| STORAGE_FACILITY | Storage | storage_conditions,\
\ climate_zones |\n| RESEARCH_CENTER | ResearchCenter | research_center_type enum |\n| EXHIBITION_SPACE | ExhibitionSpace\
\ | exhibition_space_type, linked gallery/museum types |\n| HISTORIC_BUILDING | HistoricBuilding | construction_date,\
\ heritage_designation, feature_type |\n| TEMPORARY_LOCATION | TemporaryLocation | reason enum, planned_end_date\
\ |\n| ADMINISTRATIVE_OFFICE | AdministrativeOffice | departments_hosted |\n| EDUCATION_CENTER | EducationCenter\
\ | education_provider_type |\n| CONSERVATION_LAB | ConservationLab | conservation_specialties |\n| READING_ROOM\
\ | ReadingRoom | reading_room_type enum, capacity |\n| READING_ROOM_ANNEX | ReadingRoomAnnex | has_annex_reason\
\ enum, primary_reading_room |\n| WAREHOUSE | Warehouse | warehouse_type enum, total_capacity |\n| OUTDOOR_SITE\
\ | OutdoorSite | outdoor_site_type enum, bio/feature types |\n| RETAIL_SPACE | GiftShop | shop_types, product_categories\
\ |\n| CAFE_RESTAURANT | CateringPlace | catering_type enum, taste_scent_type |\n\n**EXAMPLE**:\n\n```yaml\nauxiliary_place_type:\
\ CONSERVATION_LAB\nspecialized_place:\n conservation_lab_id: \"https://nde.nl/hc/lab/rijksmuseum-paper-lab\"\n\
\ lab_name: \"Paper Conservation Laboratory\"\n conservation_specialties:\n - \"Paper conservation\"\n -\
\ \"Book binding restoration\"\n serves_institutions:\n - \"Rijksmuseum\"\n - \"Van Gogh Museum\"\n```\n\n\
**OPTIONALITY**:\n\nThis slot is OPTIONAL. Basic classification via `auxiliary_place_type`\nis sufficient for many\
\ use cases. Use `specialized_place` when:\n- You need type-specific attributes (e.g., storage conditions)\n- Further\
\ classification is needed (e.g., research_center_type)\n- Cross-referencing specialized resources\n"
range: ReconstructedEntity
required: false
inlined: true
@ -244,38 +191,11 @@ classes:
- Drawings
description: ConservationLab instance
place_description:
slot_uri: dcterms:description
description: 'Free-text description of this auxiliary place.
Include:
- Purpose of this location
- What collections/functions are housed here
- Access information (public/staff only)
- Historical context
'
range: string
examples:
- value: Off-site storage facility housing overflow collections. Staff access only.
description: Depot description
street_address:
slot_uri: vcard:street-address
description: 'Street address of this auxiliary place.
vCard: street-address for street-level address component.
Also aligns with W3C Location locn:thoroughfare.
Include street name, number, building name if applicable.
'
range: string
examples:
- value: Euterpelaan 25
@ -283,125 +203,46 @@ classes:
- value: Schiphol Airport, Lounge 2, Holland Boulevard
description: Airport location
postal_code:
slot_uri: vcard:postal-code
description: 'Postal/ZIP code for this auxiliary place.
vCard: postal-code for postal codes.
Also aligns with W3C Location locn:postCode.
'
range: string
examples:
- value: 3824 BK
description: Dutch postal code
city:
slot_uri: vcard:locality
description: 'City/town where this auxiliary place is located.
vCard: locality for city/town name.
Also aligns with W3C Location locn:postName.
'
range: string
examples:
- value: Amersfoort
description: City name
country:
slot_uri: schema:addressCountry
description: 'Country where this auxiliary place is located.
Links to Country class with ISO 3166-1 codes.
'
range: Country
examples:
- value: https://nde.nl/ontology/hc/country/NL
description: Netherlands
subregion:
slot_uri: schema:addressRegion
description: 'Geographic subdivision (state/province) where this place is located.
Links to Subregion class with ISO 3166-2 codes.
'
range: Subregion
examples:
- value: https://nde.nl/ontology/hc/subregion/NL-UT
description: Utrecht province
settlement:
slot_uri: schema:location
description: 'Settlement (city/town) with GeoNames identifier.
Links to Settlement class for unambiguous city identification.
'
range: Settlement
examples:
- value: https://nde.nl/ontology/hc/settlement/2759633
description: Amersfoort (GeoNames ID 2759633)
latitude:
slot_uri: schema:latitude
description: 'Geographic latitude (WGS84 coordinate).
Schema.org: latitude for geographic positioning.
'
range: float
examples:
- value: 52.1561
description: Amersfoort latitude
longitude:
slot_uri: schema:longitude
description: 'Geographic longitude (WGS84 coordinate).
Schema.org: longitude for geographic positioning.
'
range: float
examples:
- value: 5.3878
description: Amersfoort longitude
geonames_id:
slot_uri: schema:identifier
description: 'GeoNames numeric identifier for geocoding.
Resolves to https://www.geonames.org/{id}/
'
range: integer
examples:
- value: 2759633
description: Amersfoort GeoNames ID
has_geospatial_location:
slot_uri: locn:geometry
description: "Links this auxiliary place to precise geospatial coordinates and geometry.\n\n**W3C Location Core Vocabulary\
\ (LOCN) Alignment**:\n\n`locn:geometry` - \"Associates any resource with a corresponding Geometry.\"\n\nThis property\
\ aligns with:\n- W3C LOCN: locn:geometry (primary)\n- GeoSPARQL: geosparql:hasGeometry (for spatial queries)\n\
- TOOI: tooi:BestuurlijkeRuimte-hasGeometry (Dutch government pattern)\n\n**CRITICAL DISTINCTION**:\n\n| Property\
\ | Type | Example |\n|----------|------|---------|\n| latitude/longitude (this class) | Simple float | 52.1561,\
\ 5.3878 |\n| has_geospatial_location | GeoSpatialPlace | Full geospatial object with WKT polygon, OSM ID, etc.\
\ |\n\n**When to Use Each**:\n\n- **latitude/longitude only**: Quick geocoding, point location sufficient\n- **has_geospatial_location**:\
\ Building footprints, boundary polygons, OSM/GeoNames linking, \n accuracy metadata, temporal validity of boundaries\n\
\n**Use Cases**:\n\n1. **Storage Facility with Building Footprint**:\n ```yaml\n has_geospatial_location:\n\
\ geometry_wkt: \"POLYGON((5.385 52.154, 5.390 52.154, ...))\"\n osm_id: \"way/123456789\"\n has_accuracy_in_meters:\
\ 1.0\n ```\n\n2. **Branch Office with GeoNames Linking**:\n ```yaml\n has_geospatial_location:\n latitude:\
\ 52.0705\n longitude: 4.2894\n geonames_id: 2759633\n feature_code: \"S.LIBR\"\n ```\n\n3. **Historical\
\ Boundary** (temporal validity):\n ```yaml\n has_geospatial_location:\n - geospatial_id: \"old-boundary\"\
\n geometry_wkt: \"POLYGON(...)\"\n valid_to_geo: \"2001-01-01\"\n - geospatial_id: \"new-boundary\"\
\n geometry_wkt: \"POLYGON(...)\"\n valid_from_geo: \"2001-01-01\"\n ```\n\n**Relationship to CustodianPlace**:\n\
\nBoth CustodianPlace and AuxiliaryPlace can link to GeoSpatialPlace:\n- CustodianPlace.has_geospatial_location\
\ → main building coordinates\n- AuxiliaryPlace.has_geospatial_location → subordinate site coordinates\n\nThis enables\
\ spatial queries across all heritage custodian locations.\n"
range: GeoSpatialPlace
multivalued: true
inlined_as_list: true
@ -429,42 +270,11 @@ classes:
geospatial_source: GeoNames API
description: Airport branch point location
has_feature_type:
slot_uri: dcterms:type
description: 'Physical feature type classification for this auxiliary place.
Links to FeaturePlace which classifies WHAT TYPE of physical feature this is.
Examples:
- Depot building → WAREHOUSE feature type
- Branch library → LIBRARY_BUILDING feature type
- Conservation lab → LABORATORY feature type
'
range: FeaturePlace
examples:
- value: https://nde.nl/ontology/hc/feature/warehouse-type
description: Warehouse/depot building type
hosts_branch:
slot_uri: org:hasSite
description: 'OrganizationBranch operating at this auxiliary place.
W3C ORG: org:hasSite (inverse direction - site hosts organization unit).
Links the physical location to the formal organizational unit
that operates at this site.
A site can host multiple branches (shared facility).
'
range: OrganizationBranch
multivalued: true
inlined_as_list: true
@ -474,62 +284,22 @@ classes:
branch_type: CONSERVATION_LAB
description: Conservation branch at depot site
is_auxiliary_of_place:
slot_uri: skos:broader
description: 'Link back to the CustodianPlace that this is an auxiliary of.
SKOS: broader links subordinate to main concept.
Like CustodianAppellation.variant_of_name → CustodianName,
this links AuxiliaryPlace → CustodianPlace (main place).
'
range: CustodianPlace
required: true
examples:
- value: https://nde.nl/ontology/hc/place/rijksmuseum-main
description: Main Rijksmuseum building
valid_from:
slot_uri: schema:validFrom
description: 'Date when this auxiliary place became operational.
Track when branch offices opened, storage facilities commissioned, etc.
'
range: date
examples:
- value: '1995-06-01'
description: Depot opened June 1995
valid_to:
slot_uri: schema:validThrough
description: 'Date when this auxiliary place closed or was decommissioned.
NULL if still active.
'
range: date
examples:
- value: '2010-12-31'
description: Facility closed end of 2010
temporal_extent:
slot_uri: crm:P4_has_time-span
description: 'Temporal period during which this auxiliary place was operational.
CIDOC-CRM: P4_has_time-span for fuzzy temporal boundaries.
Use when exact dates are uncertain:
- "Branch opened sometime in the 1970s"
- "Facility operational until around 2005"
'
range: TimeSpan
examples:
- value:
@ -537,39 +307,13 @@ classes:
end_of_the_begin: '1979-12-31'
description: Opened sometime in the 1970s
was_derived_from:
slot_uri: prov:wasDerivedFrom
description: 'CustodianObservation(s) from which this auxiliary place was derived.
PROV-O: wasDerivedFrom for observation provenance.
'
range: CustodianObservation
multivalued: true
required: false
was_generated_by:
slot_uri: prov:wasGeneratedBy
description: 'ReconstructionActivity that generated this place record.
PROV-O: wasGeneratedBy for generation activity.
'
range: ReconstructionActivity
required: false
refers_to_custodian:
slot_uri: org:siteOf
description: 'The Custodian hub that operates at this auxiliary place.
W3C ORG: org:siteOf - inverse of org:hasSite.
"Indicates an Organization which has some presence at the given site."
Links the physical location back to the custodian hub.
'
range: Custodian
required: true
examples:

View file

@ -251,388 +251,24 @@ classes:
- template_specificity
slot_usage:
specimen_type:
description: 'Categories of living specimens maintained in the collection.
Multi-valued field capturing all taxonomic groups represented.
**For Botanical Institutions**:
- "vascular plants" - Ferns, gymnosperms, angiosperms
- "non-vascular plants" - Mosses, liverworts, hornworts
- "algae" - Aquatic photosynthetic organisms
- "fungi" - Mushrooms, molds, lichens
- "cultivars" - Named plant varieties (roses, tulips, etc.)
**For Zoological Institutions**:
- "mammals" - Primates, carnivores, ungulates, marine mammals
- "birds" - Raptors, waterfowl, passerines, flightless birds
- "reptiles" - Snakes, lizards, turtles, crocodilians
- "amphibians" - Frogs, salamanders, caecilians
- "fish" - Freshwater, marine, cartilaginous, bony fish
- "invertebrates" - Insects, arachnids, mollusks, crustaceans
**For Aquariums**:
- "marine fish" - Saltwater fish species
- "freshwater fish" - River and lake species
- "corals" - Reef-building cnidarians
- "marine mammals" - Dolphins, seals, sea lions
- "sharks and rays" - Cartilaginous fish
- "jellyfish" - Cnidarian medusae
**Specialized Collections**:
- "butterflies" - Lepidoptera (butterfly houses)
- "primates only" - Specialized primate centers
- "raptors" - Birds of prey (falconry centers)
- "carnivorous plants" - Insectivorous botanical specialists
- "succulents" - Cactus and succulent gardens
**Examples**:
- Artis (zoo): ["mammals", "birds", "reptiles", "amphibians", "fish", "invertebrates"]
- Hortus Leiden: ["vascular plants", "non-vascular plants", "cultivars"]
- Burgers'' Ocean: ["marine fish", "corals", "sharks and rays"]
- Vlindorado: ["butterflies", "tropical plants"]
**Ontology Alignment**:
- Maps to Darwin Core `dwc:taxonRank` and `dwc:scientificName`
- Maps to `schema:additionalType` for Schema.org
'
range: string
multivalued: true
required: false
collection_size:
description: 'Quantitative description of the living collection size. Can be expressed
as number of species, number of individual organisms, or both.
**Measurement Units**:
- **Species counts**: "500 plant species", "200 animal species"
- **Individual counts**: "10,000 individual plants", "5,000 animals"
- **Combined**: "900 species, approximately 8,700 animals"
- **Area**: "32 hectares of gardens", "100 acres of exhibits"
- **Volume**: "1.2 million gallons aquarium capacity"
**Examples**:
- Artis: "More than 900 species, approximately 8,700 animals"
- Kew Gardens: "Over 50,000 living plants, 8.5 million herbarium specimens"
- San Diego Zoo: "12,000+ animals representing 680+ species"
- Georgia Aquarium: "10 million gallons, 500+ species, 100,000+ animals"
- Keukenhof: "7 million bulbs, 800 tulip varieties, 79 acres"
**Format Recommendations**:
- Use comma-separated values for multiple measures
- Include "approximately" or "more than" for estimates
- Specify living vs. preserved when both present
- Include temporal qualifier: "as of 2024"
**Ontology Alignment**:
- Maps to `schema:numberOfItems` in Schema.org
- Related to `dwc:individualCount` in Darwin Core
'
range: string
required: false
living_collection:
description: 'Boolean indicating whether the institution maintains living specimens
(true) vs. only preserved/dead specimens (false).
**TRUE when institution maintains**:
- Live animals in enclosures, exhibits, or aquariums
- Living plants in gardens, greenhouses, or conservatories
- Active growth, breeding, or cultivation programs
- Ongoing care, feeding, and husbandry
**FALSE when institution has**:
- Only preserved specimens (taxidermy, dried plants, pickled animals)
- No active husbandry or horticultural programs
- Static displays without living organisms
**Mixed Collections** (MIXED type X):
When institutions maintain BOTH living and preserved collections:
- Natural history museums with live insect colonies (TRUE for living aspect)
- Botanical gardens with herbarium collections (TRUE for living aspect)
- Zoos with taxidermy educational displays (TRUE - living is primary)
**Examples**:
- Artis (zoo): TRUE - Living animal collection with active care
- Hortus Leiden: TRUE - Living plant collection in greenhouses
- Naturalis (natural history museum): FALSE - Preserved specimens only
- Kew Gardens: TRUE - Living plants (herbarium is separate collection)
**Distinction**:
This field separates BioCustodian (B) from Museum (M) and Research Center (R)
when dealing with biological specimens.
**Ontology Alignment**:
- Related to `schema:additionalProperty` "living status"
- Darwin Core field: Not directly mapped (implied by collection type)
'
range: boolean
required: true
research_program:
description: 'Active research programs, conservation projects, or scientific initiatives
conducted by the institution. Multi-valued field capturing all major programs.
**Conservation Research**:
- "Endangered species breeding programs" - Ex-situ conservation
- "Reintroduction programs" - Releasing captive-bred animals to wild
- "Habitat restoration research" - Ecosystem recovery studies
- "Climate change adaptation" - Species response to warming
**Behavioral and Welfare Research**:
- "Animal cognition studies" - Intelligence, problem-solving
- "Enrichment program development" - Animal welfare improvements
- "Social behavior research" - Group dynamics, communication
- "Animal welfare assessment" - Health and wellbeing metrics
**Taxonomic and Systematic Research**:
- "Plant taxonomy and classification" - Naming and organizing species
- "DNA barcoding projects" - Genetic identification
- "Phylogenetic studies" - Evolutionary relationships
- "New species discovery" - Field expeditions, specimen analysis
**Horticultural and Agricultural Research**:
- "Crop wild relatives conservation" - Preserving genetic diversity
- "Heirloom variety preservation" - Historic cultivars
- "Propagation technique development" - Cultivation methods
- "Invasive species control" - Prevention and management
**Biomedical and Applied Research**:
- "Veterinary medicine research" - Animal health studies
- "Reproductive biology" - Assisted reproduction techniques
- "Disease ecology" - Wildlife pathogen studies
- "Bioprospecting" - Discovering useful compounds from organisms
**Examples**:
- Artis: ["Amphibian conservation", "Primate behavior", "Marine invertebrate ecology"]
- Kew Gardens: ["Plant taxonomy", "Seed bank preservation", "Medicinal plant research"]
- San Diego Zoo: ["Giant panda reproduction", "California condor reintroduction"]
- Burgers'' Zoo: ["Tropical rainforest ecology", "Coral reef restoration"]
**Ontology Alignment**:
- Maps to `schema:ResearchProject` in Schema.org
- Related to VIVO ontology research activity classes
'
range: string
multivalued: true
required: false
public_education:
description: 'Educational programs, activities, and services offered to the public.
Multi-valued field capturing all educational initiatives.
**School Programs**:
- "Curriculum-aligned school visits" - K-12 educational tours
- "Zoo school programs" - Multi-day immersive learning
- "Teacher training workshops" - Educator professional development
- "Field trip packages" - Structured group visits
**Visitor Engagement**:
- "Guided tours" - Expert-led interpretive walks
- "Keeper talks" - Behind-the-scenes animal care presentations
- "Feeding demonstrations" - Interactive feeding events
- "Touch tanks" - Hands-on aquarium experiences
**Lifelong Learning**:
- "Adult education courses" - Gardening, plant care, animal behavior
- "Citizen science programs" - Public participation in research
- "Volunteer training programs" - Docent and guide preparation
- "Photography workshops" - Nature and wildlife photography
**Children''s Programs**:
- "Summer camps" - Multi-day youth programs
- "Zoo birthday parties" - Educational celebrations
- "Junior zookeeper programs" - Youth career exploration
- "Storytelling sessions" - Nature-themed narratives
**Digital and Remote Learning**:
- "Virtual tours" - Online 360° experiences
- "Webcams" - Live animal and plant viewing
- "Educational videos" - Species profiles, conservation topics
- "Online learning modules" - Self-paced education
**Examples**:
- Artis: ["School programs", "Keeper talks", "Zoo academy", "Micropia interactive exhibits"]
- Hortus Leiden: ["Guided botanical tours", "Plant identification workshops", "Gardening courses"]
- Monterey Bay Aquarium: ["Sea otter live cam", "Kelp forest tours", "Marine science classes"]
**Ontology Alignment**:
- Maps to `schema:EducationalEvent` and `schema:Course`
- Related to `schema:LearningResource` for materials
'
range: string
multivalued: true
required: false
conservation_breeding:
description: "Description of captive breeding programs for endangered species conservation.\nFree-text field documenting\
\ breeding initiatives, species involved, and\nconservation goals.\n\n**Types of Breeding Programs**:\n\n**Regional\
\ Breeding Programs**:\n- **EEP (European Endangered Species Programme)** - Coordinated EU zoo breeding\n - Example:\
\ \"EEP coordinator for Bornean orangutan\"\n- **SSP (Species Survival Plan)** - AZA coordinated breeding (North\
\ America)\n - Example: \"SSP participant for California condor\"\n- **Global Species Management Plans (GSMP)**\
\ - International coordination\n\n**Conservation Objectives**:\n- \"Genetic diversity management\" - Maintaining\
\ healthy populations\n- \"Reintroduction stock production\" - Breeding for wild release\n- \"Insurance populations\"\
\ - Backup for critically endangered species\n- \"Captive breeding before extinction\" - Last-resort conservation\n\
\n**Notable Programs**:\n- \"Giant panda breeding program\" - Reproductive research + captive propagation\n- \"\
Przewalski's horse reintroduction\" - Successfully returned to Mongolia\n- \"California condor recovery\" - From\
\ 27 birds (1987) to 500+ (2023)\n- \"Black-footed ferret breeding\" - Cloning + traditional breeding\n- \"Scimitar-horned\
\ oryx restoration\" - Extinct in wild, reintroduced from captive stock\n\n**Botanical Breeding**:\n- \"Seed bank\
\ deposits\" - Long-term genetic preservation\n- \"Rare plant propagation\" - Cultivating endangered species\n-\
\ \"Heirloom variety preservation\" - Heritage crops and ornamentals\n- \"Tissue culture programs\" - Clonal propagation\
\ of rare plants\n\n**Examples**:\n- Rotterdam Zoo: \"European breeding programs (EEP) for gorillas, Asian elephants,\
\ red pandas\"\n- San Diego Zoo: \"Frozen Zoo genetic bank, giant panda breeding, California condor recovery\"\n\
- Kew Gardens: \"Millennium Seed Bank with 2.4 billion seeds from 40,000 species\"\n- Chester Zoo: \"Islands conservation\
\ breeding for Sumatran tigers, Sulawesi crested macaques\"\n\n**Success Metrics**:\n- Number of successful births/propagations\
\ per year\n- Percentage of offspring surviving to adulthood\n- Number of individuals reintroduced to wild\n- Genetic\
\ diversity maintained (measured by mean kinship)\n\n**Ontology Alignment**:\n- Related to IUCN Red List conservation\
\ status\n- Maps to `schema:Project` with conservation purpose\n- Related to Darwin Core occurrence records\n"
range: string
required: false
has_or_had_custodian_type:

View file

@ -141,24 +141,6 @@ classes:
taxon_name:
required: true
range: string
slot_uri: dwc:scientificName
description: 'Scientific name (Linnean binomial or trinomial).
Include author and year for formal nomenclature.
**Format**: "Genus species (Author, Year)"
**Examples**:
- "Raphus cucullatus (Linnaeus, 1758)"
- "Tyrannosaurus rex Osborn, 1905"
- "Quercus robur L."
'
examples:
- value: Raphus cucullatus (Linnaeus, 1758)
description: Dodo with nomenclatural authority
@ -168,12 +150,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: dwc:vernacularName
description: 'Common/vernacular name(s) in one or more languages.
Use common_name_language to specify language.
'
examples:
- value: Dodo
- value: Lion
@ -182,21 +158,12 @@ classes:
required: false
range: string
multivalued: true
slot_uri: dcterms:language
description: 'Language code(s) for common names (ISO 639-1 or 639-3).
Corresponds to common_name list by position.
'
examples:
- value: en
- value: nl
taxonomic_rank:
required: false
range: string
slot_uri: dwc:taxonRank
description: "Taxonomic rank of the identification.\n\n**Values**: KINGDOM, PHYLUM, CLASS, ORDER, FAMILY, GENUS, SPECIES,\
\ \nSUBSPECIES, VARIETY, FORM\n"
examples:
- value: SPECIES
- value: SUBSPECIES
@ -205,13 +172,6 @@ classes:
taxonomic_authority:
required: false
range: string
slot_uri: dwc:scientificNameAuthorship
description: 'The authorship information for the scientific name.
**Format**: "Author, Year" or "(Author, Year)" for recombinations
'
examples:
- value: Linnaeus, 1758
- value: (Gray, 1821)
@ -219,35 +179,17 @@ classes:
higher_classification:
required: false
range: string
slot_uri: dwc:higherClassification
description: 'Full taxonomic hierarchy from kingdom to genus.
**Format**: Pipe-separated: "Kingdom|Phylum|Class|Order|Family|Genus"
'
examples:
- value: Animalia|Chordata|Aves|Columbiformes|Columbidae|Raphus
description: Dodo classification
taxon_remark:
required: false
range: string
slot_uri: dwc:taxonRemarks
description: 'Notes about taxonomic identification, uncertainties, or changes.
'
examples:
- value: Previously classified as Didus ineptus
identification_qualifier:
required: false
range: string
slot_uri: dwc:identificationQualifier
description: 'Qualifier for uncertain identifications.
**Values**: "cf." (compare with), "aff." (affinity with), "?" (uncertain)
'
examples:
- value: cf.
description: Uncertain, compare with named taxon
@ -257,63 +199,33 @@ classes:
required: false
range: string
multivalued: true
slot_uri: dwc:identifiedBy
description: 'Person(s) who made the taxonomic identification.
'
examples:
- value: Dr. Jane Smith
date_identified:
required: false
range: date
slot_uri: dwc:dateIdentified
description: 'Date when the current identification was made.
'
examples:
- value: '2020-03-15'
specimen_type:
required: false
range: string
slot_uri: dwc:typeStatus
description: "Nomenclatural type status if applicable.\n\n**Values**: HOLOTYPE, PARATYPE, SYNTYPE, LECTOTYPE, NEOTYPE,\
\ \nTOPOTYPE, ISOTYPE (plants), TYPE (informal)\n"
examples:
- value: HOLOTYPE
- value: PARATYPE
is_type_specimen:
required: false
range: boolean
description: 'Whether this is a nomenclatural type specimen.
True if specimen has any type status (holotype, paratype, etc.)
'
examples:
- value: true
description: Type specimen
type_status:
required: false
range: string
slot_uri: dwc:typeStatus
description: 'Full type status statement including taxon name.
**Format**: "Type status of Taxon Name Author, Year"
'
examples:
- value: Holotype of Raphus cucullatus Linnaeus, 1758
sex:
required: false
range: string
slot_uri: dwc:sex
description: 'Sex of the organism.
**Values**: MALE, FEMALE, HERMAPHRODITE, UNKNOWN, NOT_APPLICABLE
'
examples:
- value: MALE
- value: FEMALE
@ -321,19 +233,6 @@ classes:
life_stage:
required: false
range: string
slot_uri: dwc:lifeStage
description: 'Life stage of the organism when collected/preserved.
**Values vary by taxon**:
- Vertebrates: ADULT, JUVENILE, SUBADULT, NEONATE
- Insects: ADULT, LARVA, PUPA, NYMPH, EGG
- Plants: FLOWERING, FRUITING, VEGETATIVE, SEED
'
examples:
- value: ADULT
- value: LARVA
@ -342,9 +241,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: dwc:preparations
description: "Part(s) of organism represented in this specimen.\n\n**Values**: WHOLE_ORGANISM, SKELETON, SKULL, SKIN,\
\ SHELL, \nWING, LEG, FEATHER, TISSUE, DNA, LEAF, FLOWER, ROOT, SEED\n"
examples:
- value: SKELETON
- value: SKULL
@ -352,12 +248,6 @@ classes:
specimen_count:
required: false
range: integer
slot_uri: dwc:individualCount
description: 'Number of individuals represented by this specimen record.
Default is 1 for most specimens.
'
examples:
- value: 1
- value: 50
@ -365,13 +255,6 @@ classes:
preservation_method:
required: false
range: PreservationMethodEnum
slot_uri: dwc:preparations
description: 'Primary preservation method used for this specimen.
See PreservationMethodEnum for full list of values.
'
examples:
- value: TAXIDERMY_MOUNT
- value: FLUID_ETHANOL
@ -380,9 +263,6 @@ classes:
preservative_detail:
required: false
range: string
description: 'Specific details about preservation (concentrations, solutions, etc.).
'
examples:
- value: 70% ethanol
- value: Formalin-fixed, ethanol-transferred
@ -390,35 +270,17 @@ classes:
preparation_date:
required: false
range: date
description: 'Date when specimen was prepared/preserved.
May differ from collection date.
'
examples:
- value: '2020-06-15'
prepared_by:
required: false
range: string
slot_uri: crm:P14_carried_out_by
description: 'Person or institution who prepared the specimen.
'
examples:
- value: Natural History Museum Preparation Lab
- value: J. van der Berg
collection_date:
required: false
range: string
slot_uri: dwc:eventDate
description: 'Date when specimen was collected in the field.
**Format**: ISO 8601 (YYYY-MM-DD) or range (YYYY-MM-DD/YYYY-MM-DD)
Can also use text for historical specimens with approximate dates.
'
examples:
- value: '2020-06-15'
- value: 2020-06/2020-07
@ -429,12 +291,6 @@ classes:
required: false
range: CustodianPlace
inlined: true
slot_uri: dwc:locality
description: 'Structured location where specimen was collected.
Use for geocoded locations with coordinates.
'
examples:
- value:
place_name: Mauritius
@ -444,12 +300,6 @@ classes:
collection_locality_text:
required: false
range: string
slot_uri: dwc:verbatimLocality
description: 'Verbatim locality description as recorded on label.
Preserves original text for historical specimens.
'
examples:
- value: Mauritius, near Port Louis, in forest
- value: 'Indonesia: Java: Mt. Gede, 1500m'
@ -457,30 +307,18 @@ classes:
required: false
range: string
multivalued: true
slot_uri: dwc:recordedBy
description: 'Person(s) who collected the specimen.
'
examples:
- value: Alfred Russel Wallace
- value: Charles Darwin
field_number:
required: false
range: string
slot_uri: dwc:fieldNumber
description: 'Collector''s original field number or catalog number.
'
examples:
- value: ARW-1234
- value: CD-HMS Beagle-567
habitat:
required: false
range: string
slot_uri: dwc:habitat
description: 'Description of habitat where specimen was found.
'
examples:
- value: Tropical rainforest, understory
- value: Coral reef, depth 15m
@ -488,13 +326,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: dwc:associatedTaxa
description: 'Other taxa associated with this specimen (host, parasite, symbiont).
**Format**: "relationship:Taxon name"
'
examples:
- value: host:Quercus robur
description: Insect collected from oak tree
@ -502,16 +333,6 @@ classes:
iucn_status:
required: false
range: string
description: 'IUCN Red List conservation status.
**Values**: EX (Extinct), EW (Extinct in Wild), CR (Critically Endangered),
EN (Endangered), VU (Vulnerable), NT (Near Threatened), LC (Least Concern),
DD (Data Deficient), NE (Not Evaluated)
'
examples:
- value: EX
description: Extinct (e.g., Dodo)
@ -520,57 +341,28 @@ classes:
cites_appendix:
required: false
range: string
description: 'CITES (Convention on International Trade in Endangered Species) listing.
**Values**: APPENDIX_I, APPENDIX_II, APPENDIX_III, NOT_LISTED
Important for legal compliance in specimen transfers.
'
examples:
- value: APPENDIX_I
description: Most endangered, trade prohibited
legal_provenance_note:
required: false
range: string
description: 'Notes on legal status and provenance for conservation-sensitive specimens.
Document pre-CITES collection, permits, legal transfers.
'
examples:
- value: 'Collected pre-CITES (1975). Import permit #12345.'
gbif_id:
required: false
range: string
slot_uri: dwc:occurrenceID
description: 'Global Biodiversity Information Facility occurrence ID.
Links specimen to GBIF occurrence record.
'
examples:
- value: https://www.gbif.org/occurrence/1234567890
bold_id:
required: false
range: string
description: 'Barcode of Life Data System (BOLD) record ID.
Links to DNA barcode data.
'
examples:
- value: BOLD:AAA0001
genbank_accession:
required: false
range: string
multivalued: true
description: 'NCBI GenBank accession numbers for sequences from this specimen.
'
examples:
- value: MW123456
- value: MN987654

View file

@ -81,12 +81,6 @@ classes:
- was_generated_by
slot_usage:
branch_office_id:
slot_uri: dcterms:identifier
description: 'Unique identifier for this branch office.
Format: URI following NDE Heritage Custodian ontology conventions.
'
range: uriorcurie
required: true
identifier: true
@ -94,16 +88,6 @@ classes:
- value: https://nde.nl/ontology/hc/aux/nha-zaanstreek-branch
description: Noord-Hollands Archief regional branch
branch_office_name:
slot_uri: skos:prefLabel
description: 'Name of this branch office.
SKOS: prefLabel for preferred name.
Typically includes parent organization name + branch location/function.
'
range: string
required: true
examples:
@ -114,43 +98,12 @@ classes:
- value: Universiteitsbibliotheek Science Park
description: University library satellite
branch_office_description:
slot_uri: dcterms:description
description: 'Free-text description of this branch office.
Include:
- Services offered at this location
- Target audience/community served
- Distinguishing features from main location
- Access information
'
range: string
examples:
- value: Regional branch serving Zaanstreek-Waterland area. Holds municipal records from Zaandam, Wormerland, Purmerend.
Open to researchers Tuesday-Thursday.
description: Archive branch description
branch_service_area:
slot_uri: schema:areaServed
description: 'Geographic area or community served by this branch.
Schema.org: areaServed for geographic coverage.
Can be:
- Geographic region name ("Noord-Holland")
- Neighborhood/district ("Amsterdam-Zuid")
- Administrative unit ("Gemeente Haarlem")
'
range: string
examples:
- value: Zaanstreek-Waterland region
@ -158,18 +111,6 @@ classes:
- value: Amsterdam Schiphol Airport travelers
description: Specific community served
is_public_facing:
slot_uri: schema:isAccessibleForFree
description: 'Whether this branch office serves the public directly.
TRUE: Public visitors, researchers, patrons can access
FALSE: Staff-only administrative location
Note: Use AdministrativeOffice class for staff-only locations.
'
range: boolean
required: true
ifabsent: 'true'
@ -177,16 +118,6 @@ classes:
- value: true
description: Public-facing branch
services_offered:
slot_uri: schema:hasOfferCatalog
description: 'List of services available at this branch office.
Schema.org: hasOfferCatalog for service listings.
Typically a subset of services available at main location.
'
range: string
multivalued: true
examples:
@ -197,69 +128,25 @@ classes:
- value: Local history reference
description: Reference service
operating_hour:
slot_uri: schema:openingHours
description: 'Operating hours for this branch office.
Schema.org: openingHours in standard format.
Example formats:
- "Tu-Th 09:00-17:00"
- "Mo-Fr 10:00-16:00, Sa 10:00-13:00"
'
range: string
examples:
- value: Tu-Th 09:00-17:00
description: Limited weekday hours
branch_staff_count:
slot_uri: schema:numberOfEmployees
description: 'Number of staff members assigned to this branch.
Schema.org: numberOfEmployees for staffing level.
'
range: integer
examples:
- value: 3
description: Small branch staff
has_local_collection:
slot_uri: schema:owns
description: 'Whether this branch holds a local or specialized collection.
TRUE: Branch maintains collection materials on-site
FALSE: Branch provides access but collections housed elsewhere
'
range: boolean
examples:
- value: true
description: Branch holds local municipal records
was_derived_from:
slot_uri: prov:wasDerivedFrom
description: 'CustodianObservation(s) from which this branch office record was derived.
PROV-O: wasDerivedFrom for observation provenance.
'
range: CustodianObservation
multivalued: true
required: false
was_generated_by:
slot_uri: prov:wasGeneratedBy
description: 'ReconstructionActivity that generated this branch office record.
PROV-O: wasGeneratedBy for generation activity.
'
range: ReconstructionActivity
required: false
specificity_annotation:

View file

@ -125,505 +125,112 @@ classes:
id:
identifier: true
required: true
description: 'Unique identifier for this budget (URI).
Format: https://nde.nl/ontology/hc/budget/{custodian-id}/{fiscal-year}
'
budget_name:
slot_uri: dcterms:title
range: string
required: true
description: 'Name/title for this budget.
**Examples**:
- "Rijksmuseum Operating Budget FY2024"
- "Noord-Hollands Archief Annual Budget 2024-2025"
- "Wallace Collection Capital Plan 2024-2028"
'
budget_description:
slot_uri: dcterms:description
range: string
required: false
description: 'Narrative description of budget scope, priorities, and key allocations.
'
budget_type:
slot_uri: dcterms:type
range: string
multivalued: true
required: true
description: 'Type(s) of budget.
**Values**:
- OPERATING: Day-to-day operations
- CAPITAL: Major investments
- PROJECT: Time-limited initiative
- MULTI_YEAR: Spanning multiple fiscal years
- CONSOLIDATED: Institution-wide (all departments)
- DEPARTMENTAL: Single department/unit
'
examples:
- value:
- OPERATING
- CONSOLIDATED
description: Institution-wide operating budget
fiscal_year_start:
slot_uri: time:hasBeginning
range: date
required: true
description: 'Start date of fiscal year covered by this budget.
**Common patterns**:
- Calendar year: 2024-01-01
- UK government: 2024-04-01
- US federal: 2023-10-01 (for FY2024)
- Academic: 2024-09-01
'
fiscal_year_end:
slot_uri: time:hasEnd
range: date
required: true
description: 'End date of fiscal year covered by this budget.
'
total_budget_amount:
slot_uri: schema:amount
range: decimal
required: false
description: 'Total budget amount (sum of all categories).
**Schema.org**: schema:amount for monetary values.
Express in budget_currency units.
'
examples:
- value: 45000000.0
description: EUR 45 million annual budget
budget_currency:
slot_uri: schema:currency
range: string
required: true
description: 'Currency for all monetary amounts in this budget.
**ISO 4217 codes**: EUR, USD, GBP, etc.
**Schema.org**: schema:currency for currency designation.
'
examples:
- value: EUR
description: Euro currency
- value: USD
description: US Dollar currency
operating_budget:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Operating budget allocation (day-to-day operations).
**FRAPO**: frapo:hasFunding for funding amounts.
Typically includes:
- Personnel costs
- Utilities
- Supplies
- Maintenance
- Marketing
'
capital_budget:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Capital budget allocation (major investments).
Typically includes:
- Building construction/renovation
- Major equipment
- IT systems
- Infrastructure
'
has_or_had_acquisition_budget:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Collection acquisition budget.
**Heritage-specific**: Budget for purchasing or acquiring
heritage materials (artworks, documents, objects).
May be supplemented by:
- Donor-funded acquisitions
- Government grants
- Deaccessioning proceeds (where permitted)
'
personnel_budget:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Personnel budget allocation.
Includes:
- Salaries and wages
- Benefits
- Pension contributions
- Contract staff
Often 50-70% of operating budget for heritage institutions.
'
preservation_budget:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Conservation and preservation budget.
**Heritage-specific**: Budget for maintaining and conserving
heritage collections.
Includes:
- Conservation treatments
- Preventive conservation
- Environmental controls
- Pest management
'
digitization_budget:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Digitization budget allocation.
**Heritage-specific**: Budget for creating digital surrogates
of physical collections.
Includes:
- Equipment
- Staff/contractors
- Storage infrastructure
- Metadata creation
'
innovation_budget:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Innovation budget allocation.
**Heritage-specific**: Budget for innovation projects that transform
how the institution operates, preserves, or provides access to heritage.
Includes:
- Digital transformation initiatives
- R&D and experimental programs
- New technology adoption (AI, machine learning, etc.)
- Process automation and improvement
- Visitor experience innovation
- Collection management system upgrades
- Data infrastructure modernization
**Distinct from digitization_budget**: Innovation focuses on transforming
processes and capabilities, while digitization focuses on creating
digital surrogates of physical collections.
**Examples**:
- AI-powered cataloging systems
- Virtual/augmented reality experiences
- Automated conservation monitoring
- Linked open data infrastructure
'
external_funding:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'External funding included in budget.
Sources:
- Government subsidies
- Grants
- Corporate sponsorship
- Donations
Typically must be distinguished for reporting purposes.
'
internal_funding:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Internal/earned revenue included in budget.
Sources:
- Admission fees
- Merchandise sales
- Venue rental
- Licensing fees
- Membership dues
'
endowment_draw:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Endowment draw/spend rate.
**Nonprofit-specific**: Amount drawn from endowment
principal or income for operations.
Typically governed by spending policy (e.g., 5% rule).
'
has_approval_date:
slot_uri: dcterms:dateAccepted
range: date
required: false
description: 'Date when budget was approved by governance body.
**Dublin Core**: dcterms:dateAccepted for approval.
'
was_approved_by:
slot_uri: prov:wasAttributedTo
range: string
required: false
description: 'Governance body or authority that approved budget.
**Examples**:
- "Board of Directors"
- "Executive Committee"
- "Ministry of Culture"
- "City Council"
'
budget_status:
slot_uri: schema:eventStatus
range: string
required: true
description: 'Current status of this budget.
**Values**:
- DRAFT: Under development
- PROPOSED: Submitted for approval
- APPROVED: Officially approved
- ACTIVE: Currently in effect
- REVISED: Modified after approval
- CLOSED: Fiscal period ended
'
examples:
- value: ACTIVE
description: Current fiscal year budget in effect
revision_number:
slot_uri: dcterms:hasVersion
range: integer
required: false
description: 'Version number if budget has been revised.
Initial budget = 0, first revision = 1, etc.
'
revision_date:
slot_uri: dcterms:modified
range: date
required: false
description: 'Date of most recent budget revision.
'
managing_unit:
slot_uri: org:unitOf
range: OrganizationalStructure
required: false
description: 'Organizational unit responsible for this budget.
For DEPARTMENTAL budgets: the department
For CONSOLIDATED budgets: Finance department or executive office
'
documented_by:
slot_uri: rico:isDocumentedBy
range: uriorcurie
multivalued: true
required: false
description: 'FinancialStatement(s) that document actual performance against this budget.
**RiC-O**: rico:isDocumentedBy for documentation relationship.
**Inverse**: FinancialStatement.documents_budget
Links to:
- Annual reports
- Quarterly financial statements
- Audit reports
- Form 990 (US nonprofits)
'
refers_to_custodian:
slot_uri: crm:P46i_forms_part_of
range: Custodian
required: true
description: 'Links this budget to the Custodian hub.
**CIDOC-CRM**: P46i_forms_part_of for part-whole.
'
was_derived_from:
slot_uri: prov:wasDerivedFrom
range: CustodianObservation
multivalued: true
required: false
description: 'Observation(s) from which this budget was derived.
**PROV-O**: prov:wasDerivedFrom for provenance.
'
was_generated_by:
slot_uri: prov:wasGeneratedBy
range: ReconstructionActivity
required: false
description: 'Reconstruction activity that generated this record.
**PROV-O**: prov:wasGeneratedBy for generation.
'
valid_from:
slot_uri: time:hasBeginning
range: date
required: false
description: 'Start of validity period (typically = fiscal_year_start).
'
valid_to:
slot_uri: time:hasEnd
range: date
required: false
description: 'End of validity period (typically = fiscal_year_end).
'
specificity_annotation:
range: SpecificityAnnotation
inlined: true

View file

@ -129,11 +129,6 @@ classes:
identifier: true
required: true
range: uriorcurie
description: 'Unique identifier for this funding call.
Format: https://nde.nl/ontology/hc/call/{issuing-org-slug}/{call-code}
'
pattern: ^https://nde\.nl/ontology/hc/call/[a-z0-9-]+/[a-z0-9-]+$
examples:
- value: https://nde.nl/ontology/hc/call/ec/cl2-2025-heritage-01
@ -141,27 +136,15 @@ classes:
- value: https://nde.nl/ontology/hc/call/nlhf/medium-grants-2025
description: National Lottery Heritage Fund medium grants
call_title:
slot_uri: skos:prefLabel
required: true
range: string
description: 'Official title of the funding call.
Should match documentation exactly for discoverability.
'
examples:
- value: Cultural heritage, cultural and creative industries
description: Horizon Europe Cluster 2 call title
- value: European Cooperation Projects
description: Creative Europe call title
call_short_name:
slot_uri: skos:altLabel
range: string
description: 'Short name or official code for the call.
Often used in EU Funding & Tenders portal.
'
examples:
- value: CL2-2025-HERITAGE-01
description: Horizon Europe call code
@ -170,53 +153,19 @@ classes:
call_status:
required: true
range: CallForApplicationStatusEnum
description: 'Current lifecycle status of the funding call.
See CallForApplicationStatusEnum for status values:
- ANNOUNCED: Call published, not yet open
- OPEN: Currently accepting applications
- CLOSING_SOON: < 30 days until deadline
- CLOSED: Deadline passed
- UNDER_REVIEW: Evaluation in progress
- RESULTS_PUBLISHED: Decisions announced
- CANCELLED: Call terminated
- REOPENED: Previously closed call reactivated
'
examples:
- value: OPEN
description: Currently accepting applications
- value: CLOSING_SOON
description: Deadline approaching
has_application_deadline:
slot_uri: schema:validThrough
required: true
range: date
description: 'Final deadline for application submissions.
Critical field for heritage custodians planning applications.
'
examples:
- value: '2025-09-16'
description: Horizon Europe CL2 2025 deadline
total_budget:
slot_uri: schema:price
range: string
description: 'Total funding budget available for this call including currency.
Format: "{amount} {currency}" e.g., "82.5M EUR"
'
examples:
- value: 82.5M EUR
description: Horizon Europe heritage budget
@ -226,11 +175,6 @@ classes:
range: string
multivalued: true
inlined_as_list: true
description: 'Types of organisations eligible to apply for this call.
Important for heritage custodians to determine eligibility.
'
examples:
- value: Public bodies
- value: Non-profit organisations
@ -239,100 +183,32 @@ classes:
- value: Higher education institutions
- value: Cultural heritage institutions
issuing_organisation:
slot_uri: schema:offeredBy
required: true
range: uriorcurie
description: 'The FundingOrganisation that issues this call.
URI reference to EncompassingBody entity (FundingOrganisation subclass).
Format: https://nde.nl/ontology/hc/encompassing-body/funding/{slug}
**Inverse of FundingOrganisation.issued_calls**:
- FundingOrganisation → issued_calls → CallForApplication[]
- CallForApplication → issuing_organisation → FundingOrganisation
'
examples:
- value: https://nde.nl/ontology/hc/encompassing-body/funding/ec-rea
description: European Research Executive Agency
- value: https://nde.nl/ontology/hc/encompassing-body/funding/nlhf
description: National Lottery Heritage Fund
web_observation:
slot_uri: prov:wasInfluencedBy
range: uriorcurie
multivalued: true
inlined_as_list: true
description: 'WebObservation records documenting the provenance of call information.
Because call details are often extracted from web sources (EU portals,
funding organisation websites, etc.), this field links to WebObservation
records that track when and where information was retrieved.
**PROV-O Integration**:
- CallForApplication prov:wasInfluencedBy WebObservation
- WebObservation prov:used SourceDocument (the web page)
- WebObservation pav:retrievedOn datetime
'
examples:
- value: https://nde.nl/ontology/hc/observation/web/2025-11-29/eu-horizon-cl2
description: Web observation of Horizon Europe call page
has_or_had_requirement:
slot_uri: dcterms:requires
range: FundingRequirement
multivalued: true
inlined: true
inlined_as_list: true
description: "Structured requirements for this funding call with provenance tracking.\n\nEach FundingRequirement represents\
\ a single eligibility criterion,\nfinancial condition, partnership requirement, or other constraint.\nRequirements\
\ link to WebObservation for source tracking.\n\n**REPLACES UNSTRUCTURED FIELDS**:\n\nThe `requirements` slot provides\
\ structured alternatives to:\n- `eligible_applicants` → ELIGIBILITY_ORGANIZATIONAL requirements\n- `eligible_countries`\
\ → ELIGIBILITY_GEOGRAPHIC requirements\n- `funding_rate` → FINANCIAL_RATE requirements\n- `co_funding_required`\
\ → FINANCIAL_COFUNDING requirements\n- `partnership_required` → PARTNERSHIP_* requirements\n- `minimum_partners`\
\ → PARTNERSHIP_MINIMUM_PARTNERS requirements\n\nOriginal fields are retained for backward compatibility but\n`requirements`\
\ provides richer, provenance-tracked alternatives.\n\n**PROVENANCE CHAIN**:\n\n```\nCallForApplication\n │\n\
\ └── requirements ──→ FundingRequirement[]\n │\n \
\ ├── requirement_type: ELIGIBILITY_*\n ├── requirement_text: \"...\"\n \
\ ├── requirement_value: \"...\"\n │\n \
\ └── observed_in ──→ WebObservation\n │\n\
\ └── source_url, retrieved_on, ...\n```\n\n**EXAMPLE USAGE**:\n\
\n```yaml\nrequirements:\n - requirement_id: \".../min-partners-3\"\n requirement_type: PARTNERSHIP_MINIMUM_PARTNERS\n\
\ requirement_text: \"Minimum 3 partners from 3 EU countries\"\n requirement_value: \"3\"\n requirement_unit:\
\ \"partners\"\n is_mandatory: true\n observed_in: \".../observation/web/2025-11-29/eu-horizon\"\n extraction_confidence:\
\ 0.98\n \n - requirement_id: \".../open-access\"\n requirement_type: TECHNICAL_OPEN_ACCESS\n requirement_text:\
\ \"Immediate open access required\"\n requirement_value: \"immediate\"\n is_mandatory: true\n observed_in:\
\ \".../observation/web/2025-11-29/eu-horizon\"\n```\n"
examples:
- value: See FundingRequirement class examples
description: Structured requirements with provenance
funded_project:
slot_uri: schema:fundedItem
range: uriorcurie
multivalued: true
inlined_as_list: true
description: "Projects that received funding through this call.\n\nURI references to Project entities.\nFormat: https://nde.nl/ontology/hc/project/{organizing-body-slug}/{project-slug}\n\
\n**Inverse of Project.funding_call**:\n- CallForApplication → funded_projects → Project[]\n- Project → funding_call\
\ → CallForApplication\n\n**Schema.org Alignment**:\nUses `schema:fundedItem` - \"Indicates something directly or\
\ indirectly \nfunded or co-funded through a Grant.\" Since CallForApplication represents\na funding opportunity\
\ that results in grants, the funded projects are\nthe items ultimately funded.\n\n**RELATIONSHIP MODEL**:\n\n```\n\
CallForApplication (e.g., \"HORIZON-CL2-2025-HERITAGE-01\")\n │\n └── funded_projects ──→ Project[]\n\
\ │\n └── funding_call ──→ CallForApplication\n```\n\
\n**DISTINCTION FROM funding_source**:\n\n- `Project.funding_source`: String description of where funding comes\
\ from\n (legacy field, may list multiple sources including non-call sources)\n- `Project.funding_call`: URI reference\
\ to specific CallForApplication\n that funded this project (structured, semantic link)\n\nBoth can coexist - funding_source\
\ for human readability, funding_call\nfor machine-navigable linked data.\n"
examples:
- value: https://nde.nl/ontology/hc/project/nde/heritage-digitization-2025
description: Project funded by this call

View file

@ -47,78 +47,25 @@ classes:
CateringPlace:
is_a: ReconstructedEntity
class_uri: schema:FoodEstablishment
description: |
Catering facility, café, or restaurant operated at a heritage custodian venue.
**DEFINITION**:
A CateringPlace is a food and beverage facility operated at or by a heritage
custodian. This includes museum cafés, archive tea rooms, library cafeterias,
and other dining facilities that serve visitors and staff. May also include
historic restaurants or cafés that are themselves heritage institutions.
**SCHEMA.ORG ALIGNMENT**:
`schema:FoodEstablishment` - "A food-related business."
Subclasses include:
- `schema:CafeOrCoffeeShop` - Café or coffee shop
- `schema:Restaurant` - Full-service restaurant
**WIKIDATA TYPE LINKAGE (TasteScentHeritageTypeEnum Subset)**:
For heritage catering venues with cultural significance, can be classified
using TasteScentHeritageTypeEnum (15 types):
- Q11707 (restaurant) - General restaurant
- Q30022 (café) - Coffee shop/café
- Q1569167 (tearoom) - Tea room
- Q5765838 (historic restaurant) - Restaurant with heritage value
**DISTINCTION FROM GiftShop**:
| Type | Primary Function | Products |
|------|------------------|----------|
| **CateringPlace** | Food and beverage | Meals, drinks, snacks |
| GiftShop | Retail merchandise | Souvenirs, books, gifts |
**TYPES OF CATERING PLACES**:
1. **Museum Café**: Casual refreshments for visitors
2. **Museum Restaurant**: Full-service dining
3. **Historic Café**: Café that is itself heritage (e.g., literary café)
4. **Staff Canteen**: Staff dining facility
5. **Event Catering**: Function/event catering space
6. **Terrace/Garden Café**: Outdoor dining
**USE CASES**:
1. **Museum Restaurant**:
```yaml
CateringPlace:
catering_place_id: "https://nde.nl/ontology/hc/aux/rijksmuseum-restaurant"
catering_place_name: "RIJKS Restaurant"
catering_type: RESTAURANT
cuisine_type: "Modern Dutch fine dining"
has_michelin_star: true
```
2. **Archive Café**:
```yaml
CateringPlace:
catering_place_name: "Nationaal Archief Café"
catering_type: CAFE
serves_visitors_only: true
```
3. **Historic Literary Café**:
```yaml
CateringPlace:
catering_place_name: "Café Americain"
catering_type: HISTORIC_CAFE
heritage_type_classification: HISTORIC_RESTAURANT
founded_year: 1902
```
description: "Catering facility, café, or restaurant operated at a heritage custodian venue.\n\n**DEFINITION**:\n\nA CateringPlace\
\ is a food and beverage facility operated at or by a heritage\ncustodian. This includes museum cafés, archive tea rooms,\
\ library cafeterias,\nand other dining facilities that serve visitors and staff. May also include\nhistoric restaurants\
\ or cafés that are themselves heritage institutions.\n\n**SCHEMA.ORG ALIGNMENT**:\n\n`schema:FoodEstablishment` - \"\
A food-related business.\"\n\nSubclasses include:\n- `schema:CafeOrCoffeeShop` - Café or coffee shop\n- `schema:Restaurant`\
\ - Full-service restaurant\n\n**WIKIDATA TYPE LINKAGE (TasteScentHeritageTypeEnum Subset)**:\n\nFor heritage catering\
\ venues with cultural significance, can be classified\nusing TasteScentHeritageTypeEnum (15 types):\n\n- Q11707 (restaurant)\
\ - General restaurant\n- Q30022 (café) - Coffee shop/café\n- Q1569167 (tearoom) - Tea room\n- Q5765838 (historic restaurant)\
\ - Restaurant with heritage value\n\n**DISTINCTION FROM GiftShop**:\n\n| Type | Primary Function | Products |\n|------|------------------|----------|\n\
| **CateringPlace** | Food and beverage | Meals, drinks, snacks |\n| GiftShop | Retail merchandise | Souvenirs, books,\
\ gifts |\n\n**TYPES OF CATERING PLACES**:\n\n1. **Museum Café**: Casual refreshments for visitors\n2. **Museum Restaurant**:\
\ Full-service dining\n3. **Historic Café**: Café that is itself heritage (e.g., literary café)\n4. **Staff Canteen**:\
\ Staff dining facility\n5. **Event Catering**: Function/event catering space\n6. **Terrace/Garden Café**: Outdoor dining\n\
\n**USE CASES**:\n\n1. **Museum Restaurant**:\n ```yaml\n CateringPlace:\n catering_place_id: \"https://nde.nl/ontology/hc/aux/rijksmuseum-restaurant\"\
\n catering_place_name: \"RIJKS Restaurant\"\n catering_type: RESTAURANT\n cuisine_type: \"Modern Dutch\
\ fine dining\"\n has_michelin_star: true\n ```\n\n2. **Archive Café**:\n ```yaml\n CateringPlace:\n catering_place_name:\
\ \"Nationaal Archief Café\"\n catering_type: CAFE\n serves_visitors_only: true\n ```\n\n3. **Historic Literary\
\ Café**:\n ```yaml\n CateringPlace:\n catering_place_name: \"Café Americain\"\n catering_type: HISTORIC_CAFE\n\
\ heritage_type_classification: HISTORIC_RESTAURANT\n founded_year: 1902\n ```\n"
exact_mappings:
- schema:FoodEstablishment
close_mappings:
@ -155,10 +102,6 @@ classes:
- was_generated_by
slot_usage:
catering_place_id:
slot_uri: dcterms:identifier
description: |
Unique identifier for this catering place.
Format: URI following NDE Heritage Custodian ontology conventions.
range: uriorcurie
required: true
identifier: true
@ -166,11 +109,6 @@ classes:
- value: https://nde.nl/ontology/hc/aux/rijksmuseum-restaurant
description: Rijksmuseum fine dining restaurant
catering_place_name:
slot_uri: skos:prefLabel
description: |
Name of this catering facility.
SKOS: prefLabel for preferred name.
range: string
required: true
examples:
@ -181,33 +119,12 @@ classes:
- value: Van Gogh Museum Café
description: Museum café
catering_place_description:
slot_uri: dcterms:description
description: |
Free-text description of this catering facility.
Include:
- Type of establishment
- Menu/cuisine highlights
- Atmosphere/setting
- Access information
range: string
examples:
- value: Michelin-starred restaurant serving modern Dutch cuisine using seasonal
ingredients. Located in the museum's atrium with views of the garden.
- value: Michelin-starred restaurant serving modern Dutch cuisine using seasonal ingredients. Located in the museum's
atrium with views of the garden.
description: Fine dining restaurant
catering_type:
slot_uri: dcterms:type
description: |
Type classification of catering facility.
Local enum for catering venue types:
- CAFE: Casual café/coffee shop
- RESTAURANT: Full-service restaurant
- TEAROOM: Tea room
- CANTEEN: Staff cafeteria
- TERRACE: Outdoor/garden café
- HISTORIC_CAFE: Heritage café venue
- EVENT_CATERING: Function catering space
range: CateringTypeEnum
required: true
examples:
@ -216,32 +133,12 @@ classes:
- value: CAFE
description: Café
heritage_type_classification:
slot_uri: schema:additionalType
description: |
Optional heritage classification from TasteScentHeritageTypeEnum.
Use for catering venues that are THEMSELVES heritage institutions
(historic restaurants, literary cafés, etc.).
TasteScentHeritageTypeEnum includes 15 types:
- RESTAURANT (Q11707)
- CAFE (Q30022)
- TEAROOM (Q1569167)
- HISTORIC_RESTAURANT (Q5765838)
NOT applicable for standard museum cafés - only for venues
with independent cultural heritage significance.
range: TasteScentHeritageTypeEnum
required: false
examples:
- value: HISTORIC_RESTAURANT
description: Heritage restaurant
cuisine_type:
slot_uri: schema:servesCuisine
description: |
Type of cuisine served.
Schema.org: servesCuisine for cuisine classification.
range: string
examples:
- value: Modern Dutch fine dining
@ -251,37 +148,21 @@ classes:
- value: Traditional Dutch pancakes
description: Dutch specialty
seating_capacity:
slot_uri: schema:maximumAttendeeCapacity
description: |
Indoor seating capacity.
Schema.org: maximumAttendeeCapacity for capacity.
range: integer
examples:
- value: 80
description: 80 indoor seats
has_outdoor_seating:
slot_uri: schema:amenityFeature
description: |
Whether facility has outdoor/terrace seating.
range: boolean
examples:
- value: true
description: Has terrace
outdoor_seating_capacity:
slot_uri: schema:maximumAttendeeCapacity
description: |
Outdoor/terrace seating capacity if applicable.
range: integer
examples:
- value: 40
description: 40 terrace seats
opening_hour:
slot_uri: schema:openingHours
description: |
Opening hours for catering facility.
May differ from museum hours (evening service, etc.).
range: string
examples:
- value: Tu-Su 10:00-17:00
@ -289,12 +170,6 @@ classes:
- value: Tu-Su 10:00-22:00
description: Extended evening hours
serves_visitors_only:
slot_uri: schema:eligibleCustomerType
description: |
Whether facility is for museum/archive visitors only.
TRUE: Requires museum admission or located inside security
FALSE: Accessible without admission
range: boolean
examples:
- value: true
@ -302,37 +177,21 @@ classes:
- value: false
description: Public access
serves_staff:
slot_uri: schema:eligibleCustomerType
description: |
Whether facility serves staff (canteen function).
range: boolean
examples:
- value: true
description: Serves staff
reservation_required:
slot_uri: schema:reservationRequired
description: |
Whether reservations are required or recommended.
Often required for museum restaurants.
range: boolean
examples:
- value: true
description: Reservations required
has_michelin_star:
slot_uri: schema:award
description: |
Whether restaurant has Michelin star(s).
Some museum restaurants achieve fine dining recognition.
range: boolean
examples:
- value: true
description: Michelin starred
michelin_star:
slot_uri: schema:award
description: |
Number of Michelin stars if applicable.
range: integer
minimum_value: 1
maximum_value: 3
@ -340,12 +199,6 @@ classes:
- value: 1
description: One Michelin star
catering_price_range:
slot_uri: schema:priceRange
description: |
Price range indicator.
Schema.org: priceRange for price level.
Use € symbols (€ to €€€€) or descriptive.
range: string
examples:
- value: €€€€
@ -355,9 +208,6 @@ classes:
- value:
description: Budget-friendly
has_or_had_accessibility_feature:
slot_uri: schema:accessibilityFeature
description: |
Accessibility features at catering facility.
range: string
multivalued: true
examples:
@ -366,11 +216,6 @@ classes:
- value: Accessible restrooms
description: Accessible WC
operator:
slot_uri: schema:provider
description: |
Operator of catering facility if outsourced.
Many museum restaurants are run by external caterers.
range: string
examples:
- value: Vermaat Groep
@ -378,26 +223,15 @@ classes:
- value: In-house
description: Museum-operated
founded_year:
slot_uri: schema:foundingDate
description: |
Year facility was founded (for historic cafés).
Only relevant for heritage catering venues.
range: integer
examples:
- value: 1902
description: Historic café founding year
was_derived_from:
slot_uri: prov:wasDerivedFrom
description: |
CustodianObservation(s) from which this catering place record was derived.
range: CustodianObservation
multivalued: true
required: false
was_generated_by:
slot_uri: prov:wasGeneratedBy
description: |
ReconstructionActivity that generated this catering place record.
range: ReconstructionActivity
required: false
specificity_annotation:
@ -420,8 +254,8 @@ classes:
- value:
catering_place_id: https://nde.nl/ontology/hc/aux/rijksmuseum-restaurant
catering_place_name: RIJKS Restaurant
catering_place_description: Michelin-starred restaurant serving modern Dutch
cuisine. Located in museum atrium with garden views.
catering_place_description: Michelin-starred restaurant serving modern Dutch cuisine. Located in museum atrium with
garden views.
catering_type: RESTAURANT
cuisine_type: Modern Dutch fine dining
seating_capacity: 80
@ -438,8 +272,7 @@ classes:
- value:
catering_place_id: https://nde.nl/ontology/hc/aux/na-cafe
catering_place_name: Nationaal Archief Café
catering_place_description: Casual café for archive visitors. Light lunches,
coffee, and pastries.
catering_place_description: Casual café for archive visitors. Light lunches, coffee, and pastries.
catering_type: CAFE
cuisine_type: Café fare, sandwiches, soups
seating_capacity: 40
@ -453,8 +286,7 @@ classes:
- value:
catering_place_id: https://nde.nl/ontology/hc/aux/cafe-americain
catering_place_name: Café Americain
catering_place_description: Historic art deco café dating from 1902. Literary
landmark and protected monument.
catering_place_description: Historic art deco café dating from 1902. Literary landmark and protected monument.
catering_type: HISTORIC_CAFE
heritage_type_classification: HISTORIC_RESTAURANT
cuisine_type: International brasserie
@ -464,4 +296,3 @@ classes:
founded_year: 1902
catering_price_range: €€€
description: Historic heritage café

View file

@ -15,45 +15,77 @@ classes:
ChurchArchive:
is_a: ArchiveOrganizationType
class_uri: skos:Concept
description: |
Archive kept by a church or ecclesiastical organization, preserving
description: 'Archive kept by a church or ecclesiastical organization, preserving
records of religious administration and church life.
**Wikidata**: Q2877653
**Note**: There are two Wikidata entries for church archives:
- Q2877653: General church/ecclesiastical archives (this class)
- Q64166606: Swedish parish archives specifically
**Scope**:
Church archives (Kirchenarchive) preserve:
- Governing body records (synods, councils, boards)
- Pastoral correspondence
- Property and financial records
- Membership and vital records (historical)
- Missionary and charitable activity documentation
- Publications and periodicals
- Photographs and audiovisual materials
**Organizational Levels**:
Church archives exist at multiple levels:
- Denominational headquarters (national/international)
- Regional bodies (dioceses, conferences, presbyteries)
- Local congregations (see ParishArchive)
**Related Types**:
- CathedralArchive (Q132201761) - Cathedral chapter records
- DiocesanArchive (Q11906839) - Diocese administration
- MonasteryArchive (Q27030561) - Monastic institution records
- ParishArchive (Q34544468) - Local congregation records
- ReligiousArchive (Q85545753) - Broader religious archives
**Genealogical Value**:
Church archives are crucial for:
- Birth, baptism, marriage, death records
- Membership and confirmation registers
- Immigration and emigration documentation
- Historical vital statistics
'
slots:
- wikidata_entity
- has_or_had_holds_record_set_type
@ -61,18 +93,10 @@ classes:
wikidata_entity:
equals_string: Q2877653
has_or_had_holds_record_set_type:
description: |
Links this custodian type to the record set types it typically holds.
Uses RiC-O property rico:isOrWasHolderOf to express custodial relationship.
equals_expression: '["hc:ChurchGovernanceFonds", "hc:ParishRegisterSeries", "hc:PastoralCorrespondenceCollection",
"hc:ChurchPropertyFonds", "hc:CongregationalLifeCollection"]
**Church Archive Holdings**:
- ChurchGovernanceFonds - synods, councils, consistory records
- ParishRegisterSeries - baptisms, marriages, burials (DTB)
- PastoralCorrespondenceCollection - clergy correspondence
- ChurchPropertyFonds - property, finance, building records
- CongregationalLifeCollection - societies, events, publications
equals_expression: |
["hc:ChurchGovernanceFonds", "hc:ParishRegisterSeries", "hc:PastoralCorrespondenceCollection", "hc:ChurchPropertyFonds", "hc:CongregationalLifeCollection"]
'
see_also:
- CathedralArchive
- DiocesanArchive

View file

@ -58,102 +58,35 @@ imports:
classes:
Collection:
class_uri: rico:RecordSet
description: |
Specific, inventoried heritage holdings with fine-grained cataloguing detail.
**CRITICAL DISTINCTION**:
| CustodianCollection | Collection (THIS CLASS) |
|---------------------|------------------------|
| Abstract/nominal reference | Specific, catalogued holdings |
| Entire collection of a Custodian | Individual fonds, series, or named collections |
| Vague ("the museum's collection") | Precise ("the Van Gogh correspondence collection") |
| Top-level container | Nested within CustodianCollection |
| crm:E78_Curated_Holding | rico:RecordSet |
1. **RiC-O (Records in Contexts)**:
- `rico:RecordSet` - "A record set is a group of record(s), made and/or assembled
by one or more agent(s), characterized by a common provenance and/or by being
received/maintained by the same custodian."
- Enables: series, fonds, sub-fonds, sub-series hierarchies
- Properties: rico:hasRecordSetType, rico:hasExtent, rico:hasTemporalCoverage
2. **CIDOC-CRM**:
- Close mapping to crm:E78_Curated_Holding (at specific level)
- crm:E24_Physical_Human-Made_Thing for physical collections
3. **BIBFRAME**:
- bf:Collection for library special collections
- bf:Item for individual physical items within
4. **Europeana Data Model**:
- edm:ProvidedCHO for cultural heritage objects
- edm:hasView for digital representations
**HIERARCHICAL STRUCTURE**:
```
Custodian (hub)
└── CustodianCollection (aspect - abstract/nominal)
└── Collection (THIS CLASS - specific holdings)
├── CollectionType (classification)
├── AccessPolicy (access restrictions)
├── has_or_had_sub_collection → Collection[] (nested hierarchy)
│ └── Collection (sub-fonds, series, etc.)
└── items → ExhibitedObject[] (individual objects)
```
**USE CASES**:
1. **Archival Fonds**:
```yaml
Collection:
collection_name: "Records of the Dutch East India Company (VOC)"
collection_type: FONDS
record_set_type: rico:Fonds
extent: "1,250 linear meters"
temporal_coverage: "1602-1799"
provenance: "Dutch East India Company (VOC)"
```
2. **Museum Named Collection**:
```yaml
Collection:
collection_name: "Drucker-Fraser Collection"
collection_type: NAMED_COLLECTION
extent: "125 artworks"
acquisition_method: "Bequest (1937)"
access_policy: OPEN_ACCESS
```
3. **Library Special Collection**:
```yaml
Collection:
collection_name: "Medieval Manuscripts Collection"
collection_type: SPECIAL_COLLECTION
bf_collection_type: bf:Collection
extent: "342 manuscripts, 12th-15th century"
temporal_coverage: "1100-1500"
```
**PROVENANCE TRACKING**:
Collection provenance is tracked through:
- `provenance_statement` - Narrative provenance description
- `custodial_history` - Chain of custody
- `acquisition_method` - How acquired (purchase, donation, transfer, bequest)
- `acquisition_date` - When acquired
- `acquisition_source` - From whom acquired
**ACCESS CONTROL**:
Collections link to AccessPolicy for:
- Open access (publicly available)
- Restricted access (researchers only)
- Closed access (temporary closure, embargo)
- Partial access (portions available)
description: "Specific, inventoried heritage holdings with fine-grained cataloguing detail.\n\n**CRITICAL DISTINCTION**:\n\
\n| CustodianCollection | Collection (THIS CLASS) |\n|---------------------|------------------------|\n| Abstract/nominal\
\ reference | Specific, catalogued holdings |\n| Entire collection of a Custodian | Individual fonds, series, or named\
\ collections |\n| Vague (\"the museum's collection\") | Precise (\"the Van Gogh correspondence collection\") |\n| Top-level\
\ container | Nested within CustodianCollection |\n| crm:E78_Curated_Holding | rico:RecordSet |\n\n1. **RiC-O (Records\
\ in Contexts)**:\n - `rico:RecordSet` - \"A record set is a group of record(s), made and/or assembled\n by one\
\ or more agent(s), characterized by a common provenance and/or by being\n received/maintained by the same custodian.\"\
\n - Enables: series, fonds, sub-fonds, sub-series hierarchies\n - Properties: rico:hasRecordSetType, rico:hasExtent,\
\ rico:hasTemporalCoverage\n\n2. **CIDOC-CRM**:\n - Close mapping to crm:E78_Curated_Holding (at specific level)\n\
\ - crm:E24_Physical_Human-Made_Thing for physical collections\n\n3. **BIBFRAME**:\n - bf:Collection for library\
\ special collections\n - bf:Item for individual physical items within\n\n4. **Europeana Data Model**:\n - edm:ProvidedCHO\
\ for cultural heritage objects\n - edm:hasView for digital representations\n\n**HIERARCHICAL STRUCTURE**:\n\n```\n\
Custodian (hub)\n │\n └── CustodianCollection (aspect - abstract/nominal)\n │\n └── Collection (THIS\
\ CLASS - specific holdings)\n ├── CollectionType (classification)\n ├── AccessPolicy (access\
\ restrictions)\n ├── has_or_had_sub_collection → Collection[] (nested hierarchy)\n │ \
\ └── Collection (sub-fonds, series, etc.)\n └── items → ExhibitedObject[] (individual objects)\n```\n\n\
**USE CASES**:\n\n1. **Archival Fonds**:\n ```yaml\n Collection:\n collection_name: \"Records of the Dutch East\
\ India Company (VOC)\"\n collection_type: FONDS\n record_set_type: rico:Fonds\n extent: \"1,250 linear\
\ meters\"\n temporal_coverage: \"1602-1799\"\n provenance: \"Dutch East India Company (VOC)\"\n ```\n\n2.\
\ **Museum Named Collection**:\n ```yaml\n Collection:\n collection_name: \"Drucker-Fraser Collection\"\n \
\ collection_type: NAMED_COLLECTION\n extent: \"125 artworks\"\n acquisition_method: \"Bequest (1937)\"\n\
\ access_policy: OPEN_ACCESS\n ```\n\n3. **Library Special Collection**:\n ```yaml\n Collection:\n collection_name:\
\ \"Medieval Manuscripts Collection\"\n collection_type: SPECIAL_COLLECTION\n bf_collection_type: bf:Collection\n\
\ extent: \"342 manuscripts, 12th-15th century\"\n temporal_coverage: \"1100-1500\"\n ```\n\n**PROVENANCE\
\ TRACKING**:\n\nCollection provenance is tracked through:\n- `provenance_statement` - Narrative provenance description\n\
- `custodial_history` - Chain of custody\n- `acquisition_method` - How acquired (purchase, donation, transfer, bequest)\n\
- `acquisition_date` - When acquired\n- `acquisition_source` - From whom acquired\n\n**ACCESS CONTROL**:\n\nCollections\
\ link to AccessPolicy for:\n- Open access (publicly available)\n- Restricted access (researchers only)\n- Closed access\
\ (temporary closure, embargo)\n- Partial access (portions available)\n"
exact_mappings:
- rico:RecordSet
- wikidata:Q2668072
@ -197,10 +130,6 @@ classes:
- valid_to
slot_usage:
collection_id:
slot_uri: dcterms:identifier
description: |
Unique identifier for this specific collection.
Format: URI following NDE Heritage Custodian ontology conventions.
range: uriorcurie
required: true
identifier: true
@ -208,14 +137,6 @@ classes:
- value: https://nde.nl/ontology/hc/collection/nationaal-archief-voc-fonds
description: VOC fonds at the National Archives
collection_name:
slot_uri: rico:title
description: |
Official name of this specific collection.
RiC-O: title for the name of a RecordSet.
Use the established collection name from finding aids, catalogs, or
official documentation.
range: string
required: true
examples:
@ -226,26 +147,12 @@ classes:
- value: Medieval Manuscripts Collection
description: Library special collection
collection_description:
slot_uri: rico:scopeAndContent
description: |
Narrative description of the collection's contents, scope, and significance.
RiC-O: scopeAndContent for detailed description of what the collection contains.
range: string
examples:
- value: The VOC archives comprise the administrative records of the Dutch
East India Company from its founding in 1602 until its dissolution in
1799. The fonds includes correspondence, resolutions, journals, accounts,
ship's logs, and maps documenting trade relations across Asia.
- value: The VOC archives comprise the administrative records of the Dutch East India Company from its founding in
1602 until its dissolution in 1799. The fonds includes correspondence, resolutions, journals, accounts, ship's
logs, and maps documenting trade relations across Asia.
collection_type_ref:
slot_uri: rico:hasRecordSetType
description: |
Classification of this collection from CollectionType hierarchy.
RiC-O: hasRecordSetType links RecordSet to its classification.
Provides semantic classification (fonds, series, special collection, etc.)
distinguishing this Collection from generic CustodianCollection references.
range: CollectionType
required: true
examples:
@ -254,17 +161,6 @@ classes:
- value: https://nde.nl/ontology/hc/collection-type/special-collection
description: Library special collection
record_set_type:
slot_uri: rico:hasRecordSetType
description: |
Direct mapping to RiC-O RecordSetType vocabulary.
Standard RiC-O record set types:
- rico:Fonds - Archival fonds (provenance-based)
- rico:Series - Archival series
- rico:File - Archival file
- rico:Collection - Assembled collection (not provenance-based)
Use for RDF interoperability with archival systems.
range: uriorcurie
examples:
- value: rico:Fonds
@ -274,16 +170,6 @@ classes:
- value: rico:Collection
description: Assembled collection
extent:
slot_uri: rico:hasExtent
description: |
Quantitative description of collection size.
RiC-O: hasExtent for size/quantity description.
Use standard archival/library metrics:
- Linear/running meters for archives
- Number of items/objects for museums
- Number of volumes/items for libraries
range: string
examples:
- value: 1,250 linear meters
@ -293,13 +179,6 @@ classes:
- value: 342 manuscripts
description: Library extent
extent_item:
slot_uri: schema:numberOfItems
description: |
Numeric count of items (when countable).
Schema.org: numberOfItems for countable collections.
Use when precise item count is known.
range: integer
examples:
- value: 125
@ -307,14 +186,6 @@ classes:
- value: 342
description: 342 manuscripts
temporal_coverage:
slot_uri: rico:hasTemporalCoverage
description: |
Time period covered by collection materials (NOT when collected).
RiC-O: hasTemporalCoverage for date range of contents.
Distinct from has_acquisition_date (when acquired) and valid_from/valid_to
(when collection existed at custodian).
range: TimeSpan
examples:
- value:
@ -322,13 +193,6 @@ classes:
end_date: '1799-12-31'
description: VOC records temporal coverage
subject_area:
slot_uri: dcterms:subject
description: |
Thematic subjects covered by the collection.
Dublin Core: subject for thematic classification.
Use controlled vocabularies where possible (AAT, LCSH, UNESCO thesaurus).
range: string
multivalued: true
examples:
@ -339,26 +203,11 @@ classes:
- Spice trade
description: VOC records subjects
provenance_statement:
slot_uri: rico:history
description: |
Narrative description of collection provenance and history.
RiC-O: history for provenance information.
Describes how the collection was created, assembled, and transferred
to current custodian.
range: string
examples:
- value: The VOC archives were transferred to the Dutch state upon the company's
dissolution in 1799. They were initially held by the Ministry of Colonies,
then transferred to the Algemeen Rijksarchief (now Nationaal Archief)
in 1856.
- value: The VOC archives were transferred to the Dutch state upon the company's dissolution in 1799. They were initially
held by the Ministry of Colonies, then transferred to the Algemeen Rijksarchief (now Nationaal Archief) in 1856.
custodial_history:
slot_uri: rico:history
description: |
Chain of custody - sequence of custodians who held this collection.
Lists previous custodians in chronological order.
range: string
multivalued: true
examples:
@ -369,19 +218,6 @@ classes:
- Nationaal Archief (2002-present)
description: VOC records custodial history
has_acquisition_method:
slot_uri: crm:P24i_changed_ownership_through
description: |
How the collection was acquired by current custodian.
CIDOC-CRM: P24i_changed_ownership_through for acquisition event.
Common methods:
- PURCHASE: Bought from previous owner
- DONATION: Gift from donor
- BEQUEST: Testamentary gift
- TRANSFER: Government/institutional transfer
- DEPOSIT: Long-term loan
- RESTITUTION: Return of looted/displaced materials
range: string
examples:
- value: TRANSFER
@ -389,19 +225,11 @@ classes:
- value: BEQUEST
description: Testamentary gift
has_acquisition_date:
slot_uri: crm:P4_has_time-span
description: |
Date when collection was acquired by current custodian.
range: date
examples:
- value: '1856-01-01'
description: Transfer to Algemeen Rijksarchief
has_acquisition_source:
slot_uri: prov:wasAttributedTo
description: |
Entity from whom collection was acquired.
PROV-O: wasAttributedTo for source attribution.
range: string
examples:
- value: Ministry of Colonies
@ -409,13 +237,6 @@ classes:
- value: Estate of Anna Drucker-Fraser
description: Source of bequest
has_or_had_access_policy_reference:
slot_uri: premis:hasRightsDeclaration
description: |
Access policy governing this collection.
Links to AccessPolicy class defining access conditions.
PREMIS: hasRightsDeclaration for access rights.
range: AccessPolicy
examples:
- value: https://nde.nl/ontology/hc/access-policy/open-access
@ -423,57 +244,13 @@ classes:
- value: https://nde.nl/ontology/hc/access-policy/restricted-researchers
description: Researchers only
has_arrangement:
slot_uri: rico:hasArrangement
description: |
Intellectual has_arrangement or classification system.
RiC-O: hasArrangement for organizational structure.
Describes how the collection is organized:
- Provenance-based (archival)
- Chronological
- Subject-based
- Alphabetical
range: string
examples:
- value: Organized by provenance, then chronologically within each creating
office
- value: Organized by provenance, then chronologically within each creating office
description: Archival has_arrangement
- value: Arranged alphabetically by artist name
description: Art collection has_arrangement
has_or_had_finding_aid:
slot_uri: rico:isDescribedBy
description: |
Finding aids describing this collection.
RiC-O: isDescribedBy links RecordSet to its descriptive tools.
**Replaces the previous simple `finding_aid_url` slot.**
Collections may have multiple finding aids of different types:
- Archival inventory (detailed item/folder listing)
- Repository guide (overview description)
- Online catalog (searchable database)
- Published bibliography
Each FindingAid object includes:
- `finding_aid_type_ref` → FindingAidType (Inventory, Catalogue, Guide, etc.)
- `url` → Online access URL
- `format` → EAD, PDF, HTML, ONLINE_DATABASE
- `served_by` → DigitalPlatform hosting the finding aid
**Example**:
```yaml
has_or_had_finding_aid:
- finding_aid_type_ref: ArchivalInventory
title: "Inventory of VOC Records"
url: "https://www.nationaalarchief.nl/onderzoeken/archief/1.04.02"
format: ["EAD", "HTML"]
- finding_aid_type_ref: RepositoryGuide
title: "Guide to Colonial Archives"
url: "https://www.nationaalarchief.nl/colonial-guide.pdf"
format: ["PDF"]
```
range: FindingAid
multivalued: true
inlined_as_list: true
@ -485,50 +262,22 @@ classes:
url: https://www.nationaalarchief.nl/onderzoeken/archief/1.04.02
description: VOC finding aid
digitization_status:
slot_uri: premis:hasRelatedStatementInformation
description: |
Current digitization status of this collection.
Values:
- NOT_DIGITIZED: No digital surrogates exist
- PARTIAL: Some materials digitized
- COMPLETE: Entire collection digitized
- ONGOING: Active digitization project
range: string
examples:
- value: PARTIAL
description: 30% digitized
digital_surrogate_url:
slot_uri: edm:hasView
description: |
URL to digital surrogate/representation of collection.
EDM: hasView for digital representation.
range: uri
multivalued: true
examples:
- value: https://www.nationaalarchief.nl/onderzoeken/archief/1.04.02/download
description: Digital scans of VOC records
parent_collection:
slot_uri: rico:isOrWasIncludedIn
description: |
Parent collection (for hierarchical nesting).
RiC-O: isOrWasIncludedIn for hierarchical containment.
Enables fonds → series → sub-series → file hierarchy.
range: Collection
examples:
- value: https://nde.nl/ontology/hc/collection/nationaal-archief-voc-fonds
description: Series within VOC fonds
has_or_had_sub_collection:
slot_uri: rico:includesOrIncluded
description: |
Child collections (for hierarchical nesting).
RiC-O: includesOrIncluded for hierarchical containment.
Inverse of parent_collection.
range: Collection
multivalued: true
inlined_as_list: true
@ -540,30 +289,6 @@ classes:
collection_type_ref: series
description: Series within VOC fonds
item:
slot_uri: rico:hasOrHadConstituent
description: |
Individual ExhibitedObject items within this collection.
RiC-O: hasOrHadConstituent for record-level items within a RecordSet.
Links to fully-modeled ExhibitedObject entities with:
- Creator attribution
- Medium and dimensions
- Provenance information
- Conservation history
- Exhibition history
**Relationship to ExhibitedObject.part_of_collection**:
This is the inverse relationship. Collection.items → ExhibitedObject[]
corresponds to ExhibitedObject.part_of_collection → Collection.
**Use Cases**:
- Museum: Individual artworks in a named collection
- Archive: Individual documents/files in a fonds/series
- Library: Individual rare books in a special collection
**Note**: For large collections, items may be linked by reference (URI)
rather than inlined, to avoid excessive file sizes.
range: ExhibitedObject
multivalued: true
inlined: false
@ -574,34 +299,6 @@ classes:
- https://nde.nl/ontology/hc/object/mauritshuis-goldfinch
description: Paintings in Mauritshuis collection
has_or_had_curation_activity:
slot_uri: crm:P147i_was_curated_by
description: |
Ongoing curation activities performed on this collection.
CIDOC-CRM: P147i_was_curated_by links E78_Curated_Holding to E87_Curation_Activity.
Links to CurationActivity instances representing ongoing collection management:
- Accessioning and deaccessioning
- Cataloging and inventory
- Digitization projects
- Condition surveys
- Rehousing and storage reorganization
- Provenance research
**Relationship to CurationActivity.curated_holding**:
This is the inverse relationship. Collection.curation_activities → CurationActivity[]
corresponds to CurationActivity.curated_holding → Collection.
**Use Cases**:
- Track annual inventory cycles
- Document digitization project progress
- Record collection development activities
- Monitor preservation activities
**Distinct from**:
- Exhibition: Time-bounded display events (use exhibitions slot)
- ConservationRecord: Discrete treatment actions on objects
- ProvenanceEvent: Ownership transfer events
range: CurationActivity
multivalued: true
inlined: false
@ -611,30 +308,18 @@ classes:
- https://nde.nl/ontology/hc/activity/nationaal-archief-inventory-2025
description: Curation activities for VOC fonds
part_of_custodian_collection:
slot_uri: crm:P46i_forms_part_of
description: |
The abstract CustodianCollection this specific Collection belongs to.
Links specific holdings back to the nominal/abstract collection aspect.
CIDOC-CRM: P46i_forms_part_of for part-whole relationship.
range: CustodianCollection
required: true
examples:
- value: https://nde.nl/ontology/hc/custodian-collection/nationaal-archief
description: Part of Nationaal Archief's overall collection
valid_from:
slot_uri: schema:validFrom
description: |
Date when this collection began at current custodian.
range: date
valid_to:
slot_uri: schema:validThrough
description: |
Date when this collection ended at current custodian (if transferred/deaccessioned).
range: date
has_or_had_custodian_type:
equals_expression: '["hc:GalleryType", "hc:LibraryType", "hc:ArchiveOrganizationType", "hc:MuseumType", "hc:BioCustodianType", "hc:HolySacredSiteType"]'
equals_expression: '["hc:GalleryType", "hc:LibraryType", "hc:ArchiveOrganizationType", "hc:MuseumType", "hc:BioCustodianType",
"hc:HolySacredSiteType"]'
specificity_annotation:
range: SpecificityAnnotation
inlined: true
@ -650,8 +335,7 @@ classes:
- Provenance tracking includes custodial_history, acquisition_method, has_acquisition_source
- finding_aids replaces the simple finding_aid_url slot (2025-12-09)
- items slot links to ExhibitedObject[] for individual collection objects (2026-01)
- curation_activities slot links to CurationActivity[] for ongoing management
(2026-01)
- curation_activities slot links to CurationActivity[] for ongoing management (2026-01)
see_also:
- https://www.ica.org/standards/RiC/ontology#RecordSet
- http://www.cidoc-crm.org/html/cidoc_crm_v7.1.3.html#E78
@ -661,9 +345,8 @@ classes:
- value:
collection_id: https://nde.nl/ontology/hc/collection/nationaal-archief-voc-fonds
collection_name: Records of the Dutch East India Company (VOC)
collection_description: The VOC archives comprise the administrative records
of the Dutch East India Company from its founding in 1602 until its dissolution
in 1799.
collection_description: The VOC archives comprise the administrative records of the Dutch East India Company from
its founding in 1602 until its dissolution in 1799.
collection_type_ref: https://nde.nl/ontology/hc/collection-type/fonds
record_set_type: rico:Fonds
extent: 1,250 linear meters
@ -674,8 +357,7 @@ classes:
- Colonial trade
- Maritime history
- Dutch East Indies
provenance_statement: Transferred to the Dutch state upon the company's dissolution
in 1799.
provenance_statement: Transferred to the Dutch state upon the company's dissolution in 1799.
acquisition_method: TRANSFER
acquisition_date: '1856-01-01'
acquisition_source: Ministry of Colonies
@ -695,9 +377,3 @@ classes:
digitization_status: PARTIAL
part_of_custodian_collection: https://nde.nl/ontology/hc/custodian-collection/nationaal-archief
description: VOC archival fonds at Nationaal Archief
# NOTE: All slots are defined in centralized modules/slots/ files
# Slots used by this class: collection_id, collection_type_ref, record_set_type,
# extent_items, subject_areas, provenance_statement, custodial_history, acquisition_source,
# has_or_had_access_policy_reference, arrangement, finding_aids, digital_surrogate_url, parent_collection,
# has_or_had_sub_collection, items, curation_activities, part_of_custodian_collection

View file

@ -127,19 +127,6 @@ classes:
- was_generated_by
slot_usage:
cms_id:
slot_uri: dcterms:identifier
description: 'Unique identifier for this CMS instance/deployment.
Format: URI following NDE Heritage Custodian ontology conventions.
Note: This identifies a specific DEPLOYMENT of a CMS at an institution,
not the CMS product itself. One product (CollectiveAccess) may have
many deployments across different institutions.
'
range: uriorcurie
required: true
identifier: true
@ -149,34 +136,6 @@ classes:
- value: https://nde.nl/ontology/hc/cms/nationaal-archief-mais
description: National Archives MAIS deployment
cms_product_name:
slot_uri: schema:name
description: 'Name of the CMS software product.
Schema.org: name for the software application name.
Examples:
- "CollectiveAccess"
- "MuseumPlus"
- "Adlib"
- "TMS (The Museum System)"
- "ArchivesSpace"
- "MAIS-Flexis"
- "Omeka S"
- "DSpace"
- "ResourceSpace"
'
range: string
required: true
examples:
@ -185,16 +144,6 @@ classes:
- value: MuseumPlus
description: Zetcom museum CMS
cms_product_version:
slot_uri: schema:softwareVersion
description: 'Version of the CMS software deployed.
Schema.org: softwareVersion for version identification.
Format: Semantic versioning (MAJOR.MINOR.PATCH) preferred.
'
range: string
examples:
- value: 1.8.0
@ -202,30 +151,6 @@ classes:
- value: '7.0'
description: MuseumPlus version
cms_category:
slot_uri: schema:applicationCategory
description: 'Category of CMS based on primary domain.
Schema.org: applicationCategory for software categorization.
Categories:
- MUSEUM_CMS: Museum collection management (MuseumPlus, TMS, CollectiveAccess)
- ARCHIVE_CMS: Archival description (ArchivesSpace, MAIS, Calm)
- LIBRARY_CMS: Library management (Koha, Alma, WorldShare)
- DAM: Digital asset management (ResourceSpace, DAMsimple)
- REPOSITORY: Digital repository (DSpace, Fedora, EPrints)
- MIXED: Multi-domain (Omeka S, CollectiveAccess)
- CUSTOM: Institution-specific/custom-built
'
range: string
examples:
- value: MUSEUM_CMS
@ -233,26 +158,6 @@ classes:
- value: ARCHIVE_CMS
description: Archives-focused CMS
open_source:
slot_uri: doap:license
description: 'Is this CMS open-source software?
Boolean flag. If true, license slot should contain OSI-approved license.
Open-source CMS examples:
- CollectiveAccess (GPL-3.0)
- ArchivesSpace (ECL-2.0)
- Omeka S (GPL-3.0)
- DSpace (BSD-3-Clause)
- Koha (GPL-3.0)
'
range: boolean
examples:
- value: true
@ -260,28 +165,6 @@ classes:
- value: false
description: Proprietary CMS
license:
slot_uri: doap:license
description: 'Software license for this CMS.
DOAP: license for software license information.
Use SPDX identifiers when possible:
- GPL-3.0: GNU General Public License v3
- MIT: MIT License
- Apache-2.0: Apache License 2.0
- BSD-3-Clause: BSD 3-Clause
- ECL-2.0: Educational Community License
- Proprietary: Commercial/proprietary license
'
range: string
examples:
- value: GPL-3.0
@ -289,28 +172,6 @@ classes:
- value: Proprietary
description: Commercial license
vendor_name:
slot_uri: schema:creator
description: 'Organization that develops/maintains this CMS.
Schema.org: creator for software creator organization.
Examples:
- "Whirl-i-Gig" (CollectiveAccess)
- "Zetcom AG" (MuseumPlus)
- "Axiell" (Adlib, Calm, Collections)
- "Gallery Systems" (TMS, eMuseum)
- "Lyrasis" (ArchivesSpace, DSpace)
- "OCLC" (WorldShare, CONTENTdm)
'
range: string
examples:
- value: Whirl-i-Gig
@ -318,13 +179,6 @@ classes:
- value: Zetcom AG
description: MuseumPlus developer
vendor_url:
slot_uri: schema:url
description: 'URL of the CMS vendor/developer website.
Schema.org: url for vendor website.
'
range: uri
examples:
- value: https://www.collectiveaccess.org/
@ -332,38 +186,11 @@ classes:
- value: https://www.zetcom.com/
description: Zetcom website
documentation_url:
slot_uri: foaf:page
description: 'URL to CMS documentation or manual.
FOAF: page for documentation reference.
'
range: uri
examples:
- value: https://manual.collectiveaccess.org/
description: CollectiveAccess documentation
programming_language:
slot_uri: doap:programming-language
description: 'Programming languages used to build this CMS.
DOAP: programming-language for implementation languages.
Common CMS languages:
- PHP (CollectiveAccess, Omeka S, ResourceSpace)
- Ruby (ArchivesSpace)
- Java (DSpace, Fedora)
- Python (various)
- .NET (some proprietary CMS)
'
range: string
multivalued: true
examples:
@ -372,16 +199,6 @@ classes:
- value: JavaScript
description: Frontend language
repository_url:
slot_uri: doap:repository
description: 'Source code repository URL (for open-source CMS).
DOAP: repository for source code location.
Typically GitHub, GitLab, or similar.
'
range: uri
examples:
- value: https://github.com/collectiveaccess/providence
@ -389,34 +206,6 @@ classes:
- value: https://github.com/archivesspace/archivesspace
description: ArchivesSpace GitHub repo
supported_metadata_standard:
slot_uri: dcterms:conformsTo
description: 'Metadata standards supported by this CMS.
Dublin Core: conformsTo for standard compliance.
Common standards:
- Dublin Core
- VRA Core (visual resources)
- LIDO (museum objects)
- EAD (archival description)
- MARC21 (libraries)
- SPECTRUM (museum procedures)
- ISAD(G) (archival)
- MODS/METS
- EDM (Europeana)
'
range: string
multivalued: true
examples:
@ -427,186 +216,44 @@ classes:
- value: EAD
description: Archival description standard
iiif_compatible:
slot_uri: dcterms:conformsTo
description: 'Does this CMS support IIIF image/presentation APIs?
Dublin Core: conformsTo for IIIF specification compliance.
IIIF support enables:
- Image API (deep zoom tiles)
- Presentation API (manifests)
- Integration with Mirador, Universal Viewer, etc.
'
range: boolean
examples:
- value: true
description: IIIF compatible
linked_data_export:
slot_uri: dcterms:conformsTo
description: 'Does this CMS support linked open data export (RDF)?
Dublin Core: conformsTo for LOD compliance.
Export formats may include:
- RDF/XML
- Turtle
- JSON-LD
- N-Triples
'
range: boolean
examples:
- value: true
description: Supports LOD export
has_api_available_flag:
slot_uri: schema:documentation
description: 'Does this CMS provide a programmatic API?
Schema.org: documentation for API availability.
API types:
- REST API
- GraphQL
- OAI-PMH
- SPARQL
- SRU/SRW
'
range: boolean
examples:
- value: true
description: API available
powers_platform:
slot_uri: crm:P33_used_specific_technique
description: 'DigitalPlatform(s) powered by this CMS deployment.
CIDOC-CRM: P33_used_specific_technique - the CMS is the technique/procedure
used to power the digital platform.
**BIDIRECTIONAL RELATIONSHIP**:
- Forward: CollectionManagementSystem → DigitalPlatform (powers_platform)
- Reverse: DigitalPlatform → CollectionManagementSystem (powered_by_cms)
One CMS deployment may power multiple platforms:
- Public website
- Staff intranet
- Mobile app backend
- API service
'
range: DigitalPlatform
multivalued: true
examples:
- value: https://nde.nl/ontology/hc/platform/rijksmuseum-website
description: Platform powered by this CMS
manages_collection:
slot_uri: crm:P70_documents
description: 'CustodianCollection(s) managed by this CMS.
CIDOC-CRM: P70_documents - the CMS documents the collection.
**BIDIRECTIONAL RELATIONSHIP**:
- Forward: CollectionManagementSystem → CustodianCollection (manages_collection)
- Reverse: CustodianCollection → CollectionManagementSystem (managed_by_cms)
Multiple collections may be managed by one CMS deployment:
- Paintings collection
- Prints and drawings
- Archival fonds
'
range: CustodianCollection
multivalued: true
examples:
- value: https://nde.nl/ontology/hc/collection/rm-paintings
description: Collection managed by this CMS
used_by_custodian:
slot_uri: dcterms:references
description: 'The Custodian that uses this CMS deployment.
Dublin Core: references for entity relationship.
Each CMS deployment is associated with exactly one custodian hub,
though a custodian may use multiple CMS systems.
'
range: Custodian
multivalued: true
examples:
- value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
description: Rijksmuseum uses this CMS
deployment_date:
slot_uri: schema:datePublished
description: 'Date when this CMS was deployed/implemented at the institution.
Schema.org: datePublished for deployment date.
May be approximate (year-only acceptable).
'
range: date
examples:
- value: '2015-06-01'
description: CMS deployed June 2015
temporal_extent:
slot_uri: crm:P4_has_time-span
description: 'Temporal period during which this CMS deployment was/is active.
CIDOC-CRM: P4_has_time-span for deployment lifecycle.
Use for:
- Deployment start (begin_of_the_begin)
- Migration/replacement date (end_of_the_end)
- Upgrade timeline
'
range: TimeSpan
examples:
- value:
@ -614,48 +261,13 @@ classes:
end_of_the_end: null
description: Active since June 2015
was_derived_from:
slot_uri: prov:wasDerivedFrom
description: 'CustodianObservation(s) documenting this CMS usage.
PROV-O: wasDerivedFrom for observation provenance.
Evidence sources:
- Website footer/credits
- Technical documentation
- Staff interviews
- Conference presentations
'
range: CustodianObservation
multivalued: true
required: false
was_generated_by:
slot_uri: prov:wasGeneratedBy
description: 'ReconstructionActivity that created this CMS record.
PROV-O: wasGeneratedBy for generation activity.
'
range: ReconstructionActivity
required: false
refers_to_custodian:
slot_uri: dcterms:references
description: 'Primary Custodian hub associated with this CMS deployment.
Dublin Core: references for entity reference.
Required link to the heritage custodian using this CMS.
'
range: Custodian
required: true
examples:

View file

@ -76,10 +76,6 @@ classes:
- wikidata_equivalent
slot_usage:
collection_type_id:
slot_uri: dcterms:identifier
description: 'Unique identifier for this collection type.
'
range: uriorcurie
required: true
identifier: true
@ -87,13 +83,6 @@ classes:
- value: https://nde.nl/ontology/hc/collection-type/fonds
description: Archival fonds type
collection_type_name:
slot_uri: skos:prefLabel
description: 'Preferred name for this collection type.
SKOS: prefLabel for primary term.
'
range: string
required: true
examples:
@ -104,26 +93,12 @@ classes:
- value: Named Collection
description: Museum named collection
collection_type_description:
slot_uri: skos:definition
description: 'Definition of this collection type.
SKOS: definition for formal definition.
'
range: string
examples:
- value: A fonds is a group of documents of any nature brought together by virtue of being accumulated by the same
creator in the exercise of their activities and functions.
description: Fonds definition (ISAD(G))
record_equivalent:
slot_uri: skos:exactMatch
description: 'Equivalent RiC-O RecordSetType term.
Use for interoperability with archival systems.
'
range: uriorcurie
examples:
- value: rico:Fonds
@ -133,10 +108,6 @@ classes:
- value: rico:Collection
description: RiC-O Collection (assembled)
bibframe_equivalent:
slot_uri: skos:closeMatch
description: 'Equivalent BIBFRAME term (for library contexts).
'
range: uriorcurie
examples:
- value: bf:Collection
@ -144,13 +115,6 @@ classes:
- value: bf:Archival
description: BIBFRAME Archival
wikidata_equivalent:
slot_uri: skos:exactMatch
description: 'Equivalent Wikidata entity (Q-number format).
Examples: Q1643722 (fonds), Q185583 (archive collection)
'
range: string
pattern: ^Q[0-9]+$
examples:
@ -159,25 +123,11 @@ classes:
- value: Q185583
description: 'Wikidata: archive collection'
collection_broader_type:
slot_uri: skos:broader
description: 'Parent type in hierarchy.
SKOS: broader for hierarchical relationship.
'
range: CollectionType
examples:
- value: https://nde.nl/ontology/hc/collection-type/archival-record-set-type
description: SERIES broader type is ArchivalRecordSetType
has_or_had_collection_narrower_type:
slot_uri: skos:narrower
description: 'Child types in hierarchy.
SKOS: narrower for hierarchical relationship.
'
range: CollectionType
multivalued: true
examples:
@ -186,21 +136,6 @@ classes:
- https://nde.nl/ontology/hc/collection-type/sub-series
description: FONDS narrower types
domain_context:
slot_uri: dcterms:subject
description: 'Heritage domain where this type is primarily used.
Values:
- ARCHIVE: Archival/records management
- LIBRARY: Library/bibliographic
- MUSEUM: Museum/cultural heritage
- GENERAL: Cross-domain
'
range: string
examples:
- value: ARCHIVE

View file

@ -216,38 +216,6 @@ classes:
- template_specificity
slot_usage:
business_model:
description: 'How the commercial heritage operation is funded and generates revenue.
Describes financial structure:
- **Revenue sources**: Admission fees, merchandise, event rental, corporate funding
- **Ownership**: Fully corporate-owned, subsidiary, joint venture, licensed
- **Profitability**: Revenue-generating, break-even, subsidized by parent company
- **Business function**: Marketing, tourism, corporate social responsibility
- **Tax status**: For-profit corporation (not tax-exempt like museums)
- **Reporting**: Reports to corporate board, integrated with marketing budget
Business model distinguishes commercial from non-profit heritage custodians.
Examples:
- "For-profit brand attraction, Admission fees, Merchandise, Marketing budget"
- "Corporate archive within business, Fully funded by parent company, No public access"
- "Brand heritage center, Event venue rental, Corporate hospitality, Tourism revenue"
- "Factory museum, Visitor fees supplement production operations, Marketing tool"
'
range: string
required: true
examples:
@ -258,42 +226,6 @@ classes:
- value: Brand center, Event rental, Hospitality, Tourism
description: Coca-Cola World of Coke model
collection_purpose:
description: 'Why the commercial organization maintains heritage collections.
Articulates corporate motivations:
- **Brand marketing**: Enhance brand identity, customer loyalty, heritage positioning
- **Corporate reputation**: Demonstrate longevity, quality, trustworthiness
- **Tourism revenue**: Attract visitors, generate admission fees, merchandise sales
- **Employee engagement**: Corporate pride, organizational culture, staff identity
- **Legal compliance**: Regulatory record-keeping, intellectual property documentation
- **Innovation context**: Historical product development informs R&D
- **Community relations**: Corporate citizenship, local heritage stewardship
- **Tax benefits**: Charitable deductions (if donations to separate foundation)
Collection purpose reveals whether heritage is strategic or incidental.
Examples:
- "Brand heritage communication, Consumer engagement, Tourism revenue, Identity"
- "Legal record-keeping, Product development history, IP documentation"
- "Corporate culture, Employee pride, Brand storytelling, Innovation inspiration"
- "Community relations, Local heritage stewardship, Corporate citizenship"
'
range: string
required: true
examples:
@ -304,40 +236,6 @@ classes:
- value: Corporate culture, Brand storytelling, Innovation
description: IBM archive purpose
corporate_integration:
description: 'How the heritage collection is integrated into the company''s organizational structure.
Describes organizational placement:
- **Ownership structure**: Subsidiary, division, department, separate foundation
- **Reporting lines**: Reports to CEO, marketing, legal, facilities, separate board
- **Staffing**: Full-time heritage staff, marketing staff, volunteer curators
- **Budget**: Separate budget, marketing budget, corporate overhead, endowment
- **Governance**: Corporate management, independent board, advisory committee
- **Strategic alignment**: Brand strategy, legal compliance, community relations
- **Autonomy level**: Fully integrated vs. operationally independent
Corporate integration indicates heritage collection stability and priorities.
Examples:
- "Fully owned by Heineken N.V., Marketing department, Brand management"
- "Separate 501(c)(3) foundation, Independent board, Endowment funded"
- "Corporate records department, Legal division, Compliance mandate"
- "Subsidiary of parent company, Independent management, Profit-sharing"
'
range: string
required: true
examples:
@ -348,40 +246,6 @@ classes:
- value: Records department, Legal division, Compliance
description: Corporate archive integration
public_access:
description: 'How the public can access the commercial heritage collection.
Specifies access conditions:
- **Access model**: Public admission, appointment-only, corporate tours, closed
- **Admission fees**: Free, nominal charge, premium pricing, membership tiers
- **Operating hours**: Daily/seasonal hours, weekends, by appointment
- **Booking requirements**: Walk-in, advance booking, group reservations
- **Restrictions**: Corporate guests only, business hours, has_age limits, photography rules
- **Digital access**: Online catalog, virtual tours, digitized collections
- **Research access**: Scholar appointments, archives reading room, reproduction fees
Public access level indicates whether collection serves public or corporate interests.
Examples:
- "Daily 10:30-19:30, Paid admission, Self-guided tours, Group bookings"
- "Appointment-only for researchers, No admission fee, Advance booking required"
- "Corporate guests only, Business hours, Escorted tours, No photography"
- "Closed to public, Internal corporate use only, No visitor access"
'
range: string
required: true
examples:
@ -392,42 +256,6 @@ classes:
- value: Corporate guests only, Escorted tours, Business hours
description: Private company museum access
heritage_holding:
description: 'What heritage materials the commercial organization preserves.
Describes collection scope:
- **Corporate records**: Business documents, board minutes, correspondence
- **Product development**: Design drawings, prototypes, patents, R&D notebooks
- **Marketing materials**: Advertisements, brochures, packaging, logos
- **Manufacturing artifacts**: Machinery, tools, production equipment
- **Photographic collections**: Corporate photography, product images, facilities
- **Audiovisual materials**: Commercials, promotional films, oral histories
- **Publications**: Annual reports, employee newsletters, trade catalogs
- **Brand objects**: Historic products, packaging samples, promotional items
Heritage holdings reveal collection depth and preservation commitment.
Examples:
- "Brewing equipment (1867-present), Advertising archive, Bottle/label collections, Photography"
- "Vehicle prototypes, Engineering drawings, Patent documents, Manufacturing records"
- "Perfume formulas (1920s-present), Bottle designs, Fashion sketches, Advertising campaigns"
- "Computer hardware (1960s-present), Technical manuals, Software code, Oral histories"
'
range: string
multivalued: true
required: true
@ -439,42 +267,6 @@ classes:
- value: Perfume formulas, Bottle designs, Fashion sketches
description: Chanel archive holdings
commercial_activity:
description: 'Revenue-generating activities beyond heritage preservation.
Lists commercial operations:
- **Admissions**: Ticket sales, pricing tiers, group rates, annual passes
- **Retail**: Gift shop, branded merchandise, reproductions, publications
- **Food/beverage**: Museum café, beer tasting, product sampling
- **Events**: Corporate events, weddings, private rentals, conferences
- **Experiences**: Interactive exhibits, VR experiences, workshops, tastings
- **Licensing**: Brand licensing, image rights, reproduction fees
- **Tourism packages**: Combined tickets, city passes, tour group partnerships
- **Digital sales**: Online shop, virtual experiences, app subscriptions
Commercial activities indicate revenue priority vs. heritage preservation.
Examples:
- "Admission tickets (€21), Beer tasting, Gift shop, Event rental"
- "Reproductions catalog, Image licensing, Research reproduction fees"
- "Corporate event venue, Weddings, Conference space, Catering"
- "No commercial activities, Internal corporate use only"
'
range: string
multivalued: true
required: false

View file

@ -1,161 +1,109 @@
id: https://nde.nl/ontology/hc/class/CompanyArchives
name: CompanyArchives
title: Company Archives Type
prefixes:
linkml: https://w3id.org/linkml/
schema: http://schema.org/
org: http://www.w3.org/ns/org#
rico: https://www.ica.org/standards/RiC/ontology#
imports:
- linkml:types
- ./ArchiveOrganizationType
- ./CollectionType
- ./Department
- ./OrganizationBranch
- ./CompanyArchiveRecordSetTypes
- ../slots/archive_branches
- ../slots/is_or_was_archive_department_of
- ../slots/has_or_had_holds_record_set_type
- ../slots/parent_corporation
- ../slots/type_scope
- ../slots/wikidata_entity
- linkml:types
- ./ArchiveOrganizationType
- ./CollectionType
- ./Department
- ./OrganizationBranch
- ./CompanyArchiveRecordSetTypes
- ../slots/archive_branches
- ../slots/is_or_was_archive_department_of
- ../slots/has_or_had_holds_record_set_type
- ../slots/parent_corporation
- ../slots/type_scope
- ../slots/wikidata_entity
classes:
CompanyArchives:
is_a: ArchiveOrganizationType
class_uri: skos:Concept
description: |
Organizational entity that keeps or archives fonds of a company,
preserving corporate records and business heritage.
**Wikidata**: Q10605195
**Scope**:
Company archives (Unternehmensarchive) preserve:
- Corporate governance records (board, shareholders)
- Financial and accounting records
- Product development and design documentation
- Marketing and advertising materials
- Personnel records (historical)
- Correspondence and contracts
- Photographs and audiovisual materials
- Technical drawings and blueprints
- Corporate publications
**Organizational Context**:
Company archives are typically organized as:
1. **Departments within corporations** (`org:OrganizationalUnit`):
- Archive department under Records Management division
- Historical archives team within Communications/PR
- Technical archives under Engineering department
2. **Branches at corporate facilities** (`org:OrganizationalUnit`):
- Central archive at headquarters
- Regional archive at manufacturing sites
- Research archive at R&D centers
3. **Standalone heritage organizations** (rare):
- Independent foundation managing corporate heritage
- Heritage society for defunct companies
**Relationship to Parent Organization**:
| Pattern | Property | Example |
|---------|----------|---------|
| Archive as department | `schema:department` / `org:hasUnit` | Philips Archive is department of Philips N.V. |
| Archive as branch | `org:hasSite` / `org:unitOf` | Shell Archive at The Hague HQ |
| Archive with parent org | `schema:parentOrganization` | Unilever Historical Archives → Unilever PLC |
**W3C ORG / Schema.org Alignment**:
- `schema:parentOrganization` - Links archive to the corporation it belongs to
- `schema:department` - Corporation links to its archive department
- `org:unitOf` - Archive is organizational unit of corporation
- `org:hasUnit` - Corporation has archive as organizational unit
**Business Value**:
Company archives support:
- Legal and regulatory compliance
- Intellectual property protection
- Corporate identity and branding
- Historical marketing campaigns
- Anniversary and commemorative projects
- Due diligence for mergers and acquisitions
**Related Types**:
- BankArchive (Q52718263) - Financial institution archives
- EconomicArchive (Q27032167) - Economic history focus
- InstitutionalArchive (Q124762372) - Institutional records
- Department - Formal departmental structure within organization
- OrganizationBranch - Physical branch locations of archive
**Professional Body**:
Company archivists often belong to:
- International Council on Archives Section for Business Archives
- Vereinigung deutscher Wirtschaftsarchivare (VdW)
- Business Archives Council (UK)
description: "Organizational entity that keeps or archives fonds of a company,\npreserving corporate records and business\
\ heritage.\n\n**Wikidata**: Q10605195\n\n**Scope**:\nCompany archives (Unternehmensarchive) preserve:\n- Corporate\
\ governance records (board, shareholders)\n- Financial and accounting records\n- Product development and design documentation\n\
- Marketing and advertising materials\n- Personnel records (historical)\n- Correspondence and contracts\n- Photographs\
\ and audiovisual materials\n- Technical drawings and blueprints\n- Corporate publications\n\n**Organizational Context**:\n\
Company archives are typically organized as:\n\n1. **Departments within corporations** (`org:OrganizationalUnit`):\n\
\ - Archive department under Records Management division\n - Historical archives team within Communications/PR\n\
\ - Technical archives under Engineering department\n \n2. **Branches at corporate facilities** (`org:OrganizationalUnit`):\n\
\ - Central archive at headquarters\n - Regional archive at manufacturing sites\n - Research archive at R&D centers\n\
\ \n3. **Standalone heritage organizations** (rare):\n - Independent foundation managing corporate heritage\n \
\ - Heritage society for defunct companies\n\n**Relationship to Parent Organization**:\n\n| Pattern | Property | Example\
\ |\n|---------|----------|---------|\n| Archive as department | `schema:department` / `org:hasUnit` | Philips Archive\
\ is department of Philips N.V. |\n| Archive as branch | `org:hasSite` / `org:unitOf` | Shell Archive at The Hague HQ\
\ |\n| Archive with parent org | `schema:parentOrganization` | Unilever Historical Archives → Unilever PLC |\n\n**W3C\
\ ORG / Schema.org Alignment**:\n- `schema:parentOrganization` - Links archive to the corporation it belongs to\n- `schema:department`\
\ - Corporation links to its archive department\n- `org:unitOf` - Archive is organizational unit of corporation\n- `org:hasUnit`\
\ - Corporation has archive as organizational unit\n\n**Business Value**:\nCompany archives support:\n- Legal and regulatory\
\ compliance\n- Intellectual property protection\n- Corporate identity and branding\n- Historical marketing campaigns\n\
- Anniversary and commemorative projects\n- Due diligence for mergers and acquisitions\n\n**Related Types**:\n- BankArchive\
\ (Q52718263) - Financial institution archives\n- EconomicArchive (Q27032167) - Economic history focus\n- InstitutionalArchive\
\ (Q124762372) - Institutional records\n- Department - Formal departmental structure within organization\n- OrganizationBranch\
\ - Physical branch locations of archive\n\n**Professional Body**:\nCompany archivists often belong to:\n- International\
\ Council on Archives Section for Business Archives\n- Vereinigung deutscher Wirtschaftsarchivare (VdW)\n- Business\
\ Archives Council (UK)\n"
slots:
- parent_corporation
- is_or_was_archive_department_of
- archive_branches
- wikidata_entity
- has_or_had_holds_record_set_type
- parent_corporation
- is_or_was_archive_department_of
- archive_branches
- wikidata_entity
- has_or_had_holds_record_set_type
slot_usage:
wikidata_entity:
equals_string: "Q10605195"
equals_string: Q10605195
has_or_had_holds_record_set_type:
description: |
Links this custodian type to the record set types it typically holds.
Uses RiC-O property rico:isOrWasHolderOf to express custodial relationship.
**Company Archive Holdings**:
- CorporateGovernanceFonds - board, shareholders, executive records
- ProductDevelopmentCollection - R&D, designs, patents
- MarketingArchiveCollection - advertising, branding, campaigns
- PersonnelRecordsSeries - employment records, personnel files
- CorporatePublicationsSeries - annual reports, house magazines
equals_expression: |
["hc:CorporateGovernanceFonds", "hc:ProductDevelopmentCollection", "hc:MarketingArchiveCollection", "hc:PersonnelRecordsSeries", "hc:CorporatePublicationsSeries"]
equals_expression: '["hc:CorporateGovernanceFonds", "hc:ProductDevelopmentCollection", "hc:MarketingArchiveCollection",
"hc:PersonnelRecordsSeries", "hc:CorporatePublicationsSeries"]
'
see_also:
- BankArchive
- EconomicArchive
- InstitutionalArchive
- CompanyArchiveRecordSetType
- CorporateGovernanceFonds
- ProductDevelopmentCollection
- MarketingArchiveCollection
- PersonnelRecordsSeries
- CorporatePublicationsSeries
- BankArchive
- EconomicArchive
- InstitutionalArchive
- CompanyArchiveRecordSetType
- CorporateGovernanceFonds
- ProductDevelopmentCollection
- MarketingArchiveCollection
- PersonnelRecordsSeries
- CorporatePublicationsSeries
CompanyArchivesRecordSetType:
is_a: CollectionType
class_uri: rico:RecordSetType
abstract: true
description: |
Abstract base class for record set types held by Company Archives.
description: 'Abstract base class for record set types held by Company Archives.
This class serves as the parent for all collection/record set types
that are typically held by company archives as custodians.
**Inverse Relationship**:
Concrete subclasses use `rico:hasOrHadHolder` annotation to link back
to the CompanyArchives custodian type.
**Concrete Subclasses** (in CompanyArchiveRecordSetTypes.yaml):
- CorporateGovernanceFonds
- ProductDevelopmentCollection
- MarketingArchiveCollection
- PersonnelRecordsSeries
- CorporatePublicationsSeries
'
annotations:
linked_custodian_type: CompanyArchives
slots:
- type_scope
slot_usage:
type_scope:
description: Scope notes for this record set type in context of company archives.
- type_scope

View file

@ -20,17 +20,25 @@ imports:
classes:
ConfidenceMeasure:
class_uri: prov:Confidence
description: |
Quantified confidence in a statement or observation.
description: 'Quantified confidence in a statement or observation.
PROV-O extension for uncertainty representation.
**Score Range**: 0.0 (uncertain) to 1.0 (certain)
**Use Cases**:
- NER extraction confidence
- Fuzzy matching scores
- Expert assessment certainty
- Automated vs. manual curation
'
exact_mappings:
- prov:Confidence
close_mappings:
@ -43,19 +51,11 @@ classes:
- template_specificity
slot_usage:
confidence_value:
slot_uri: rdf:value
description: |
Numeric confidence score (0.0-1.0).
RDF: value for literal content.
range: float
minimum_value: 0.0
maximum_value: 1.0
required: true
confidence_method:
slot_uri: prov:hadPlan
description: |
Method used to determine confidence (manual, algorithmic, etc.).
PROV-O: hadPlan links to methodology.
range: string
specificity_annotation:
range: SpecificityAnnotation

View file

@ -10,71 +10,82 @@ prefixes:
dct: http://purl.org/dc/terms/
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
- ../metadata
- ./PersonConnection
- ./ConnectionSourceMetadata
- ./NetworkAnalysis
- ./HeritageTypeCount
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../slots/connection
- ../slots/network_analysis
- ../slots/note
- ../slots/source_metadata
- ../slots/specificity_annotation
- ../slots/template_specificity
- linkml:types
- ../metadata
- ./PersonConnection
- ./ConnectionSourceMetadata
- ./NetworkAnalysis
- ./HeritageTypeCount
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../slots/connection
- ../slots/network_analysis
- ../slots/note
- ../slots/source_metadata
- ../slots/specificity_annotation
- ../slots/template_specificity
default_range: string
classes:
ConnectionNetwork:
class_uri: schema:ItemList
description: |
Collection of LinkedIn network connections with source metadata.
description: 'Collection of LinkedIn network connections with source metadata.
This is the root class for connection JSON files stored at:
`data/custodian/person/connection/bu/{linkedin_slug}_connections_{timestamp}.json`
Each file contains:
- **source_metadata**: Provenance about the extraction (who, when, how)
- **connections**: Array of PersonConnection entries (the actual network data)
- **network_analysis**: Optional aggregated statistics
**Use Cases**:
- Heritage sector network analysis
- Cross-custodian relationship discovery
- Staff member connection patterns
- Professional community mapping
**File Naming Convention**:
`{linkedin-slug}_connections_{ISO-timestamp}.json`
Example: `giovannafossati_connections_20251209T220000Z.json`
'
exact_mappings:
- schema:ItemList
- schema:ItemList
close_mappings:
- prov:Collection
- prov:Collection
slots:
- connection
- network_analysis
- source_metadata
- specificity_annotation
- template_specificity
- connection
- network_analysis
- source_metadata
- specificity_annotation
- template_specificity
slot_usage:
source_metadata:
description: Provenance metadata about the connection extraction
range: ConnectionSourceMetadata
required: true
inlined: true
connection:
description: Array of connection entries from the LinkedIn network
range: PersonConnection
required: true
multivalued: true
inlined: true
inlined_as_list: true
network_analysis:
description: Aggregated statistics about the connection network
range: NetworkAnalysis
inlined: true
specificity_annotation:
@ -84,9 +95,9 @@ classes:
range: TemplateSpecificityScores
inlined: true
comments:
- Root class for connection network JSON files (validated with -C ConnectionNetwork)
- "Per AGENTS.md Rule 15: ALL connections must be fully registered"
- Enables heritage sector network analysis
- "File naming: {linkedin-slug}_connections_{timestamp}.json"
- Root class for connection network JSON files (validated with -C ConnectionNetwork)
- 'Per AGENTS.md Rule 15: ALL connections must be fully registered'
- Enables heritage sector network analysis
- 'File naming: {linkedin-slug}_connections_{timestamp}.json'
see_also:
- https://schema.org/ItemList
- https://schema.org/ItemList

View file

@ -9,122 +9,100 @@ prefixes:
prov: http://www.w3.org/ns/prov#
dct: http://purl.org/dc/terms/
imports:
- linkml:types
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../enums/ScrapeMethodEnum
- ../slots/connections_extracted
- ../slots/note
- ../slots/scrape_method
- ../slots/scraped_timestamp
- ../slots/source_url
- ../slots/specificity_annotation
- ../slots/target_name
- ../slots/target_profile
- ../slots/template_specificity
- linkml:types
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../enums/ScrapeMethodEnum
- ../slots/connections_extracted
- ../slots/note
- ../slots/scrape_method
- ../slots/scraped_timestamp
- ../slots/source_url
- ../slots/specificity_annotation
- ../slots/target_name
- ../slots/target_profile
- ../slots/template_specificity
default_prefix: hc
classes:
ConnectionSourceMetadata:
class_uri: prov:Activity
description: |
Provenance metadata about how the connections were extracted.
description: 'Provenance metadata about how the connections were extracted.
Records the extraction context including:
- Source URL (LinkedIn search or profile page)
- When the extraction occurred
- Which method was used (manual browse, automated scrape)
- Target profile being analyzed
- Count of connections extracted
**Scrape Methods**:
- manual_linkedin_browse: Manual copy-paste while logged in
- linkedin_html_parser: Parsed from saved HTML file
- exa_search: Extracted via Exa API
'
exact_mappings:
- prov:Activity
- prov:Activity
slots:
- connections_extracted
- note
- scrape_method
- scraped_timestamp
- source_url
- specificity_annotation
- target_name
- target_profile
- template_specificity
- connections_extracted
- note
- scrape_method
- scraped_timestamp
- source_url
- specificity_annotation
- target_name
- target_profile
- template_specificity
slot_usage:
source_url:
description: |
URL of the LinkedIn page where connections were extracted from.
Usually a LinkedIn search results URL or profile connections page.
slot_uri: prov:used
range: uri
required: true
examples:
- value: https://www.linkedin.com/search/results/people/?network=%5B%22F%22%2C%22S%22%2C%22O%22%5D
description: LinkedIn connection search URL
- value: https://www.linkedin.com/search/results/people/?network=%5B%22F%22%2C%22S%22%2C%22O%22%5D
description: LinkedIn connection search URL
scraped_timestamp:
description: |
ISO 8601 timestamp when the connections were extracted.
Critical for tracking network changes over time.
slot_uri: prov:endedAtTime
range: datetime
required: true
examples:
- value: "2025-12-09T22:00:00Z"
- value: '2025-12-09T22:00:00Z'
scrape_method:
description: |
Method used to extract the connection data.
Values:
- manual_linkedin_browse: Manual extraction while logged in
- linkedin_html_parser: Parsed from saved HTML file
- exa_search: Extracted via Exa API
slot_uri: prov:wasAssociatedWith
range: ScrapeMethodEnum
required: true
examples:
- value: manual_linkedin_browse
- value: manual_linkedin_browse
target_profile:
description: |
LinkedIn slug of the profile whose connections were extracted.
Format: lowercase alphanumeric with hyphens.
slot_uri: dct:subject
range: string
required: true
pattern: "^[a-z0-9-]+$"
pattern: ^[a-z0-9-]+$
examples:
- value: giovannafossati
- value: alexandr-belov-bb547b46
- value: giovannafossati
- value: alexandr-belov-bb547b46
target_name:
description: |
Full display name of the target profile.
The person whose connections were extracted.
slot_uri: schema:name
range: string
required: true
examples:
- value: Giovanna Fossati
- value: Alexandr Belov
- value: Giovanna Fossati
- value: Alexandr Belov
connections_extracted:
description: |
Total number of connections extracted from this source.
Used for validation and completeness tracking.
slot_uri: schema:numberOfItems
range: integer
required: true
minimum_value: 0
examples:
- value: 776
- value: 776
note:
description: |
Optional notes about the extraction process.
May reference raw source files or explain any issues.
slot_uri: schema:description
range: string
examples:
- value: Raw scrape in giovannafossati_connections_20251209T220000Z_note-max100p-1st2nd3th.md
- value: Raw scrape in giovannafossati_connections_20251209T220000Z_note-max100p-1st2nd3th.md
specificity_annotation:
range: SpecificityAnnotation
inlined: true
@ -132,6 +110,6 @@ classes:
range: TemplateSpecificityScores
inlined: true
comments:
- Aligns with PROV-O Activity pattern
- scraped_timestamp maps to prov:endedAtTime
- target_profile is the LinkedIn slug being analyzed
- Aligns with PROV-O Activity pattern
- scraped_timestamp maps to prov:endedAtTime
- target_profile is the LinkedIn slug being analyzed

View file

@ -94,12 +94,6 @@ classes:
- was_generated_by
slot_usage:
lab_id:
slot_uri: dcterms:identifier
description: 'Unique identifier for this conservation lab.
Format: URI following NDE Heritage Custodian ontology conventions.
'
range: uriorcurie
required: true
identifier: true
@ -107,22 +101,6 @@ classes:
- value: https://nde.nl/ontology/hc/aux/rijksmuseum-conservation
description: Rijksmuseum conservation studio
lab_name:
slot_uri: skos:prefLabel
description: 'Name of this conservation laboratory.
SKOS: prefLabel for preferred name.
Common naming patterns:
- "[Institution] Conservation Studio"
- "[Institution] Restauratie Atelier"
- "[Institution] Preservation Lab"
'
range: string
required: true
examples:
@ -133,53 +111,12 @@ classes:
- value: KB Preservation Laboratory
description: Library preservation lab
lab_description:
slot_uri: dcterms:description
description: 'Free-text description of this conservation laboratory.
Include:
- Specializations and capabilities
- Notable equipment or facilities
- Access restrictions
- History of the lab
'
range: string
examples:
- value: State-of-the-art conservation studio specializing in 17th-century Dutch paintings. Features advanced imaging
suite for technical art history research.
description: Paintings conservation lab
conservation_specialization:
slot_uri: schema:knowsAbout
description: 'Material types or conservation specializations of this lab.
Schema.org: knowsAbout for areas of expertise.
Common specializations:
- Paper, Parchment, Books
- Paintings, Works on paper
- Textiles, Costume
- Objects, Sculpture, Ceramics
- Photographs, Film
- Metals, Arms and armor
- Furniture, Woodwork
- Digital preservation
'
range: string
multivalued: true
examples:
@ -190,30 +127,6 @@ classes:
- value: Furniture
description: Furniture conservation
equipment_type:
slot_uri: schema:usesDevice
description: 'Types of specialized equipment available in this lab.
Schema.org: usesDevice for equipment.
Common conservation equipment:
- Stereomicroscopes
- X-ray fluorescence (XRF)
- Infrared reflectography
- UV imaging
- Suction tables
- Ultrasonic humidifiers
- Leaf casters
'
range: string
multivalued: true
examples:
@ -224,127 +137,38 @@ classes:
- value: Suction table
description: Paper conservation equipment
has_imaging_equipment:
slot_uri: schema:amenityFeature
description: 'Whether lab has specialized imaging equipment for documentation.
Imaging equipment includes:
- High-resolution digital photography
- Infrared reflectography (IRR)
- X-radiography
- UV fluorescence imaging
- Multispectral imaging
'
range: boolean
examples:
- value: true
description: Has imaging suite
has_climate_control:
slot_uri: schema:amenityFeature
description: 'Whether lab has precise climate control systems.
Conservation labs typically require:
- Temperature: 18-22°C (±1°C)
- Relative humidity: 45-55% (±5%)
- Air filtration
'
range: boolean
ifabsent: 'true'
examples:
- value: true
description: Climate controlled
has_fume_hood:
slot_uri: schema:amenityFeature
description: 'Whether lab has fume extraction hoods for chemical work.
Required for:
- Solvent cleaning
- Adhesive application
- Chemical treatments
'
range: boolean
examples:
- value: true
description: Has fume hoods
has_deacidification_facility:
slot_uri: schema:amenityFeature
description: 'Whether lab has mass deacidification capability.
Relevant for paper/book conservation:
- Bookkeeper process
- Wei T''o process
- Battelle process
'
range: boolean
examples:
- value: true
description: Has deacidification
safety_certification:
slot_uri: schema:hasCertification
description: 'Safety certifications held by this laboratory.
May include:
- Fire safety certification
- Hazardous materials handling
- Occupational health and safety
'
range: string
multivalued: true
examples:
- value: ISO 45001 Occupational Health and Safety
description: Safety certification
is_accredited:
slot_uri: schema:isAcceptingNewPatients
description: 'Whether lab holds professional conservation accreditation.
Accreditation bodies include:
- AIC (American Institute for Conservation)
- ICON (Institute of Conservation, UK)
- VeRes (Dutch Restorers Association)
'
range: boolean
examples:
- value: true
description: Professionally accredited
has_or_had_accreditation_body:
slot_uri: schema:recognizedBy
description: 'Organization that accredited this conservation lab.
Schema.org: recognizedBy for accrediting body.
'
range: string
examples:
- value: VeRes - Vereniging van Registerloodsen Restauratoren
@ -352,31 +176,11 @@ classes:
- value: ICON - Institute of Conservation
description: UK accreditation
staff_count:
slot_uri: schema:numberOfEmployees
description: 'Number of conservation staff working in this lab.
Schema.org: numberOfEmployees for staffing level.
'
range: integer
examples:
- value: 8
description: Medium-sized conservation team
accepts_or_accepted_external_work:
slot_uri: schema:makesOffer
description: 'Whether this lab accepts conservation work from external clients.
Some institutional labs provide services to:
- Other museums/archives
- Private collectors
- Commercial clients
'
range: boolean
examples:
- value: true
@ -384,24 +188,10 @@ classes:
- value: false
description: Internal collections only
was_derived_from:
slot_uri: prov:wasDerivedFrom
description: 'CustodianObservation(s) from which this conservation lab record was derived.
PROV-O: wasDerivedFrom for observation provenance.
'
range: CustodianObservation
multivalued: true
required: false
was_generated_by:
slot_uri: prov:wasGeneratedBy
description: 'ReconstructionActivity that generated this conservation lab record.
PROV-O: wasGeneratedBy for generation activity.
'
range: ReconstructionActivity
required: false
specificity_annotation:

View file

@ -108,12 +108,6 @@ classes:
identifier: true
required: true
range: uriorcurie
slot_uri: dcterms:identifier
description: 'Unique identifier for this conservation record.
Format: https://nde.nl/ontology/hc/conservation/{object-slug}-{year}-{seq}
'
examples:
- value: https://nde.nl/ontology/hc/conservation/mauritshuis-670-1994-001
- value: https://nde.nl/ontology/hc/conservation/rijksmuseum-sk-c-5-2019-001
@ -121,39 +115,11 @@ classes:
required: true
range: uriorcurie
inlined: false
slot_uri: crm:P140_assigned_attribute_to
description: 'Reference to the object this record documents.
CIDOC-CRM: P140_assigned_attribute_to - "identifies the E1 CRM Entity
to which an attribute or relation was assigned."
'
examples:
- value: https://nde.nl/ontology/hc/object/mauritshuis-girl-pearl-earring
record_type:
required: true
range: string
slot_uri: dcterms:type
description: 'Type of conservation record.
Values:
- CONDITION_ASSESSMENT: Evaluation of current state
- TREATMENT: Conservation intervention
- EXAMINATION: Technical/scientific analysis
- LOAN_CONDITION_CHECK: Pre/post loan inspection
- ENVIRONMENTAL_MONITORING: Climate/light monitoring
- PEST_MONITORING: IPM inspection
'
examples:
- value: TREATMENT
- value: CONDITION_ASSESSMENT
@ -161,22 +127,12 @@ classes:
record_date:
required: false
range: date
slot_uri: schema:dateCreated
description: 'Date the assessment, treatment, or examination was performed.
'
examples:
- value: '1994-06-15'
record_timespan:
required: false
range: TimeSpan
inlined: true
slot_uri: crm:P4_has_time-span
description: 'Full temporal extent of the conservation activity.
Use for treatments spanning multiple dates.
'
examples:
- value:
begin_of_the_begin: '1994-03-01'
@ -185,37 +141,18 @@ classes:
condition_before:
required: false
range: ConservationStatusEnum
slot_uri: crm:P44_has_condition
description: 'Condition state before treatment or at start of assessment.
Values: EXCELLENT, GOOD, FAIR, POOR, CRITICAL, STABLE, UNSTABLE, DETERIORATING
'
examples:
- value: FAIR
description: Yellowed varnish, surface dirt
condition_after:
required: false
range: ConservationStatusEnum
slot_uri: crm:P44_has_condition
description: 'Condition state after treatment.
Only applicable for TREATMENT record types.
'
examples:
- value: EXCELLENT
description: After cleaning and restoration
condition_description:
required: false
range: string
slot_uri: crm:P3_has_note
description: 'Detailed narrative description of the object''s condition.
Include specific observations about damage, wear, or deterioration.
'
examples:
- value: "The varnish had yellowed significantly, obscuring the delicate \ntonal gradations. Surface dirt accumulation\
\ in lower quadrant.\nOld retouching visible under UV light in background area.\nCanvas stable with no active\
@ -223,12 +160,6 @@ classes:
treatment_description:
required: false
range: string
slot_uri: schema:description
description: 'Detailed description of conservation treatment performed.
Include methodology, materials, and techniques.
'
examples:
- value: "Treatment involved removal of discolored natural resin varnish \nusing acetone-based solvent mixture. Old\
\ retouching removed from \nbackground. Losses in-painted with conservation-grade reversible \npaints. Final protective\
@ -237,27 +168,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: aat:300404522
description: 'Classification of treatment performed.
Common values:
- CLEANING: Surface cleaning, varnish removal
- STABILIZATION: Structural consolidation
- RESTORATION: In-painting, filling losses
- PREVENTIVE: Environmental protection
- REFRAMING: New frame, glazing, backing
- RELINING: Canvas reinforcement
- DEACIDIFICATION: Paper treatment
'
examples:
- value: CLEANING
- value: RESTORATION
@ -266,30 +176,18 @@ classes:
required: false
range: string
multivalued: true
slot_uri: crm:P14_carried_out_by
description: 'Name(s) of conservator(s) who performed the work.
'
examples:
- value: Dr. Jørgen Wadum
- value: Petria Noble
conservator_affiliation:
required: false
range: string
slot_uri: schema:affiliation
description: 'Institutional has_or_had_affiliation of the conservator.
'
examples:
- value: Mauritshuis Conservation Department
- value: Hamilton Kerr Institute
conservation_lab:
required: false
range: string
slot_uri: schema:location
description: 'Conservation laboratory where work was performed.
'
examples:
- value: Mauritshuis Conservation Studio, The Hague
- value: Rijksmuseum Ateliergebouw
@ -297,12 +195,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: crm:P126_employed
description: 'Materials and supplies used in treatment.
Critical for reversibility and future treatments.
'
examples:
- value: Dammar varnish (Kremer Pigmente)
- value: Paraloid B-72 consolidant
@ -312,10 +204,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: crm:P32_used_general_technique
description: 'Techniques employed in treatment.
'
examples:
- value: Solvent cleaning with acetone/white spirit mixture
- value: Tratteggio inpainting technique
@ -324,27 +212,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: crm:P16_used_specific_object
description: 'Technical examination methods used.
Common methods:
- X-RADIOGRAPHY: X-ray imaging
- INFRARED_REFLECTOGRAPHY: IR imaging of underdrawing
- UV_FLUORESCENCE: UV light examination
- RAKING_LIGHT: Surface texture analysis
- MACRO_PHOTOGRAPHY: Detailed surface photography
- XRF: X-ray fluorescence spectroscopy
- FTIR: Fourier-transform infrared spectroscopy
'
examples:
- value: X-RADIOGRAPHY
- value: INFRARED_REFLECTOGRAPHY
@ -353,12 +220,6 @@ classes:
has_or_had_environmental_condition:
required: false
range: string
slot_uri: crm:P3_has_note
description: 'Environmental conditions during examination or treatment,
or recommended environmental parameters.
'
examples:
- value: Treatment performed at 21°C, 50% RH. Object stable in current conditions.
- value: 'Recommended: 45-55% RH, 18-22°C, max 50 lux'
@ -366,10 +227,6 @@ classes:
required: false
range: uri
multivalued: true
slot_uri: schema:image
description: 'URLs to conservation photographs (before, during, after treatment).
'
examples:
- value: https://mauritshuis.nl/conservation/670/before-treatment-1994.jpg
- value: https://mauritshuis.nl/conservation/670/during-cleaning-1994.jpg
@ -377,19 +234,11 @@ classes:
report_url:
required: false
range: uri
slot_uri: schema:url
description: 'URL to full conservation report (PDF or web page).
'
examples:
- value: https://mauritshuis.nl/conservation/reports/670-1994-restoration.pdf
report_document:
required: false
range: string
slot_uri: dcterms:bibliographicCitation
description: 'Bibliographic citation for published conservation report or article.
'
examples:
- value: "Wadum, Jørgen. \"Vermeer Illuminated: The Restoration of \nGirl with a Pearl Earring.\" Burlington Magazine\
\ 137, \nno. 1103 (1995): 90-95.\n"
@ -397,10 +246,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: skos:note
description: 'Recommendations for future care, display, or treatment.
'
examples:
- value: Re-examine varnish layer in 25 years
- value: Display in climate-controlled case only
@ -409,9 +254,6 @@ classes:
follow_up_date:
required: false
range: date
description: 'Date for recommended follow-up examination.
'
examples:
- value: '2019-01-01'
description: 25-year follow-up from 1994 restoration
@ -419,38 +261,23 @@ classes:
required: false
range: uriorcurie
inlined: false
description: 'Loan associated with this condition record (for loan condition checks).
'
examples:
- value: https://nde.nl/ontology/hc/loan/mauritshuis-rijksmuseum-2023-001
cost:
required: false
range: decimal
slot_uri: schema:price
description: 'Cost of conservation treatment.
'
examples:
- value: 150000
description: €150,000 for major restoration
cost_currency:
required: false
range: string
slot_uri: schema:priceCurrency
description: 'Currency code for cost (ISO 4217).
'
examples:
- value: EUR
- value: USD
funding_source:
required: false
range: string
slot_uri: schema:funder
description: 'Source of funding for conservation work.
'
examples:
- value: Mondriaan Fund
- value: Getty Foundation
@ -459,10 +286,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: skos:note
description: 'Additional notes about the conservation record.
'
examples:
- value: Treatment coincided with preparation for 1995 exhibition
- value: Discovery of Vermeer's signature during cleaning

View file

@ -24,32 +24,52 @@ classes:
- gn:A.PCLI
close_mappings:
- wikidata:Q6256
description: |
Country identified by ISO 3166-1 alpha-2 and alpha-3 codes.
description: 'Country identified by ISO 3166-1 alpha-2 and alpha-3 codes.
This is a **minimal design** class containing ONLY ISO standardized country codes.
No other metadata (names, languages, capitals, regions) is included.
Purpose:
- Link legal forms to their jurisdiction (legal forms are country-specific)
- Link custodian places to their country location
- Enable conditional enum values in FeatureTypeEnum (e.g., "cultural heritage of Peru")
Design rationale:
- ISO 3166 codes are authoritative, stable, and language-neutral
- Country names, languages, and other metadata should be resolved via external services
- Keeps the ontology focused on heritage custodian relationships, not geopolitical data
External resolution services:
- GeoNames API: https://www.geonames.org/
- UN M49 Standard: https://unstats.un.org/unsd/methodology/m49/
- ISO 3166 Maintenance Agency: https://www.iso.org/iso-3166-country-codes.html
Examples:
- Netherlands: has_iso_3166_1_alpha_2_code="NL", has_iso_3166_1_alpha_3_code="NLD"
- Peru: has_iso_3166_1_alpha_2_code="PE", has_iso_3166_1_alpha_3_code="PER"
- United States: has_iso_3166_1_alpha_2_code="US", has_iso_3166_1_alpha_3_code="USA"
- Japan: has_iso_3166_1_alpha_2_code="JP", has_iso_3166_1_alpha_3_code="JPN"
'
slots:
- has_iso_3166_1_alpha_2_code
- has_iso_3166_1_alpha_3_code
@ -59,10 +79,8 @@ classes:
has_iso_3166_1_alpha_2_code:
required: true
identifier: true
description: ISO 3166-1 alpha-2 code (2-letter country code). Primary identifier.
has_iso_3166_1_alpha_3_code:
required: true
description: ISO 3166-1 alpha-3 code (3-letter country code)
specificity_annotation:
range: SpecificityAnnotation
inlined: true

View file

@ -44,13 +44,7 @@ classes:
slot_usage:
wikidata_entity:
equals_string: Q11906844
description: Wikidata entity for court records archive
jurisdiction_level:
description: 'Level of court jurisdiction covered by this archive.
Values: national, federal, state, regional, district, local, specialized
'
range: string
examples:
- value: state
@ -58,11 +52,6 @@ classes:
- value: federal
description: Federal court system records
court_types_covered:
description: 'Types of courts whose records are preserved.
Examples: civil, criminal, administrative, commercial, family, constitutional
'
range: string
multivalued: true
examples:

View file

@ -97,13 +97,7 @@ classes:
slot_usage:
wikidata_entity:
equals_string: Q3152824
description: Wikidata entity for cultural institution
cultural_focus_area:
description: 'Areas of cultural focus for the institution.
Examples: visual arts, performing arts, heritage, literature, music, science
'
range: string
multivalued: true
examples:
@ -111,11 +105,6 @@ classes:
- visual arts
- heritage preservation
institution_function:
description: 'Primary functions of the institution.
Examples: collection, exhibition, education, research, preservation, advocacy
'
range: string
multivalued: true
has_or_had_custodian_type:

View file

@ -126,16 +126,6 @@ classes:
- template_specificity
slot_usage:
has_activity_identifier:
slot_uri: dcterms:identifier
description: 'Unique identifier for this curation activity.
Format: URI following NDE Heritage Custodian ontology conventions.
Recommended pattern: `{custodian-id}/activity/{activity-type}-{year}-{sequence}`
'
range: uriorcurie
required: true
identifier: true
@ -145,13 +135,6 @@ classes:
- value: https://nde.nl/ontology/hc/activity/nationaal-archief-digitization-voc-2024
description: VOC digitization project at Nationaal Archief
has_activity_name:
slot_uri: skos:prefLabel
description: 'Human-readable name for this curation activity.
Should be descriptive and include collection/scope where relevant.
'
range: string
required: true
examples:
@ -162,18 +145,6 @@ classes:
- value: Medieval Manuscripts Rehousing Initiative
description: Preservation rehousing project
has_activity_type:
slot_uri: crm:P2_has_type
description: 'Classification of this curation activity from CurationActivityTypeEnum.
CIDOC-CRM: P2_has_type for activity classification.
See CurationActivityTypeEnum for full list of activity types with
SPECTRUM procedure mappings and AAT alignments.
'
range: CurationActivityTypeEnum
required: true
examples:
@ -184,37 +155,12 @@ classes:
- value: ACCESSIONING
description: Formal acceptance into collection
has_activity_description:
slot_uri: dcterms:description
description: 'Detailed narrative description of the curation activity.
Should include:
- Scope and objectives
- Methodology
- Resources involved
- Expected outcomes
'
range: string
examples:
- value: Annual physical inventory of the Dutch Masters collection, covering approximately 450 paintings. Spot-check
methodology with 20% sample verified against catalog records. Includes condition notation and location verification.
description: Inventory activity description
curated_holding:
slot_uri: crm:P147_curated
description: 'The Collection(s) being curated by this activity.
CIDOC-CRM: P147_curated links E87_Curation_Activity to E78_Curated_Holding.
Back-reference from CurationActivity to Collection.
'
range: Collection
multivalued: true
inlined: false
@ -222,18 +168,6 @@ classes:
- value: https://nde.nl/ontology/hc/collection/rijksmuseum-dutch-masters
description: Dutch Masters collection at Rijksmuseum
responsible_actor:
slot_uri: prov:wasAssociatedWith
description: 'Person(s) responsible for conducting this activity.
PROV-O: wasAssociatedWith links Activity to responsible Agent.
Links to PersonObservation for staff members, curators, registrars,
conservators, or external contractors.
'
range: PersonObservation
multivalued: true
inlined: false
@ -241,15 +175,6 @@ classes:
- value: https://nde.nl/ontology/hc/person/jan-de-vries-registrar
description: Museum registrar
responsible_department:
slot_uri: schema:department
description: 'Department or unit responsible for this activity.
Text name of internal department (e.g., "Registration", "Conservation",
"Digital Services", "Collections Management").
'
range: string
examples:
- value: Registration Department
@ -259,16 +184,6 @@ classes:
- value: Conservation Lab
description: For condition surveys
has_activity_timespan:
slot_uri: crm:P4_has_time-span
description: 'Time period during which this activity occurs.
CIDOC-CRM: P4_has_time-span for temporal extent.
Use TimeSpan class for structured start/end dates.
'
range: TimeSpan
examples:
- value:
@ -276,34 +191,16 @@ classes:
end_date: '2025-03-31'
description: Q1 2025 inventory period
start_date:
slot_uri: schema:startDate
description: 'Start date of this activity (simple date alternative to activity_timespan).
'
range: date
examples:
- value: '2025-01-15'
description: Activity start
end_date:
slot_uri: schema:endDate
description: 'End date of this activity (simple date alternative to activity_timespan).
May be null for ongoing activities.
'
range: date
examples:
- value: '2025-03-31'
description: Activity end
is_recurring:
slot_uri: schema:repeatFrequency
description: 'Whether this activity recurs on a regular schedule.
True for activities like annual inventory, quarterly condition checks.
'
range: boolean
examples:
- value: true
@ -311,16 +208,6 @@ classes:
- value: false
description: One-time digitization project
recurrence_pattern:
slot_uri: schema:repeatFrequency
description: 'Pattern for recurring activities.
Use ISO 8601 duration or human-readable description.
Examples: "P1Y" (annual), "P3M" (quarterly), "P1M" (monthly)
'
range: string
examples:
- value: P1Y
@ -330,9 +217,6 @@ classes:
- value: Every January
description: Human-readable
objects_affected:
slot_uri: prov:used
description: "ExhibitedObject items processed or examined by this activity.\n\nPROV-O: used for entities consumed/processed\
\ by Activity.\n\nFor activities that touch specific objects (condition surveys, \nphotography, rehousing).\n"
range: ExhibitedObject
multivalued: true
inlined: false
@ -342,16 +226,6 @@ classes:
- https://nde.nl/ontology/hc/object/rijksmuseum-milkmaid
description: Objects in condition survey
objects_added:
slot_uri: rico:resultsIn
description: 'Objects accessioned into the collection through this activity.
Specifically for ACCESSIONING activities.
RiC-O: resultsIn for activity outcomes.
'
range: ExhibitedObject
multivalued: true
inlined: false
@ -360,16 +234,6 @@ classes:
- https://nde.nl/ontology/hc/object/new-acquisition-2025-001
description: Newly accessioned object
objects_removed:
slot_uri: rico:resultsIn
description: 'Objects deaccessioned from the collection through this activity.
Specifically for DEACCESSIONING activities.
Track removal reason in activity_description.
'
range: ExhibitedObject
multivalued: true
inlined: false
@ -378,13 +242,6 @@ classes:
- https://nde.nl/ontology/hc/object/deaccessioned-2025-001
description: Deaccessioned object
objects_count:
slot_uri: schema:size
description: 'Approximate count of objects affected when individual tracking impractical.
Use for large-scale activities (inventory of 10,000 items).
'
range: integer
examples:
- value: 10000
@ -392,16 +249,6 @@ classes:
- value: 342
description: Digitization of 342 manuscripts
documentation_produced:
slot_uri: prov:generated
description: 'Documentation generated by this activity.
PROV-O: generated for entities created by Activity.
Free-text description of reports, records, finding aids created.
'
range: string
multivalued: true
examples:
@ -411,13 +258,6 @@ classes:
- Condition notation updates (42 records)
description: Inventory deliverables
deliverable:
slot_uri: schema:result
description: 'URLs or references to deliverable documents/outputs.
Links to actual reports, finding aids, digital assets.
'
range: uri
multivalued: true
examples:
@ -426,13 +266,6 @@ classes:
- https://example.org/finding-aids/voc-series-1.ead
description: Deliverable URLs
funding_source:
slot_uri: schema:funder
description: 'Source of funding for this activity.
Internal budget, grant, donation, partnership.
'
range: string
examples:
- value: NEH Preservation and Access Grant
@ -442,13 +275,6 @@ classes:
- value: Friends of the Museum donation
description: Donor-funded
budget:
slot_uri: schema:price
description: 'Budget allocated for this activity.
Include currency code.
'
range: string
examples:
- value: EUR 125,000
@ -456,13 +282,6 @@ classes:
- value: USD 50,000
description: Conservation survey budget
has_or_had_related_activity:
slot_uri: dcterms:relation
description: 'Other CurationActivity instances related to this one.
For parallel or complementary activities.
'
range: CurationActivity
multivalued: true
inlined: false
@ -471,42 +290,18 @@ classes:
- https://nde.nl/ontology/hc/activity/digitization-phase-1
description: Related earlier phase
preceding_activity:
slot_uri: prov:wasInformedBy
description: 'CurationActivity that preceded and informed this one.
PROV-O: wasInformedBy for dependency relationship.
Creates sequential chain of activities.
'
range: CurationActivity
inlined: false
examples:
- value: https://nde.nl/ontology/hc/activity/condition-survey-2024
description: Condition survey informed rehousing priorities
following_activity:
slot_uri: prov:informed
description: 'CurationActivity that follows and is informed by this one.
Inverse of preceding_activity.
'
range: CurationActivity
inlined: false
examples:
- value: https://nde.nl/ontology/hc/activity/conservation-treatment-2025
description: Conservation treatment follows condition survey
status:
slot_uri: schema:eventStatus
description: 'Current status of this activity.
Values: PLANNED, IN_PROGRESS, COMPLETED, SUSPENDED, CANCELLED
'
range: string
examples:
- value: IN_PROGRESS
@ -514,16 +309,6 @@ classes:
- value: COMPLETED
description: Activity finished
priority:
slot_uri: schema:position
description: 'Priority level for this activity.
Values: HIGH, MEDIUM, LOW, CRITICAL
Used for planning and resource allocation.
'
range: string
examples:
- value: HIGH
@ -531,28 +316,11 @@ classes:
- value: CRITICAL
description: Urgent/emergency activity
note:
slot_uri: skos:note
description: 'Additional notes about this activity.
Free-text field for observations, issues, recommendations.
'
range: string
examples:
- value: Inventory delayed due to gallery renovation. Resumed Feb 2025.
description: Activity notes
spectrum_procedure:
slot_uri: dcterms:conformsTo
description: 'SPECTRUM procedure this activity conforms to.
Links to SPECTRUM Collections Management Standard procedure names.
See CurationActivityTypeEnum for SPECTRUM mappings.
'
range: string
examples:
- value: inventory

View file

@ -65,39 +65,17 @@ classes:
slot_usage:
wikidata_entity:
equals_string: Q3621648
description: Wikidata entity for current archive
retention_schedule:
description: 'Reference to retention schedule governing these records.
URL or identifier for the applicable retention policy.
'
range: string
examples:
- value: Ministry of Finance Records Schedule 2023
creating_organization:
description: 'Organization that created/creates these records.
Current archives are typically managed by or for the creating body.
'
range: string
examples:
- value: Ministry of Finance
transfer_policy:
description: 'Policy for transferring records to intermediate or permanent archives.
Describes triggers, timelines, and procedures for transfer.
'
range: string
has_narrower_instance:
slot_uri: skos:narrowerTransitive
description: "Links this archive TYPE to specific CustodianArchive INSTANCES\nthat are classified under this lifecycle\
\ phase.\n\n**SKOS**: skos:narrowerTransitive for type-instance relationship.\n\n**Usage**:\nWhen a CustodianArchive\
\ contains records in the \"current/active\" phase,\nit can be linked from CurrentArchive via this property.\n\n\
**Example**:\n- CurrentArchive (type) → has_narrower_instance → \n CustodianArchive \"Director's Active Files 2020-2024\"\
\ (instance)\n"
range: CustodianArchive
multivalued: true
required: false

View file

@ -214,298 +214,52 @@ classes:
- time_of_destruction
slot_usage:
hc_id:
slot_uri: dcterms:identifier
description: 'The persistent NDE Heritage Custodian ontology identifier that uniquely
identifies this custodian entity and serves as the hub for all related data.
Format: https://nde.nl/ontology/hc/{abstracted-ghcid}
Example: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
'
range: uriorcurie
required: true
identifier: true
pattern: ^https://nde\.nl/ontology/hc/[a-z0-9-]+$
preferred_label:
description: "The primary standardized emic name for this custodian.\nSKOS: prefLabel for the preferred lexical label.\n\
\nThis is the CANONICAL name - the standardized label accepted by the \ncustodian itself for public representation.\n\
\nDistinct from:\n- Legal name (formal registered name in CustodianLegalStatus.legal_name)\n- Alternative names\
\ (in CustodianName.alternative_names list)\n- Historical names (superseded CustodianNames)\n\nExample: \"Rijksmuseum\"\
\ (emic name, not \"Stichting Rijksmuseum\" legal name)\n"
range: string
required: false
legal_status:
slot_uri: org:hasRegisteredOrganization
description: 'The formal legal entity representing this custodian.
Links to CustodianLegalStatus with:
- Legal name (as registered)
- Legal form (ISO 20275 codes)
- Registration number (KvK, company number, etc.)
May be null if legal status not yet reconstructed or if custodian
has no formal legal registration (informal groups, individuals).
W3C Org: hasRegisteredOrganization for registered legal entity.
'
range: uriorcurie
required: false
place_designation:
slot_uri: crm:P53_has_former_or_current_location
description: 'Nominal place designation used to identify this custodian.
Links to CustodianPlace with contextual place reference.
CRITICAL: This is NOT geographic coordinates - this is a NOMINAL reference!
Examples:
- "het herenhuis in de Schilderswijk" (neighborhood reference)
- "the mansion" (vague building reference)
- "het museum op het Museumplein" (landmark reference)
May be null if place designation not yet reconstructed.
CIDOC-CRM: P53_has_former_or_current_location for place associations.
'
range: CustodianPlace
inlined: true
required: false
digital_platform:
slot_uri: foaf:homepage
description: "Digital platform(s) or online systems associated with this custodian.\n\nLinks to DigitalPlatform class\
\ representing web presence and digital infrastructure.\n\n**CRITICAL DISTINCTION**:\n\nThe `digital_platform` slot\
\ is used by ALL custodians (physical and digital-first):\n\n- **Physical institutions** (MUSEUM/ARCHIVE/LIBRARY\
\ types):\n - Use this slot to document their websites, APIs, digital catalogs\n - Example: Rijksmuseum (MUSEUM)\
\ has Rijksstudio website\n\n- **Digital-first institutions** (DIGITAL_PLATFORM type):\n - Use this slot to document\
\ their primary platform\n - Example: Europeana (DIGITAL_PLATFORM) operates at europeana.eu\n\n**Multiple Platforms**:\n\
A custodian may have multiple digital platforms:\n- Main website\n- API service\n- Mobile application\n- Digital\
\ repository\n- Learning management system\n\nEach platform instance captures:\n- Homepage URL\n- Collection/inventory\
\ URLs\n- API endpoints (REST, SPARQL, OAI-PMH)\n- Technical capabilities (IIIF, linked data)\n- Programming languages\
\ and repository software\n- Metadata standards implemented\n- Temporal validity (platform lifecycle)\n\n**Ontology\
\ Alignment**:\n- FOAF: foaf:homepage for primary web address\n- Schema.org: schema:WebSite, schema:WebApplication\n\
- DCAT: dcat:Catalog, dcat:DataService\n\n**Example - Physical Museum**:\n```yaml\nCustodian:\n hc_id: \"https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804\"\
\n custodian_type: MUSEUM # Physical institution\n digital_platform:\n - platform_name: \"Rijksmuseum Website\"\
\n homepage_web_address: \"https://www.rijksmuseum.nl/\"\n iiif_support: true\n linked_data: true\n\
```\n\n**Example - Digital-First Platform**:\n```yaml\nCustodian:\n hc_id: \"https://nde.nl/ontology/hc/eu-europeana\"\
\n custodian_type: DIGITAL_PLATFORM # Digital-first\n digital_platform:\n - platform_name: \"Europeana Platform\"\
\n homepage_web_address: \"https://www.europeana.eu/\"\n api_endpoint: \"https://api.europeana.eu/\"\n\
\ sparql_endpoint: \"https://api.europeana.eu/sparql\"\n iiif_support: true\n linked_data: true\n\
```\n\n**Why on Custodian hub?**:\n- Digital platforms are OPERATIONAL infrastructure (like organizational units)\n\
- Not legal entities (distinct from CustodianLegalStatus)\n- Not names (distinct from CustodianName)\n- Not places\
\ (distinct from CustodianPlace)\n- Platforms evolve independently of legal status (URL changes, migrations)\n\n\
**Temporal Validity**:\nEach DigitalPlatform instance tracks temporal_extent for lifecycle:\n- Platform launch date\n\
- Platform migration date (URL change)\n- Platform shutdown date\n\nMay be null if digital platform not yet documented.\n"
range: DigitalPlatform
multivalued: true
required: false
inlined_as_list: true
has_collection:
slot_uri: crm:P46_is_composed_of
description: 'Heritage collection(s) associated with this custodian.
Links to CustodianCollection aspect representing metonymic relationship:
when people refer to a custodian, they often mean its collection.
CIDOC-CRM: P46_is_composed_of links aggregations to their components.
Examples:
- "The Rijksmuseum has a Rembrandt" = Collection contains artwork
- "The Archives holds parish records" = Collection includes documents
May be null if collection not yet reconstructed.
Inverse of crm:P46i_forms_part_of (from CustodianCollection).
'
range: uriorcurie
multivalued: true
required: false
organizational_structure:
slot_uri: org:hasUnit
description: "Informal organizational structure - operational departments, teams,\ndivisions, and groups that are\
\ NOT formally registered legal entities.\n\n**Key Distinction from GovernanceStructure**:\n- **GovernanceStructure**\
\ (on CustodianLegalStatus): FORMAL structure\n from legal registration (e.g., \"National Archives is agency under\
\ Ministry OCW\")\n- **OrganizationalStructure** (on Custodian): INFORMAL operational units\n (e.g., \"Digital\
\ Preservation Team\", \"Collections Department\")\n\n**W3C ORG Ontology**:\nUses `org:hasUnit` to link custodian\
\ to `org:OrganizationalUnit` instances.\n- Domain: org:FormalOrganization\n- Range: org:OrganizationalUnit\n- Definition:\
\ \"Indicates a unit which is part of this Organization\"\n\n**Why on Custodian, not CustodianLegalStatus?**:\n\
- Organizational units are operational/functional, not legal\n- Units can change frequently without legal reorganization\n\
- Multiple legal entities (branches) may share organizational units\n- Separates formal (legal) from informal (operational)\
\ concerns\n\n**Temporal Dynamics**:\nEach OrganizationalStructure has `valid_from`/`valid_to` dates to track\n\
organizational changes (department creation, mergers, dissolutions).\n\n**Example - National Archives**:\n```yaml\n\
CustodianLegalStatus:\n governance_structure: # FORMAL (from legal docs)\n structure_type: \"Government agency\"\
\n governance_body: \"Reports to Ministry OCW\"\n\nCustodian:\n organizational_structure: # INFORMAL (operational)\n\
\ - unit_name: \"Digital Preservation Department\"\n unit_type: \"DEPARTMENT\"\n staff_count: 15\n\
\ - unit_name: \"Public Services Team\"\n unit_type: \"TEAM\"\n```\n"
range: uriorcurie
multivalued: true
required: false
inlined_as_list: true
has_or_had_organizational_change_event:
slot_uri: crm:P12i_was_present_at
description: "Historical organizational change events that have affected this custodian's\nstructure, operations,\
\ or identity over time.\n\n**Tracks Organizational History**:\nDocuments significant restructuring events including\
\ mergers, splits,\ndissolutions, reorganizations, relocations, name changes, and expansions.\n\n**CIDOC-CRM Alignment**:\n\
Uses `crm:P12i_was_present_at` to link Custodian (E39_Actor) to Event (E5_Event).\n- Domain: crm:E39_Actor (Custodian)\n\
- Range: crm:E5_Event (OrganizationalChangeEvent)\n- Definition: \"This property describes the active or passive\
\ presence of an Actor\n at an Event\"\n\n**Event Types** (9 categories from OrganizationalChangeEventTypeEnum):\n\
- MERGER: Multiple units/custodians combining into one\n- SPLIT: One unit dividing into multiple independent units\n\
- DISSOLUTION: Unit ceasing operations with no successor\n- REORGANIZATION: Structural changes (reporting lines,\
\ roles, responsibilities)\n- RENAMING: Name change only (no structural impact)\n- TRANSFER: Moving unit to different\
\ parent organization\n- FOUNDING: Creation of new organizational unit\n- EXPANSION: Increased scope, responsibilities,\
\ or geographic coverage\n- REDUCTION: Decreased scope or services\n\n**Relationship to OrganizationalStructure**:\n\
OrganizationalChangeEvent provides PROVENANCE for organizational changes:\n- `affected_units`: References to OrganizationalStructure\
\ instances that were\n dissolved, merged, or transformed\n- `resulting_units`: References to new OrganizationalStructure\
\ instances created\n by the event\n- Temporal alignment: event_date marks when organizational structures become\n\
\ valid (`valid_from`) or cease (`valid_to`)\n\n**Example - Merger Event**:\n```yaml\nCustodian:\n hc_id: \"https://nde.nl/ontology/hc/nl-nh-haa-a-nha\"\
\n organizational_structure:\n - id: \".../org-unit/nha-digital-preservation\"\n unit_name: \"Digital Preservation\
\ Department\"\n valid_from: \"2001-01-01\"\n # Created by merger event\n \n organizational_change_events:\n\
\ - event_id: \".../event/nha-merger-2001\"\n event_type: \"MERGER\"\n event_date: \"2001-01-01\"\n\
\ event_description: |\n Merger of Gemeentearchief Haarlem (founded 1910) and\n Rijksarchief\
\ in Noord-Holland (founded 1802) to form\n Noord-Hollands Archief.\n affected_units:\n - \"\
.../org-unit/ga-haarlem-conservation\" # Dissolved\n - \".../org-unit/ra-nh-research\" # Dissolved\n \
\ resulting_units:\n - \".../org-unit/nha-digital-preservation\" # Created\n staff_impact: \"125\
\ employees from both organizations integrated\"\n```\n\n**Example - Reorganization Event**:\n```yaml\norganizational_change_events:\n\
\ - event_id: \".../event/na-reorg-2015\"\n event_type: \"REORGANIZATION\"\n event_date: \"2015-06-01\"\n\
\ event_description: |\n Restructuring of National Archives divisions to align with\n digital transformation\
\ strategy. Conservation and Digitization\n merged into unified Digital Services Division.\n change_rationale:\
\ >-\n Strategic realignment to support digital-first collection\n management and public access priorities.\n\
\ affected_units:\n - \".../org-unit/na-conservation\" # Reorganized\n - \".../org-unit/na-digitization\"\
\ # Reorganized\n resulting_units:\n - \".../org-unit/na-digital-services\" # New combined unit\n staff_impact:\
\ \"40 staff reassigned, 5 new digital preservation roles created\"\n documentation_source: \"https://example.org/restructuring-plan-2015.pdf\"\
\n```\n\n**Why on Custodian (not CustodianLegalStatus)?**:\n- Organizational change events affect OPERATIONAL structure\
\ (OrganizationalStructure\n on Custodian), not LEGAL structure (GovernanceStructure on CustodianLegalStatus)\n\
- Legal entity mergers (two foundations combining) tracked in CustodianLegalStatus\n change history\n- Operational\
\ unit changes (departments merging) tracked here on Custodian\n\n**Temporal Consistency Rules**:\n1. `event_date`\
\ MUST align with OrganizationalStructure temporal boundaries:\n - Dissolved units: `valid_to` = `event_date`\n\
\ - Created units: `valid_from` = `event_date`\n2. Multiple events can occur on same date (batch reorganization)\n\
3. Events provide narrative context for structural changes\n\n**Data Quality**:\n- `confidence_score` (0.0-1.0)\
\ indicates certainty of event details\n- `documentation_source` links to authoritative evidence (annual reports,\n\
\ government decrees, institutional websites)\n- `change_rationale` documents WHY the change occurred (strategic,\
\ financial,\n regulatory, etc.)\n"
range: uriorcurie
multivalued: true
required: false
inlined_as_list: true
encompassing_body:
slot_uri: org:subOrganizationOf
description: "Extra-organizational governance bodies that encompass, oversee, or coordinate\nthis custodian. Represents\
\ parent organizations, service networks, or consortia\nthat the custodian is part of or member of.\n\n**THREE TYPES\
\ OF ENCOMPASSING BODIES**:\n\n1. **UmbrellaOrganisation** - LEGAL parent organizations (permanent hierarchy)\n\
\ - Example: Ministry of OCW → National Archives\n - Defined in statutes/laws, permanent structure\n\n2. **NetworkOrganisation**\
\ - SERVICE provider networks (temporary, centralized)\n - Example: Digital Heritage Network → Member museums\n\
\ - Voluntary membership for service access\n\n3. **Consortium** - MUTUAL assistance bodies (temporary, peer-to-peer)\n\
\ - Example: Library Consortium → Member libraries\n - Peer collaboration, reciprocal services\n\n**W3C ORG\
\ Property**: `org:subOrganizationOf` - \"Represents hierarchical \ncontainment of Organizations or Organizational\
\ Units; indicates an organization \nwhich is a sub-part or child of this Organization.\"\n- Domain: org:Organization\
\ (Custodian)\n- Range: org:Organization (EncompassingBody)\n- Inverse: `org:hasSubOrganization` (from EncompassingBody)\n\
\n**Key Distinctions**:\n- **EncompassingBody**: EXTERNAL parent/umbrella organizations (beyond custodian)\n- **GovernanceStructure**:\
\ INTERNAL legal structure (within CustodianLegalStatus)\n- **OrganizationalStructure**: INTERNAL operational units\
\ (within Custodian)\n\n**Why on Custodian, not CustodianLegalStatus?**:\n- Encompassing relationships affect the\
\ ENTIRE custodian (all aspects)\n- Not limited to legal entity (may include place-based or collection-based governance)\n\
- Example: Religious order (umbrella) governs monastery archive (custodian with\n place, collection, legal, and\
\ name aspects)\n\n**Temporal Dynamics**:\nCustodians can change umbrella organizations, join/leave networks, or\n\
participate in multiple consortia over time. Track membership changes\nwith temporal validity on EncompassingBody\
\ instances.\n\n**Multiple Encompassing Bodies**:\nCustodians may simultaneously belong to:\n- One UmbrellaOrganisation\
\ (legal parent)\n- Multiple NetworkOrganisations (service providers)\n- Multiple Consortia (collaborative groups)\n\
\n**Example - Museum with Multiple Encompassing Bodies**:\n```yaml\nCustodian:\n hc_id: \"https://nde.nl/ontology/hc/nl-nh-ams-m-am\"\
\n preferred_label: \"Amsterdam Museum\"\n \n encompassing_body:\n # Legal parent (permanent hierarchy)\n\
\ - id: \".../encompassing-body/umbrella/nl-municipality-amsterdam\"\n organization_name: \"Gemeente Amsterdam\"\
\n organization_type: \"UMBRELLA\"\n governance_authority: \"Municipal oversight, budget approval\"\n\
\ \n # Service network (voluntary membership)\n - id: \".../encompassing-body/network/digital-heritage-nl\"\
\n organization_name: \"Digital Heritage Network\"\n organization_type: \"NETWORK\"\n service_offerings:\
\ [\"Digital preservation storage\", \"Metadata services\"]\n \n # Consortium (peer collaboration)\n -\
\ id: \".../encompassing-body/consortium/amsterdam-museums-consortium\"\n organization_name: \"Amsterdam Museums\
\ Consortium\"\n organization_type: \"CONSORTIUM\"\n service_offerings: [\"Shared exhibitions\", \"Marketing\
\ coordination\"]\n```\n\n**Example - National Archives with Umbrella Only**:\n```yaml\nCustodian:\n hc_id: \"\
https://nde.nl/ontology/hc/nl-na\"\n preferred_label: \"Nationaal Archief\"\n \n encompassing_body:\n # Legal\
\ parent under Heritage Act\n - id: \".../encompassing-body/umbrella/nl-ministry-ocw\"\n organization_name:\
\ \"Ministerie van OCW\"\n organization_type: \"UMBRELLA\"\n legal_form: \"Government ministry\"\n \
\ governance_authority: >-\n Exercises governance under Dutch Heritage Act 2016.\n Authority includes\
\ budget oversight, director appointment,\n and strategic policy direction.\n```\n\n**SPARQL Query Pattern**:\n\
```sparql\n# Find all custodians under a ministry\nPREFIX org: <http://www.w3.org/ns/org#>\nPREFIX hc: <https://nde.nl/ontology/hc/class/>\n\
\nSELECT ?custodian_name ?custodian_type WHERE {\n ?custodian org:subOrganizationOf <.../ministry-ocw> ;\n \
\ skos:prefLabel ?custodian_name ;\n hc:custodian_type ?custodian_type .\n}\n```\n\n**Data Quality**:\n\
- High-quality data includes temporal validity (when membership began/ended)\n- Documentation of governance authority\
\ for UmbrellaOrganisations\n- Service descriptions for NetworkOrganisations and Consortia\n- External identifiers\
\ (Wikidata) for encompassing bodies\n"
range: uriorcurie
multivalued: true
required: false
inlined_as_list: true
data_license_policy:
slot_uri: odrl:hasPolicy
range: DataLicensePolicy
description: "The custodian's data licensing and openness policy for its collections and data.\n\nLinks to DataLicensePolicy\
\ which defines:\n- Default license (CC0, CC-BY, proprietary, etc.)\n- Service-specific licenses (if different services\
\ have different licenses)\n- Openness stance (STRONG_OPEN_ADVOCATE, MIXED_POLICY, FULLY_PROPRIETARY)\n- Advocacy\
\ activities (participation in open data initiatives)\n\n**WHY ON CUSTODIAN (not just EncompassingBody)?**\n\nIndividual\
\ custodians can have their own data policies independent of\ntheir encompassing body. A museum under a government\
\ ministry may have\na more open policy than the ministry's default.\n\n**Examples:**\n\n- **Rijksmuseum** (MUSEUM\
\ under Ministry OCW):\n - openness_stance: OPEN_BY_DEFAULT\n - default_license: CC0 (for high-res images)\n \
\ - This is MORE open than Ministry OCW's general policy\n \n- **National Archives** (ARCHIVE under Ministry OCW):\n\
\ - openness_stance: OPEN_BY_DEFAULT\n - default_license: CC0 (for digitized records)\n - Some records may have\
\ restrictions (privacy)\n \n- **Private Collection** (PERSONAL_COLLECTION):\n - openness_stance: CLOSED_BY_DEFAULT\n\
\ - default_license: proprietary\n - Viewing by appointment only\n\n**Ontology Alignment:**\n\n- odrl:hasPolicy\
\ (ODRL - Open Digital Rights Language)\n- dcterms:license (Dublin Core)\n- schema:license (Schema.org)\n\nMay be\
\ null if data license policy not yet documented or if custodian\nhasn't formalized their data policy.\n"
required: false
has_or_had_participated_in_project:
slot_uri: org:memberOf
range: Project
multivalued: true
inlined_as_list: true
required: false
description: "Projects and initiatives in which this custodian has participated.\n\nLinks Custodian (participant)\
\ to Project instances that represent\ntime-limited initiatives run by EncompassingBody organizations.\n\n**Inverse\
\ of Project.participating_custodians**:\n- Custodian → participated_in_projects → Project[]\n- Project → participating_custodians\
\ → Custodian[]\n\n**Navigation Pattern**:\nFrom Custodian, find all projects they have participated in.\nFrom Project,\
\ find all participating custodians.\n\n**Why on Custodian?**:\n\nWhile projects are organized by EncompassingBody\
\ organizations (networks,\ncooperatives, consortia), individual custodians are the PARTICIPANTS who\ncontribute\
\ resources, expertise, and collections to project activities.\n\nThis slot provides the custodian's perspective\
\ on project participation,\ncomplementing the EncompassingBody.projects relationship.\n\n**Example - Amsterdam\
\ Museum**:\n```yaml\nCustodian:\n hc_id: \"https://nde.nl/ontology/hc/nl-nh-ams-m-am\"\n preferred_label: \"\
Amsterdam Museum\"\n \n # Member of NDE network\n encompassing_body:\n - id: \".../encompassing-body/network/nde\"\
\n organization_name: \"Netwerk Digitaal Erfgoed\"\n \n # Participated in NDE projects\n participated_in_projects:\n\
\ - project_id: \".../project/nde/versnellen-2024\"\n project_name: \"Versnellen 2024\"\n project_status:\
\ \"IN_PROGRESS\"\n - project_id: \".../project/nde/versnellen-2023\"\n project_name: \"Versnellen 2023\"\
\n project_status: \"COMPLETED\"\n```\n\n**Participation Types**:\n\nCustodians participate in projects through\
\ various roles:\n- **Lead partner**: Primary responsibility, often receives main funding\n- **Consortium member**:\
\ Equal partnership with shared responsibilities\n- **Subcontractor**: Specific deliverables under contract\n- **Advisory\
\ role**: Guidance without direct deliverables\n- **Pilot site**: Testing/validation of project outputs\n\nThese\
\ roles could be modeled via a ProjectParticipation class (future extension)\nif detailed role tracking is needed.\n\
\n**Temporal Dynamics**:\n\nCustodians may participate in multiple projects simultaneously or sequentially.\nHistorical\
\ project participation provides organizational memory of collaborative\nactivities and capacity building.\n\n**Relationship\
\ to encompassing_body**:\n\n- **encompassing_body**: Membership in networks/consortia (organizational relationship)\n\
- **participated_in_projects**: Participation in specific initiatives (project relationship)\n\nA custodian can\
\ participate in projects run by EncompassingBodies they are NOT\nmembers of (e.g., as external expert or subcontractor).\n"
examples:
- value:
- project_id: https://nde.nl/ontology/hc/project/nde/versnellen-2024
@ -516,33 +270,10 @@ classes:
project_status: IN_PROGRESS
description: Museum participating in multiple heritage network projects
has_or_had_social_media_profile:
slot_uri: foaf:account
range: SocialMediaProfile
multivalued: true
inlined_as_list: true
required: false
description: "Social media accounts/profiles maintained by this custodian.\n\nLinks to SocialMediaProfile instances\
\ representing third-party\nsocial media accounts (Instagram, Facebook, X/Twitter, YouTube, etc.).\n\n**FOAF Alignment**:\n\
Uses `foaf:account` property which links Agent to OnlineAccount:\n- Domain: foaf:Agent (Custodian)\n- Range: foaf:OnlineAccount\
\ (SocialMediaProfile)\n\n**THREE-TIER DIGITAL PRESENCE MODEL**:\n\n```\n1. DigitalPlatform (PRIMARY - owned websites)\n\
\ - digital_platform slot\n - Main website, APIs, flagship platforms\n \n2. AuxiliaryDigitalPlatform (SECONDARY\
\ - owned project sites)\n - Linked via DigitalPlatform.auxiliary_platforms\n - Exhibition microsites, project-specific\
\ tools\n \n3. SocialMediaProfile (THIRD-PARTY - external accounts) - THIS SLOT\n - Accounts on external social\
\ media services\n - NOT owned/controlled by custodian\n```\n\n**is_primary_digital_presence Flag**:\n\nEach SocialMediaProfile\
\ has a boolean `is_primary_digital_presence`:\n\n- **true**: Social media IS the main digital presence\n - Custodian\
\ has no formal website\n - Example: Local heritage society with Facebook only\n \n- **false**: Social media SUPPORTS\
\ the main website\n - Custodian has a DigitalPlatform\n - Example: Rijksmuseum Instagram supports rijksmuseum.nl\n\
\n**Example - Museum with Social Media Supporting Website**:\n```yaml\nCustodian:\n hc_id: \"https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804\"\
\n preferred_label: \"Rijksmuseum\"\n \n digital_platform:\n - platform_name: \"Rijksmuseum Website\"\n \
\ homepage_web_address: \"https://www.rijksmuseum.nl/\"\n \n social_media_profiles:\n - platform_type: INSTAGRAM\n\
\ account_name: \"rijksmuseum\"\n profile_url: \"https://www.instagram.com/rijksmuseum/\"\n is_primary_digital_presence:\
\ false\n follower_count: 1200000\n verified: true\n \n - platform_type: X_TWITTER\n account_name:\
\ \"rijksmuseum\"\n profile_url: \"https://x.com/rijksmuseum\"\n is_primary_digital_presence: false\n\
```\n\n**Example - Local Society with Social Media as Primary**:\n```yaml\nCustodian:\n hc_id: \"https://nde.nl/ontology/hc/nl-dr-nvn-s-hvn\"\
\n preferred_label: \"Historische Vereniging Nijeveen\"\n \n digital_platform: null # No formal website\n \n\
\ social_media_profiles:\n - platform_type: FACEBOOK\n account_name: \"HistorischeVerenigingNijeveen\"\n\
\ profile_url: \"https://www.facebook.com/HistorischeVerenigingNijeveen\"\n is_primary_digital_presence:\
\ true\n follower_count: 450\n```\n"
examples:
- value:
- platform_type: INSTAGRAM
@ -557,83 +288,23 @@ classes:
is_primary_digital_presence: false
description: Museum with multiple social media profiles supporting main website
has_or_had_safeguard:
slot_uri: crm:P109_has_current_or_former_curator
description: "Intangible heritage forms that this custodian safeguards/preserves.\n\nLinks to IntangibleHeritageForm\
\ entities representing cultural practices,\ntraditions, and expressions recognized under the UNESCO 2003 Convention.\n\
\n**Usage by Custodian Type**:\n\n- **Type I (Intangible Heritage Group)**: Primary safeguarding role\n - Example:\
\ Stichting Amsterdam Gay Pride safeguards Pride Amsterdam\n\n- **Type T (Taste/Smell)**: Safeguards culinary/olfactory\
\ traditions\n - Example: Bakkerij van Maanen safeguards traditional baking methods\n\n- **Other types**: May have\
\ secondary safeguarding roles\n - Example: Municipal archive safeguards local festival documentation\n\n**INVERSE\
\ RELATIONSHIP**:\n- Inverse: `IntangibleHeritageForm.safeguarded_by`\n- Pattern: If Custodian safeguards Form,\
\ then Form safeguarded_by Custodian\n\n**CIDOC-CRM Alignment**:\n- P109_has_current_or_former_curator (Custodian\
\ → Heritage)\n- P109i_is_current_or_former_curator_of (Heritage → Custodian)\n"
range: IntangibleHeritageForm
multivalued: true
inlined: false
identifier:
slot_uri: crm:P48_has_preferred_identifier
description: 'External identifiers assigned to this custodian by authorities.
CIDOC-CRM: P48_has_preferred_identifier links E1_CRM_Entity (Custodian) to E42_Identifier.
Domain: Custodian → Range: CustodianIdentifier (multivalued).
Inverse of crm:P48i_is_preferred_identifier_of.
'
range: CustodianIdentifier
multivalued: true
inlined_as_list: true
time_of_destruction:
slot_uri: crm:P4_has_time-span
range: TimeSpan
required: false
description: "Temporal extent of custodian's destruction or significant damage due to\narmed conflict, natural disaster,\
\ deliberate destruction, or state action.\n\n**CRITICAL DISTINCTION from temporal_extent**:\n- `temporal_extent`\
\ (on CustodianLegalStatus): Normal organizational lifespan\n- `time_of_destruction`: Involuntary destruction event\
\ (traumatic end)\n\n**USE CASES**:\n- Gaza 2023-2024: Libraries, museums, archives destroyed by military action\n\
- Syria, Iraq, Ukraine: Heritage institutions damaged in conflicts\n- Natural disasters: Fires, earthquakes, floods\
\ destroying collections\n\n**TimeSpan USAGE**:\nUses CIDOC-CRM E52_Time-Span with fuzzy bounds for uncertain dates.\n\
For sudden destruction (single bombing), all four bounds may be same date.\nFor gradual destruction (prolonged siege),\
\ use ranges.\n\n**RELATIONSHIP TO conflict_status**:\nThe `conflict_status` field provides summary status (DESTROYED,\
\ DAMAGED).\n`time_of_destruction` provides detailed temporal evidence.\n\n**Example**:\n```yaml\ntime_of_destruction:\n\
\ begin_of_the_begin: \"2023-12-08\"\n end_of_the_end: \"2023-12-08\"\n description: \"Great Omari Mosque Library\
\ destroyed by airstrike\"\n```\n"
mission_statement:
slot_uri: org:purpose
description: "Mission, vision, goal, value, and motto statements documented for this custodian.\n\nLinks to MissionStatement\
\ instances that capture organizational purpose\nwith full provenance (source URL, XPath, content hash, archive\
\ link).\n\n**Statement Types**:\n- **mission**: Core purpose (why we exist) - \"missie\" in Dutch\n- **vision**:\
\ Aspirational future (what we aim for) - \"visie\" in Dutch\n- **goal**: Specific objectives (what we pursue) -\
\ \"doelstelling\" in Dutch\n- **value**: Guiding principles (how we work) - \"kernwaarden\" in Dutch\n- **motto**:\
\ Memorable phrase (brand identity) - \"slagzin\" in Dutch\n\n**Why on Custodian (not CustodianLegalStatus)?**:\n\
\nMission statements express OPERATIONAL purpose, not legal obligations.\nThey may change without legal reorganization,\
\ and often reflect\npublic-facing identity rather than formal statutes.\n\n**Provenance Requirements**:\n\nFollowing\
\ the WebObservation pattern, every MissionStatement MUST have:\n1. `source_url`: URL where statement was found\n\
2. `retrieved_on`: When the page was archived\n3. `xpath` or `css_selector`: Location in HTML for verification\n\
4. `html_file`: Path to archived HTML\n5. `content_hash`: SHA-256 for integrity (recommended)\n\n**Example - Dutch\
\ Museum**:\n```yaml\nCustodian:\n hc_id: \"https://nde.nl/ontology/hc/nl-zh-zui-m-lmt\"\n preferred_label: \"\
Landbouwmuseum Tiengemeten\"\n \n mission_statement:\n - statement_type: mission\n statement_text: \"\
Waar komt ons voedsel écht vandaan.\"\n statement_language: nl\n source_url: \"https://www.landbouwmuseumtiengemeten.nl/het-museum/missie-en-visie\"\
\n retrieved_on: \"2025-12-29T10:00:00Z\"\n \n - statement_type: vision\n statement_text: |\n \
\ Het Landbouwmuseum Tiengemeten voelt zich onderdeel van een\n belangrijke agrarische ontwikkeling,\
\ de mechanisatie tussen\n 1920 en 1955. De collectie is relevant en de presentatie\n verbindt generaties.\n\
\ statement_language: nl\n source_url: \"https://www.landbouwmuseumtiengemeten.nl/het-museum/missie-en-visie\"\
\n retrieved_on: \"2025-12-29T10:00:00Z\"\n```\n"
range: MissionStatement
multivalued: true
inlined_as_list: true
created:
slot_uri: schema:dateCreated
description: 'Timestamp when this DATABASE RECORD was created (NOT the custodian''s founding date).
'
range: datetime
modified:
slot_uri: schema:dateModified
description: 'Timestamp when this DATABASE RECORD was last modified (NOT the custodian''s dissolution).
'
range: datetime
specificity_annotation:
range: SpecificityAnnotation

View file

@ -131,95 +131,16 @@ classes:
id:
identifier: true
required: true
description: 'Unique identifier for this administrative record system (URI).
Format: https://nde.nl/ontology/hc/administration/{custodian-id}/{system-name}
'
has_administration_name:
slot_uri: rico:name
range: string
required: true
description: 'Name for this administrative record system or function.
**RiC-O**: rico:name for record resource name.
**Examples**:
- "Director''s Office Correspondence"
- "Human Resources Personnel Files"
- "Acquisition Documentation"
- "Conservation Treatment Records"
- "Financial Administration (SAP)"
- "Research Request Management"
- "Loan Administration"
- "Exhibition Planning Files"
'
has_administration_description:
slot_uri: rico:scopeAndContent
range: string
required: false
description: 'Description of what records this system/function contains.
**RiC-O**: rico:scopeAndContent for content description.
Describe:
- Types of records created
- Business processes documented
- Key document series
- Relationship to other systems
'
record_type:
slot_uri: rico:hasContentType
range: string
multivalued: true
required: false
description: 'Types of records in this administrative system.
**RiC-O**: rico:hasContentType for record types.
**Examples**:
- "Correspondence"
- "Personnel files"
- "Financial records"
- "Contracts"
- "Project files"
- "Meeting minutes"
- "Reports"
- "Email"
- "Databases"
- "Spreadsheets"
'
examples:
- value:
- Correspondence
@ -227,449 +148,110 @@ classes:
- Meeting minutes
description: Director's office typical records
managing_unit:
slot_uri: rico:hasOrHadManager
range: OrganizationalStructure
required: false
description: 'Organizational unit responsible for these records.
**RiC-O**: rico:hasOrHadManager for managing agent.
This is the business unit that USES and MANAGES the records,
not the archives (archives receive records AFTER they become inactive).
Links to OrganizationalStructure for staff cross-reference.
'
creating_function:
slot_uri: rico:documents
range: string
required: false
description: 'Business function or activity that these records document.
**RiC-O**: rico:documents links RecordResource to Activity.
Records are created BECAUSE they document business activities.
This slot captures WHAT activity/function the records document.
**Examples**:
- "Collection acquisition"
- "Exhibition planning"
- "Conservation treatment"
- "Visitor services"
- "Human resource management"
- "Financial administration"
- "Research services"
- "Facilities management"
'
examples:
- value: Collection acquisition
description: Function generating acquisition records
is_or_was_active_since:
slot_uri: rico:hasBeginningDate
range: date
required: false
description: 'Date from which this administrative system has been or was active.
**RiC-O**: rico:hasBeginningDate for temporal start.
For legacy systems, may be approximate.
For new systems, date of implementation.
'
examples:
- value: '2015-01-01'
description: System implemented January 2015
estimated_volume:
slot_uri: rico:hasExtent
range: string
required: false
description: 'Current estimated volume of records in this system.
**RiC-O**: rico:hasExtent for quantity.
**Physical examples**:
- "15 filing cabinets"
- "~200 linear meters"
**Digital examples**:
- "500 GB"
- "~100,000 documents"
- "2.5 million database records"
- "5 years of email (~50,000 messages)"
'
examples:
- value: ~150,000 documents, 800 GB
description: Shared drive volume estimate
growth_rate:
slot_uri: dcterms:accrualPeriodicity
range: string
required: false
description: 'Estimated annual growth rate of this system.
**Dublin Core**: dcterms:accrualPeriodicity for growth patterns.
Used for:
- Storage capacity planning
- Future archives transfer volume estimation
- Digital preservation planning
**Examples**:
- "~50 GB/year"
- "~10,000 documents/year"
- "~2 linear meters/year"
- "Stable (closed series)"
'
examples:
- value: ~30,000 documents/year
description: Active growth rate
primary_system:
slot_uri: schema:isPartOf
range: DigitalPlatform
required: false
description: 'Primary digital system where these records are managed.
**Schema.org**: schema:isPartOf for system relationship.
Links to DigitalPlatform for:
- Document management systems (SharePoint, M-Files)
- ERP systems (SAP, Oracle)
- Email systems (Exchange, Gmail)
- Line-of-business applications
- Custom databases
Important for digital preservation planning.
'
examples:
- value: https://nde.nl/ontology/hc/platform/rm-sharepoint
description: SharePoint as primary document system
has_or_had_secondary_system:
slot_uri: schema:isPartOf
range: DigitalPlatform
multivalued: true
required: false
description: 'Additional systems where related records exist.
**Schema.org**: schema:isPartOf for system relationship.
Records often span multiple systems:
- Email + document management
- ERP + spreadsheets
- CRM + correspondence files
'
retention_schedule:
slot_uri: rico:isOrWasRegulatedBy
range: string
required: false
description: 'Reference to applicable retention schedule (regulatory framework).
**RiC-O**: rico:isOrWasRegulatedBy connects Thing to Rule.
Retention schedules are RULES that regulate how long records
must be kept and when they can be transferred to archives.
**Examples**:
- "Selectielijst Gemeenten 2017, cat. 4.2"
- "Corporate Retention Schedule RS-2023-001"
- "Archiefwet 1995, art. 5"
- "GDPR Art. 17 (right to erasure)"
'
examples:
- value: Selectielijst Gemeenten 2020, categorie 4.2.3
description: Dutch municipal retention schedule reference
retention_period_year:
slot_uri: dcterms:valid
range: integer
required: false
description: 'Retention period in years before transfer to archives.
**Dublin Core**: dcterms:valid for validity period.
**Common periods**:
- 7 years (financial records, tax)
- 10 years (contracts, legal)
- 20 years (personnel files)
- Permanent (policy, governance)
- "Until case closed + 5 years"
**Note**: May be null for permanent retention.
'
examples:
- value: 7
description: 7-year retention for financial records
- value: 20
description: 20-year retention for personnel files
expected_transfer_date:
slot_uri: dcterms:available
range: date
required: false
description: 'Expected date when oldest records will transfer to CustodianArchive.
**Dublin Core**: dcterms:available for availability date.
Calculated from retention_period_years + oldest records.
Useful for archives capacity planning.
'
examples:
- value: '2027-01-01'
description: Oldest records eligible for transfer in 2027
data_sensitivity:
slot_uri: dcterms:accessRights
range: string
required: false
description: 'Data sensitivity classification.
**Dublin Core**: dcterms:accessRights for access classification.
**Classifications**:
- PUBLIC: No restrictions
- INTERNAL: Staff only
- CONFIDENTIAL: Need-to-know basis
- STRICTLY_CONFIDENTIAL: Named individuals only
- PERSONAL_DATA: Contains personal information
- SPECIAL_CATEGORY: Sensitive personal data (health, religion, etc.)
'
examples:
- value: CONFIDENTIAL - Personnel data
description: HR files classification
gdpr_relevant:
slot_uri: dcterms:conformsTo
range: boolean
required: false
description: 'Does this system contain GDPR-relevant personal data?
**Dublin Core**: dcterms:conformsTo for compliance.
If true:
- Subject access requests may apply
- Right to erasure may apply
- Data protection impact assessment may be needed
- Special handling required for archives transfer
'
examples:
- value: true
description: Contains employee personal data
business_criticality:
slot_uri: schema:importance
range: string
required: false
description: 'Business criticality level for continuity planning.
**Schema.org**: schema:importance for priority.
**Levels**:
- CRITICAL: Institution cannot function without (hours)
- HIGH: Significant impact if unavailable (days)
- MEDIUM: Important but workarounds exist (weeks)
- LOW: Minimal operational impact
Drives backup and disaster recovery priorities.
'
examples:
- value: CRITICAL
description: Financial system - required for operations
- value: MEDIUM
description: Historical project files - reference only
backup_status:
slot_uri: dcterms:isReferencedBy
range: string
required: false
description: 'Current backup/disaster recovery status.
**Dublin Core**: dcterms:isReferencedBy for reference.
**Values**:
- "Daily automated backup to off-site"
- "Weekly full, daily incremental"
- "Replicated to secondary data center"
- "Cloud backup (Azure/AWS)"
- "NOT BACKED UP" (flag for attention!)
- "Paper only - no digital backup"
'
examples:
- value: Daily backup to Azure, 30-day retention
description: Cloud backup configuration
has_or_had_access_control:
slot_uri: dcterms:accessRights
range: string
required: false
description: 'Access control mechanism for this system.
**Dublin Core**: dcterms:accessRights for access.
**Examples**:
- "Active Directory group: RM-Directors"
- "Role-based: Finance department staff"
- "Individual permissions per folder"
- "System login required"
- "Physical access to filing room"
'
examples:
- value: 'AD Group: HR-Staff; MFA required'
description: Active Directory with multi-factor auth
refers_to_custodian:
slot_uri: crm:P46i_forms_part_of
range: Custodian
required: true
description: 'Links this administrative record to the Custodian hub.
**CIDOC-CRM**: P46i_forms_part_of for part-whole.
'
was_derived_from:
slot_uri: prov:wasDerivedFrom
range: CustodianObservation
multivalued: true
required: false
description: 'Observation(s) from which this record was derived.
**PROV-O**: prov:wasDerivedFrom for provenance.
'
was_generated_by:
slot_uri: prov:wasGeneratedBy
range: ReconstructionActivity
required: false
description: 'Reconstruction activity that generated this record.
**PROV-O**: prov:wasGeneratedBy for generation.
'
valid_from:
slot_uri: time:hasBeginning
range: date
required: false
description: 'Start of validity period.
'
valid_to:
slot_uri: time:hasEnd
range: date
required: false
description: 'End of validity period (if system decommissioned).
'
specificity_annotation:
range: SpecificityAnnotation
inlined: true

View file

@ -155,564 +155,143 @@ classes:
id:
identifier: true
required: true
description: 'Unique identifier for this operational archive record (URI).
Format: https://nde.nl/ontology/hc/archive/{custodian-id}/{accession-number}
'
has_archive_name:
slot_uri: rico:name
range: string
required: true
description: 'Name/title for this operational archive accession.
Often derived from creating agency + date range.
**Examples**:
- "Rijksmuseum Director''s Correspondence 2010-2020"
- "Acquisition Documentation 2015-2019"
- "Conservation Lab Reports 2000-2010"
- "Ministry of Finance Records 1990-2005"
'
has_archive_description:
slot_uri: rico:scopeAndContent
range: string
required: false
description: 'Brief description of contents, scope, and context.
**RiC-O**: rico:scopeAndContent for archival description.
At accession stage, description is typically minimal:
- General content summary
- Creating office/department
- Date range
- Volume/extent estimate
Detailed description created during IN_DESCRIPTION phase.
'
has_accession_number:
slot_uri: rico:identifier
range: string
required: true
description: 'Unique accession identifier assigned when records transferred
from CustodianAdministration to CustodianArchive.
**RiC-O**: rico:identifier for archival identifiers.
**Format varies by institution**:
- Sequential: "2024-001", "2024-002"
- Date-based: "20240115-A"
- Hybrid: "RM-2024-0042"
'
examples:
- value: 2024-0001
description: Sequential accession number
- value: NA-2024-GOV-0156
description: National Archives government transfer
has_accession_date:
slot_uri: rico:hasAccumulationDate
range: date
required: true
description: 'Date when records were accessioned (transferred from
CustodianAdministration to CustodianArchive).
**RiC-O**: rico:hasAccumulationDate for when archive received records.
**Note**: This is when the ARCHIVE received the records,
NOT when the records were created (see accumulation_date_start/end).
'
examples:
- value: '2024-01-15'
description: Records accessioned January 2024
has_accumulation_start_date:
slot_uri: rico:hasBeginningDate
range: date
required: false
description: 'Earliest date of records in this accession (when records were CREATED).
**RiC-O**: rico:hasBeginningDate for temporal coverage.
**Example**: Correspondence files covering 2010-2020:
- has_accumulation_start_date: 2010-01-01
- has_accumulation_end_date: 2020-12-31
- accession_date: 2024-01-15 (when transferred to archive)
'
has_accumulation_end_date:
slot_uri: rico:hasEndDate
range: date
required: false
description: 'Latest date of records in this accession (when records were CREATED).
**RiC-O**: rico:hasEndDate for temporal coverage.
'
creating_agency:
slot_uri: rico:hasCreator
range: string
required: false
description: 'Office, department, or unit that created these records.
**RiC-O**: rico:hasCreator for provenance.
For institutional archives, this is typically an internal unit:
- "Director''s Office"
- "Conservation Department"
- "Acquisition Committee"
- "Human Resources"
May link to OrganizationalStructure if modeled.
'
examples:
- value: Director's Office
description: Executive correspondence
- value: Conservation Department
description: Treatment reports and documentation
processing_status:
slot_uri: rico:Activity
range: ArchiveProcessingStatusEnum
required: true
description: "Current processing status of this operational archive.\n\n**See**: ArchiveProcessingStatusEnum for full\
\ status lifecycle.\n\n**Common progression**:\nUNPROCESSED → IN_APPRAISAL → IN_ARRANGEMENT → IN_DESCRIPTION \n\
→ PROCESSED_PENDING_TRANSFER → TRANSFERRED_TO_COLLECTION\n"
examples:
- value: UNPROCESSED
description: In backlog awaiting processing
- value: IN_DESCRIPTION
description: Finding aid being created
processing_priority:
slot_uri: dcterms:priority
range: string
required: false
description: 'Priority level for processing this accession.
**Values**:
- HIGH: Legal/regulatory requirement, researcher demand, condition issues
- MEDIUM: Standard processing queue
- LOW: No immediate need, can wait indefinitely
- URGENT: Immediate processing required (legal hold, condition emergency)
Priority may change based on:
- Researcher requests
- Anniversary/commemorative events
- Grant funding for specific processing
- Condition concerns (mold, pests, deterioration)
'
examples:
- value: HIGH
description: Researcher demand for these records
- value: LOW
description: No immediate need, stable condition
estimated_extent:
slot_uri: rico:hasExtent
range: string
required: false
description: 'Estimated physical or digital extent of accession.
**RiC-O**: rico:hasExtent for quantity.
**Physical examples**:
- "45 linear meters"
- "120 boxes (standard archive boxes)"
- "15 filing cabinets"
**Digital examples**:
- "2.5 TB"
- "150,000 files"
- "45,000 emails"
'
examples:
- value: 25 linear meters
description: Physical extent
- value: 500 GB, ~50,000 files
description: Digital extent
storage_location:
slot_uri: rico:hasOrHadPhysicalLocation
range: Storage
multivalued: true
required: false
description: 'Physical storage location(s) for this unprocessed archive.
**RiC-O**: rico:hasOrHadPhysicalLocation for storage.
Links to Storage class for:
- Building/facility
- Room/area
- Shelf/range
- Environmental conditions
May have multiple locations if spread across facilities.
'
has_or_had_tracked_in_cm:
slot_uri: crm:P70i_is_documented_in
range: CollectionManagementSystem
multivalued: true
required: false
description: 'Collection Management System(s) tracking this accession.
**CIDOC-CRM**: P70i_is_documented_in for CMS tracking.
Even unprocessed archives are typically tracked in CMS:
- Accession-level record
- Location tracking
- Processing queue management
- Basic provenance metadata
**Note**: This is for TRACKING, not full description.
Full description created when status = IN_DESCRIPTION.
'
has_or_had_assigned_processor:
slot_uri: rico:hasOrHadManager
range: string
required: false
description: 'Archivist or staff member assigned to process this accession.
**RiC-O**: rico:hasOrHadManager for responsible agent.
May be null if:
- Status = UNPROCESSED (in queue, not yet assigned)
- Status = ON_HOLD
May link to PersonObservation if staff modeled.
'
examples:
- value: Dr. Maria van den Berg
description: Senior archivist assigned
processing_started_date:
slot_uri: prov:startedAtTime
range: date
required: false
description: 'Date when archival processing began.
**PROV-O**: prov:startedAtTime for activity start.
Null if status = UNPROCESSED or ON_HOLD.
Set when status changes to IN_APPRAISAL or later.
'
examples:
- value: '2024-03-01'
description: Processing started March 2024
processing_completed_date:
slot_uri: prov:endedAtTime
range: date
required: false
description: 'Date when archival processing completed.
**PROV-O**: prov:endedAtTime for activity completion.
Set when status changes to PROCESSED_PENDING_TRANSFER.
**Metrics**: (processing_completed_date - accession_date) = processing lag
This metric is often measured in YEARS or DECADES.
'
examples:
- value: '2024-09-15'
description: Processing completed September 2024
transfer_to_collection_date:
slot_uri: rico:hasOrHadEndDate
range: date
required: false
description: 'Date when archive was transferred to CustodianCollection.
**RiC-O**: rico:hasOrHadEndDate for lifecycle end.
Set when status = TRANSFERRED_TO_COLLECTION.
After this date, primary record is CustodianCollection.
CustodianArchive retained for provenance documentation.
'
examples:
- value: '2024-10-01'
description: Transferred to collection October 2024
successor_collection:
slot_uri: prov:hadDerivation
range: uriorcurie
required: false
description: 'Link to CustodianCollection record created after archival processing.
**PROV-O**: prov:hadDerivation for derivation relationship.
This is the INVERSE of prov:wasDerivedFrom - the CustodianCollection
was DERIVED FROM this CustodianArchive through archival processing
(appraisal, arrangement, description).
**Why NOT rico:hasSuccessor?**
rico:hasSuccessor has domain/range of rico:Agent - it''s for ORGANIZATIONAL
succession (institution A succeeded by institution B). For RECORD succession
we use PROV-O derivation semantics.
**Relationship direction**:
- CustodianArchive --prov:hadDerivation--> CustodianCollection
- CustodianCollection --prov:wasDerivedFrom--> CustodianArchive
Populated when status = TRANSFERRED_TO_COLLECTION.
Provides audit trail from unprocessed → processed.
'
examples:
- value: https://nde.nl/ontology/hc/collection/rm-director-correspondence-2010-2020
description: Collection derived from this archive after processing
has_or_had_access_restriction:
slot_uri: rico:hasOrHadAllMembersWithContentType
range: string
required: false
description: 'Access restrictions on this unprocessed archive.
**Common restrictions**:
- "Closed - Personal data (GDPR)"
- "Closed - Donor agreement (until 2040)"
- "Restricted - Staff access only"
- "Open - May be consulted upon request"
**Note**: Unprocessed archives often have blanket restrictions
until proper review during IN_APPRAISAL phase.
'
examples:
- value: Closed - Contains personnel files with personal data
description: Privacy restriction
has_appraisal_note:
slot_uri: rico:history
range: string
required: false
description: 'Notes from appraisal process (retention decisions, destruction).
**RiC-O**: rico:history for processing history.
Documents:
- What was retained and why
- What was destroyed and why
- Retention schedule applied
- Appraisal methodology used
'
examples:
- value: Retained all policy files; destroyed duplicate copies and routine correspondence per retention schedule RS-2020-05
description: Appraisal decisions documented
has_arrangement_note:
slot_uri: rico:history
range: string
required: false
description: 'Notes from has_arrangement process (structure, order).
**RiC-O**: rico:history for processing history.
Documents:
- Original order maintained or reconstructed
- Series structure created
- Physical rehousing performed
- Preservation concerns noted
'
examples:
- value: Maintained original order by correspondent. Created 5 series by function. Rehoused into acid-free folders
and boxes.
description: Arrangement decisions documented
managing_unit:
slot_uri: org:unitOf
range: OrganizationalStructure
required: false
description: 'Organizational unit responsible for processing this archive.
**W3C Org**: org:unitOf for unit relationship.
Typically the archives/records management department.
May differ from creating_agency (which created the records).
'
refers_to_custodian:
slot_uri: crm:P46i_forms_part_of
range: Custodian
required: true
description: 'Links this archive record to the Custodian hub.
**CIDOC-CRM**: P46i_forms_part_of for part-whole.
The custodian that OWNS these operational archives
(which is the same institution whose operations created them).
'
was_derived_from:
slot_uri: prov:wasDerivedFrom
range: CustodianObservation
multivalued: true
required: false
description: 'Observation(s) from which this archive record was derived.
**PROV-O**: prov:wasDerivedFrom for provenance.
'
was_generated_by:
slot_uri: prov:wasGeneratedBy
range: ReconstructionActivity
required: false
description: 'Reconstruction activity that generated this record.
**PROV-O**: prov:wasGeneratedBy for generation.
'
valid_from:
slot_uri: time:hasBeginning
range: date
required: false
description: 'Start of validity period (typically = accession_date).
'
valid_to:
slot_uri: time:hasEnd
range: date
required: false
description: 'End of validity period (typically = transfer_to_collection_date).
'
lifecycle_phase_type:
slot_uri: skos:broaderTransitive
range: uriorcurie
required: false
description: "Links this CustodianArchive INSTANCE to its lifecycle phase TYPE.\n\n**SKOS**: skos:broaderTransitive\
\ for instance-to-type relationship.\n\n**Archive Lifecycle Types (Wikidata)**:\n- Q3621648 (CurrentArchive) - Active\
\ records phase\n- Q244904 (DepositArchive) - Intermediate/semi-current phase\n- Q3621673 (HistoricalArchive) -\
\ Archival/permanent phase\n\n**Usage**:\nClassify this operational archive by its position in the records lifecycle.\n\
Most CustodianArchive records are in the intermediate phase (awaiting processing).\n\n**Example**:\n- CustodianArchive\
\ \"Ministry Records 2010-2020\" → lifecycle_phase_type → \n DepositArchive (Q244904) - semi-current, awaiting\
\ processing\n"
examples:
- value: wikidata:Q244904
description: Deposit archive / semi-current records

View file

@ -102,362 +102,82 @@ classes:
- was_generated_by
slot_usage:
collection_name:
slot_uri: dcterms:title
range: string
required: true
pattern: ^.{1,500}$
description: 'Name of the collection (may differ from custodian name).
Required field, 1-500 characters.
Examples:
- "Rijksmuseum Collection"
- "Notarial Archives of Amsterdam"
- "Wallace Collection"
- "Vatican Apostolic Library Holdings"
'
managing_unit:
slot_uri: org:unitOf
range: OrganizationalStructure
required: false
description: "Organizational unit (department, division, section) responsible for managing this collection.\n\n**Bidirectional\
\ Relationship**:\n- **Forward**: CustodianCollection → OrganizationalStructure (managing_unit)\n- **Reverse**:\
\ OrganizationalStructure → CustodianCollection (managed_collections)\n\n**Validation**: If provided, temporal consistency\
\ is validated:\n- Collection.valid_from >= OrganizationalStructure.valid_from\n- Collection.valid_to <= OrganizationalStructure.valid_to\
\ (if unit dissolved)\n\n**Use Cases**:\n1. **Collection Management**: \"Which department manages the Medieval Manuscripts\
\ collection?\"\n2. **Staffing Cross-Reference**: \"Who are the curators managing this collection?\"\n - Follow:\
\ managing_unit → OrganizationalStructure → staff_members → PersonObservation\n3. **Organizational Change Impact**:\
\ Track collection custody through mergers, splits, reorganizations\n\n**Notes**:\n- If managing_unit is null, collection\
\ may be managed at institutional level\n- Collections may split across multiple units → create separate CustodianCollection\
\ instances\n- Custody transfers tracked via managing_unit changes + temporal validity\n"
valid_from:
slot_uri: time:hasBeginning
range: date
required: false
description: 'Date when collection custody began under current managing unit.
Start date of collection''s existence or custodian''s stewardship
(e.g., founding collection date, acquisition date).
Validation Rule 1 (Collection-Unit Temporal Consistency):
- Must be >= managing_unit.valid_from (if managing_unit is set)
- Validated by SHACL shapes and custom Python validators
'
valid_to:
slot_uri: time:hasEnd
range: date
required: false
description: 'Date when collection custody ended (if applicable).
End date of collection''s existence or custodian''s stewardship
(e.g., deaccessioned, transferred to another custodian, destroyed).
Validation Rule 1 (Collection-Unit Temporal Consistency):
- Must be <= managing_unit.valid_to (if managing_unit is dissolved)
- Validated by SHACL shapes and custom Python validators
'
id:
identifier: true
required: true
description: 'Unique identifier for this collection aspect (URI).
Format: https://nde.nl/ontology/hc/collection/{custodian-id}
'
refers_to_custodian:
slot_uri: crm:P46i_forms_part_of
range: Custodian
required: true
description: 'Links this collection aspect back to the Custodian hub it represents.
CIDOC-CRM: P46i_forms_part_of (inverse of P46_is_composed_of).
This property enables navigation from aspect → hub:
- From collection aspect: refers_to_custodian → Custodian hub
- From hub: has_collection → CustodianCollection
'
collection_description:
slot_uri: dcterms:description
range: string
required: false
description: 'Narrative description of the collection''s contents, scope, and significance.
'
collection_type:
slot_uri: dcterms:type
range: string
multivalued: true
description: 'Type(s) of heritage materials in collection.
Multiple types may apply (e.g., archives + library).
Examples:
- "archival_records" (rico:RecordSet)
- "museum_objects" (crm:E78_Curated_Holding)
- "library_holdings" (bf:Collection)
- "monuments" (crm:E27_Site)
- "archaeological_materials"
- "natural_history_specimens"
- "digital_born" (born-digital collections)
- "photographs"
- "manuscripts"
'
collection_scope:
slot_uri: dcterms:coverage
range: string
required: false
description: 'Subject scope or thematic focus of collection.
Examples:
- "17th-century Dutch painting"
- "Municipal government records, 1578-present"
- "Medieval manuscripts"
- "East Asian art"
'
temporal_coverage:
slot_uri: dcterms:temporal
range: TimeSpan
required: false
description: 'Time period covered by collection materials (NOT when collected).
Examples:
- Collection of 18th-century documents: temporal_coverage = 1700-1799
- Medieval manuscript collection: temporal_coverage = 800-1500
'
extent:
slot_uri: dcterms:extent
range: string
required: false
description: 'Size/quantity of collection.
Examples:
- "1,200 linear meters"
- "45,000 objects"
- "2.3 million books"
- "150 manuscript volumes"
'
has_or_had_access_right:
slot_uri: dcterms:accessRights
range: string
required: false
description: 'Access conditions and restrictions for the collection.
Examples:
- "Open access"
- "By appointment only"
- "Restricted - researchers with credentials"
- "Closed until 2050"
'
digital_surrogate:
slot_uri: premis:hasRepresentation
range: string
multivalued: true
required: false
description: 'Digital representations/surrogates of collection materials.
PREMIS: hasRepresentation links intellectual entities to digital representations.
A premis:Representation is a digital object that instantiates or renders an
IntellectualEntity (the conceptual work).
Values can be:
- URIs to digital object repositories
- IIIF manifest URLs
- Persistent identifiers (DOIs, handles)
Examples:
- "https://iiif.rijksmuseum.nl/manifest/SK-A-1505"
- "https://doi.org/10.5281/zenodo.1234567"
- "https://archive.org/details/manuscript-collection-x"
'
digitization_status:
slot_uri: premis:hasRelatedStatementInformation
range: string
required: false
description: 'Current status of collection digitization efforts.
PREMIS: hasRelatedStatementInformation for preservation metadata statements.
Values:
- NOT_DIGITIZED: No digital surrogates exist
- PARTIAL: Some materials digitized (use extent to indicate percentage)
- COMPLETE: Entire collection digitized
- ONGOING: Active digitization project
Use with digital_surrogates slot to indicate availability of surrogates.
'
examples:
- value: PARTIAL
description: 30% of collection digitized as of 2024
- value: COMPLETE
description: Full collection digitized 2019-2021
preservation_level:
slot_uri: premis:policy
range: string
required: false
description: 'Level of digital preservation commitment for this collection.
PREMIS: policy for preservation commitment levels.
Aligns with premis:PreservationPolicy vocabulary.
Values:
- FULL: Long-term preservation with format migration commitment
- BIT_LEVEL: Bit preservation only (no format migration)
- ACCESS_ONLY: Access copies maintained, no preservation guarantee
- NONE: No formal digital preservation policy
Applies to digital_surrogates and born-digital materials in collection.
For specific file-level preservation actions, see DigitalPlatform
preservation slots (fixity_check_date, storage_location).
'
examples:
- value: FULL
description: Long-term preservation with format migration
- value: BIT_LEVEL
description: Bit-level preservation in institutional repository
has_or_had_managed_by_cm:
slot_uri: crm:P70i_is_documented_in
range: CollectionManagementSystem
multivalued: true
required: false
description: "Collection Management System(s) used to manage this collection.\n\nCIDOC-CRM: P70i_is_documented_in\
\ (inverse of P70_documents).\nThe CMS documents/manages the collection records.\n\n**Bidirectional Relationship**:\n\
- Forward: CustodianCollection → CollectionManagementSystem (managed_by_cms)\n- Reverse: CollectionManagementSystem\
\ → CustodianCollection (manages_collection)\n\n**Use Cases**:\n1. \"What CMS manages this collection?\" → Follow\
\ managed_by_cms\n2. \"What collections are in this CMS?\" → Follow manages_collection\n3. Migration planning: Identify\
\ all collections requiring CMS migration\n\n**Notes**:\n- Multivalued: A collection may be managed by multiple\
\ CMS\n (e.g., legacy system + new system during migration)\n- If null, collection may be managed manually or CMS\
\ is unknown\n"
examples:
- value: https://nde.nl/ontology/hc/cms/rijksmuseum-adlib
description: Collection managed by Rijksmuseum Adlib CMS
has_or_had_arrangement_system:
slot_uri: rico:hasRecordSetType
range: string
required: false
description: 'Intellectual has_arrangement or classification system.
Examples:
- "Archival fonds organized by provenance" (RiC-O)
- "Dewey Decimal Classification" (libraries)
- "Thematic galleries" (museums)
- "Chronological arrangement"
'
provenance_note:
slot_uri: crm:P24_transferred_title_of
range: string
required: false
description: 'Notes on collection provenance, acquisition history, custody transfers.
Documents metonymic relationship: how collection identifies custodian.
'
was_generated_by:
slot_uri: prov:wasGeneratedBy
range: ReconstructionActivity
required: false
description: 'Links to the ReconstructionActivity that generated this collection aspect.
If present, indicates formal entity resolution process was used.
If absent, indicates direct extraction without reconstruction.
'
was_derived_from:
slot_uri: prov:wasDerivedFrom
range: CustodianObservation
multivalued: true
required: true
description: 'Links to the observation(s) from which this collection aspect was derived.
Multiple observations may contribute evidence for a single collection aspect.
'
has_or_had_custodian_type:
equals_expression: '["*"]'
specificity_annotation:

View file

@ -134,58 +134,22 @@ classes:
- was_revision_of
slot_usage:
refers_to_custodian:
slot_uri: dcterms:references
description: 'The Custodian hub that this reconstruction represents.
There may be multiple reconstructions of the same custodian from
different perspectives or methodologies, all referring to the same hub.
'
required: true
examples:
- value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
description: References the Rijksmuseum custodian hub
legal_entity_type:
slot_uri: org:classification
description: 'High-level legal entity classification (PERSON or ORGANIZATION).
Links to LegalEntityType class distinguishing natural persons from legal persons.
- PERSON: Natural person (individual with legal rights)
- ORGANIZATION: Legal person (all organizational forms including corporations, governments)
'
range: LegalEntityType
required: true
examples:
- value: ORGANIZATION
description: Formal organizational entity (foundation, corporation, government body)
reconstruction_method:
slot_uri: prov:hadPlan
description: 'Documentation of how this reconstruction was created from observations.
May include data sources, algorithms, editorial decisions, confidence levels.
'
range: string
examples:
- value: Synthesized from official website, historical records, and academic references
description: Reconstruction methodology documentation
legal_name:
slot_uri: rov:legalName
description: 'Official legal name as registered (REQUIRED).
Links to LegalName class with structured name variants (TOOI pattern).
ROV: legalName for formally registered organizational names.
Distinct from CustodianName (operational emic name).
'
range: LegalName
required: true
examples:
@ -195,22 +159,6 @@ classes:
display_name: Rijksmuseum
description: Legal name structure (vs. 'Rijksmuseum' emic name)
legal_form:
slot_uri: rov:orgType
description: 'Specific legal form based on ISO 20275 Entity Legal Forms (ELF) codes.
Links to LegalForm class with jurisdiction-specific legal form details.
ROV: orgType for legal form classification.
W3C Org: classification links to gleif_elf:EntityLegalForm SKOS Concept.
Required for ORGANIZATION entities, not applicable for PERSON.
Values MUST be valid ELF codes from /data/ontology/2023-09-28-elf-code-list-v1.5.csv.
'
range: LegalForm
required: false
examples:
@ -227,17 +175,6 @@ classes:
- https://www.gleif.org/en/about-lei/code-lists/iso-20275-entity-legal-forms-code-list
- /data/ontology/gleif_legal_form.ttl
has_or_had_registration_number:
slot_uri: rov:registration
description: 'Official registration numbers (Chamber of Commerce, charity numbers, etc.).
Links to RegistrationNumber class with temporal validity.
Can have multiple registrations in different systems.
ROV: registration for formal registration identifiers.
'
range: RegistrationNumber
multivalued: true
examples:
@ -249,17 +186,8 @@ classes:
description: Dutch Chamber of Commerce registration
registration_date:
deprecated: true
description: 'DEPRECATED: Use registration_numbers[].temporal_validity instead.
Temporal validity is now captured in RegistrationNumber class.
'
range: date
registration_authority:
slot_uri: gleif_base:isManagedBy
description: "Primary registration authority for this entity.\nLinks to RegistrationAuthority class.\n\ngleif_base:RegistrationAuthority\
\ - \"An organization that is responsible for \nmaintaining a registry and provides registration services.\"\n\n\
Examples: Chamber of Commerce, Companies House, Charity Commission.\n"
range: RegistrationAuthority
examples:
- value:
@ -269,11 +197,6 @@ classes:
gleif_ra_code: RA000439
description: Dutch Chamber of Commerce
primary_register:
slot_uri: gleif_base:isRegisteredIn
description: "Primary trade register where this entity is registered.\nLinks to TradeRegister class.\n\ngleif_base:isRegisteredIn\
\ - \"indicates the registry that something is registered in\"\ngleif_ra:BusinessRegistry - \"a registry for registering\
\ and maintaining \ninformation about business entities\"\n\nExamples: Netherlands Handelsregister, UK Companies\
\ Register, German HRB.\n"
range: TradeRegister
examples:
- value:
@ -283,10 +206,6 @@ classes:
gleif_ra_code: RA000439
description: Netherlands commercial register
legal_jurisdiction:
slot_uri: gleif_base:hasLegalJurisdiction
description: "Jurisdiction of legal formation and registration.\nLinks to Jurisdiction class.\n\ngleif_base:hasLegalJurisdiction\
\ - \"The jurisdiction of legal formation \nand registration of the entity\"\n\nFor most entities, this is the country.\
\ For federal systems (USA, Germany),\nthis may be a state/region.\n"
range: Jurisdiction
examples:
- value:
@ -297,32 +216,8 @@ classes:
alpha_3: NLD
description: Netherlands national jurisdiction
dissolution_date:
slot_uri: schema:dissolutionDate
description: 'Date of legal dissolution (if dissolved).
Schema.org: dissolutionDate for organization termination.
'
range: date
temporal_extent:
slot_uri: crm:P4_has_time-span
description: 'Temporal extent of custodian''s existence with fuzzy boundaries.
CIDOC-CRM: P4_has_time-span links E39_Actor to E52_Time-Span.
Use this when founding/dissolution dates are uncertain:
- Unknown founding year: "sometime between 1800-1805"
- Approximate closure: "closed around 1950"
- Ongoing: Leave end_of_the_end null
When dates are precise, use registration_date/dissolution_date instead.
'
range: TimeSpan
examples:
- value:
@ -332,25 +227,8 @@ classes:
end_of_the_end: '1955-12-31'
description: Museum founded sometime between 1800-1805, closed between 1950-1955
parent_custodian:
slot_uri: org:subOrganizationOf
description: 'Parent entity in organizational hierarchy.
W3C Org: subOrganizationOf for hierarchical relationships.
'
range: CustodianLegalStatus
legal_status:
slot_uri: schema:status
description: 'Current legal status (active, dissolved, merged, etc.).
Links to LegalStatus class with temporal validity.
Status definitions vary by jurisdiction and legal framework.
Schema.org: status for organization legal status.
'
range: LegalStatus
required: true
examples:
@ -359,17 +237,6 @@ classes:
status_name: Active
description: Currently operating entity
governance_structure:
slot_uri: org:hasUnit
description: 'Internal governance and organizational structure.
Links to GovernanceStructure class.
Models organizational units, governance bodies, and reporting relationships.
W3C Org: hasUnit for organizational structure.
'
range: GovernanceStructure
examples:
- value:
@ -377,69 +244,6 @@ classes:
description: Board of trustees with director-led departments
description: Museum governance structure
has_articles_of_association:
slot_uri: rico:isDocumentedBy
description: 'Articles of association (statuten, akte van oprichting) that establish
and govern this legal entity.
**RiC-O**: rico:isDocumentedBy - inverse of rico:documents.
**Relationship Pattern**:
- CustodianLegalStatus --rico:isDocumentedBy--> ArticlesOfAssociation
- ArticlesOfAssociation --rico:documents--> CustodianLegalStatus
**IMPORTANT - Temporal Considerations**:
For organizations requiring articles at registration (Dutch stichting, BV, etc.),
the articles EXIST BEFORE the organization legally exists. The articles
in PRE_EXISTENCE stage cannot be linked from CustodianAdministration
because no Administration exists at that point.
**Multiple Versions**:
An organization may have multiple versions of articles over time:
- Original founding articles (version 1)
- Amended articles (versions 2, 3, ...)
- Current version (is_current_version = true)
Only ONE version should have is_current_version = true.
All versions are accessible via this slot.
**Version Filtering**:
To get current articles only:
- Filter where is_current_version = true
To get founding articles:
- Filter where version_number = 1
To get heritage articles:
- Filter where current_archival_stage = HERITAGE
'
range: ArticlesOfAssociation
multivalued: true
required: false
@ -457,67 +261,18 @@ classes:
current_archival_stage: ACTIVE
description: Rijksmuseum has 15 versions of articles, original in heritage collection
was_derived_from:
slot_uri: prov:wasDerivedFrom
description: 'CustodianObservation(s) this entity is derived from (REQUIRED).
PROV-O: wasDerivedFrom establishes observation→entity derivation.
'
range: CustodianObservation
multivalued: true
required: true
was_generated_by:
slot_uri: prov:wasGeneratedBy
description: 'Activity that created this reconstruction (REQUIRED).
PROV-O: wasGeneratedBy links Entity to generating Activity.
'
range: ReconstructionActivity
required: true
was_revision_of:
slot_uri: prov:wasRevisionOf
description: 'Previous version of this legal status (if updated).
PROV-O: wasRevisionOf for entity versioning.
'
range: CustodianLegalStatus
identifier:
slot_uri: crm:P48_has_preferred_identifier
description: 'External identifiers assigned to this custodian by authorities.
CIDOC-CRM: P48_has_preferred_identifier links E1_CRM_Entity to E42_Identifier.
Examples: ISIL codes, Wikidata IDs, VIAF IDs, KvK numbers.
'
range: CustodianIdentifier
multivalued: true
service_area:
slot_uri: schema:areaServed
description: 'Geographic area(s) served by this heritage custodian ("werkgebied").
Schema.org: areaServed - "The geographic area where a service or offered item is provided"
**Use Cases**:
- Archives: Municipalities whose records they manage
- Libraries: Lending/service districts
- Museums: Geographic scope of collection mandate
**Multiple Service Areas**:
A custodian may have current and historical service areas.
Use ServiceArea.is_historical_boundary to distinguish.
'
range: ServiceArea
multivalued: true
inlined_as_list: true

View file

@ -44,77 +44,55 @@ classes:
CustodianName:
is_a: ReconstructedEntity
class_uri: skos:Concept
description: "Standardized emic (insider) name DERIVED FROM CustodianObservation(s).\n\
\nCRITICAL: CustodianName is NOT a subclass of CustodianObservation!\n- CustodianObservation\
\ = Evidence seen in sources (input)\n- CustodianName = Standardized interpretation\
\ (output)\n- Relationship: CustodianName prov:wasDerivedFrom CustodianObservation\n\
\nCustodianName represents the CANONICAL LABEL - the standardized form\naccepted\
\ by the custodian itself for public identification.\n\nIMPORTANT: CustodianName\
\ ≠ Legal Name\n- CustodianName = How custodian presents itself (emic, operational)\n\
- Legal Name = Formal registered name (in CustodianLegalStatus)\n- Example:\
\ \"Rijksmuseum\" (emic) vs \"Stichting Rijksmuseum\" (legal)\n\n===========================================================================\n\
MANDATORY RULE: Legal Form Terms MUST Be Filtered\n===========================================================================\n\
\nLegal form designations (Stichting, Foundation, Inc., Ltd., GmbH, etc.)\n\
MUST ALWAYS be removed from CustodianName, even when the custodian\nself-identifies\
\ with them. This is the ONE EXCEPTION to the emic principle.\n\nRATIONALE:\n\
1. Legal form is METADATA about the entity, not part of its identity\n2. Legal\
\ forms change (foundation→corporation) but identity persists\n3. Enables consistent\
\ cross-jurisdictional comparison\n4. Prevents duplicate entries (\"X Foundation\"\
\ vs \"X\")\n5. Aligns with ISO 20275 (Legal Entity Identifier) principles\n\
\nEXAMPLES:\n- \"Stichting Rijksmuseum\" → CustodianName: \"Rijksmuseum\"\n\
- \"Hidde Nijland Stichting\" → CustodianName: \"Hidde Nijland\"\n- \"The Getty\
\ Foundation\" → CustodianName: \"The Getty\"\n- \"British Museum Trust Ltd\"\
\ → CustodianName: \"British Museum\"\n- \"Fundação Biblioteca Nacional\" →\
\ CustodianName: \"Biblioteca Nacional\"\n\nLEGAL FORM TERMS TO FILTER (partial\
\ list by jurisdiction):\n- Dutch: Stichting, Vereniging, Coöperatie, B.V.,\
\ N.V., V.O.F.\n- English: Foundation, Trust, Inc., Ltd., LLC, Corp., Association\n\
- German: Stiftung, Verein, e.V., GmbH, AG\n- French: Fondation, Association,\
\ S.A., S.A.R.L.\n- Spanish: Fundación, Asociación, S.A., S.L.\n- Portuguese:\
\ Fundação, Associação, Ltda., S.A.\n- Italian: Fondazione, Associazione, S.p.A.,\
\ S.r.l.\n\nSee: rules/LEGAL_FORM_FILTERING_RULE.md for comprehensive global\
\ list\n\n===========================================================================\n\
description: "Standardized emic (insider) name DERIVED FROM CustodianObservation(s).\n\nCRITICAL: CustodianName is NOT\
\ a subclass of CustodianObservation!\n- CustodianObservation = Evidence seen in sources (input)\n- CustodianName =\
\ Standardized interpretation (output)\n- Relationship: CustodianName prov:wasDerivedFrom CustodianObservation\n\nCustodianName\
\ represents the CANONICAL LABEL - the standardized form\naccepted by the custodian itself for public identification.\n\
\nIMPORTANT: CustodianName ≠ Legal Name\n- CustodianName = How custodian presents itself (emic, operational)\n- Legal\
\ Name = Formal registered name (in CustodianLegalStatus)\n- Example: \"Rijksmuseum\" (emic) vs \"Stichting Rijksmuseum\"\
\ (legal)\n\n===========================================================================\nMANDATORY RULE: Legal Form\
\ Terms MUST Be Filtered\n===========================================================================\n\nLegal form\
\ designations (Stichting, Foundation, Inc., Ltd., GmbH, etc.)\nMUST ALWAYS be removed from CustodianName, even when\
\ the custodian\nself-identifies with them. This is the ONE EXCEPTION to the emic principle.\n\nRATIONALE:\n1. Legal\
\ form is METADATA about the entity, not part of its identity\n2. Legal forms change (foundation→corporation) but identity\
\ persists\n3. Enables consistent cross-jurisdictional comparison\n4. Prevents duplicate entries (\"X Foundation\" vs\
\ \"X\")\n5. Aligns with ISO 20275 (Legal Entity Identifier) principles\n\nEXAMPLES:\n- \"Stichting Rijksmuseum\" →\
\ CustodianName: \"Rijksmuseum\"\n- \"Hidde Nijland Stichting\" → CustodianName: \"Hidde Nijland\"\n- \"The Getty Foundation\"\
\ → CustodianName: \"The Getty\"\n- \"British Museum Trust Ltd\" → CustodianName: \"British Museum\"\n- \"Fundação Biblioteca\
\ Nacional\" → CustodianName: \"Biblioteca Nacional\"\n\nLEGAL FORM TERMS TO FILTER (partial list by jurisdiction):\n\
- Dutch: Stichting, Vereniging, Coöperatie, B.V., N.V., V.O.F.\n- English: Foundation, Trust, Inc., Ltd., LLC, Corp.,\
\ Association\n- German: Stiftung, Verein, e.V., GmbH, AG\n- French: Fondation, Association, S.A., S.A.R.L.\n- Spanish:\
\ Fundación, Asociación, S.A., S.L.\n- Portuguese: Fundação, Associação, Ltda., S.A.\n- Italian: Fondazione, Associazione,\
\ S.p.A., S.r.l.\n\nSee: rules/LEGAL_FORM_FILTERING_RULE.md for comprehensive global list\n\n===========================================================================\n\
MANDATORY RULE: Special Characters MUST Be Excluded from Abbreviations\n===========================================================================\n\
\nWhen generating abbreviations for GHCID, special characters and symbols\n\
MUST be completely removed. Only alphabetic characters (A-Z) are permitted\n\
in the has_or_had_abbreviation component of the GHCID.\n\nRATIONALE:\n1. URL/URI safety\
\ - Special characters require encoding in URIs\n2. Filename safety - Characters\
\ like &, /, \\, : are invalid in filenames\n3. Parsing consistency - Avoids\
\ delimiter conflicts in data pipelines\n4. Cross-system compatibility - Ensures\
\ interoperability with all systems\n5. Human readability - Clean identifiers\
\ are easier to communicate\n\nCHARACTERS TO REMOVE (exhaustive list):\n- Ampersand:\
\ & (e.g., \"Records & Archives\" → \"RA\", not \"R&A\")\n- Slash: / (e.g.,\
\ \"Art/Design Museum\" → \"ADM\", not \"A/DM\")\n- Backslash: \\\n- Plus: +\
\ (e.g., \"Culture+\" → \"C\")\n- At sign: @\n- Hash/Pound: #\n- Percent: %\n\
- Dollar: $\n- Asterisk: *\n- Parentheses: ( )\n- Brackets: [ ] { }\n- Pipe:\
\ |\n- Colon: :\n- Semicolon: ;\n- Quotation marks: \" ' ` \n- Comma: ,\n- Period:\
\ . (unless part of has_or_had_abbreviation like \"U.S.\" → \"US\")\n- Hyphen: - (skip,\
\ do not replace with letter)\n- Underscore: _\n- Equals: =\n- Question mark:\
\ ?\n- Exclamation: !\n- Tilde: ~\n- Caret: ^\n- Less/Greater than: < >\n\n\
EXAMPLES:\n- \"Department of Records & Information Management\" → \"DRIM\" (not\
\ \"DR&IM\")\n- \"Art + Culture Center\" → \"ACC\" (not \"A+CC\")\n- \"Museum/Gallery\
\ Amsterdam\" → \"MGA\" (not \"M/GA\")\n- \"Heritage@Digital\" → \"HD\" (not\
\ \"H@D\")\n- \"Archives (Historical)\" → \"AH\" (not \"A(H)\")\n\nSee: rules/ABBREVIATION_SPECIAL_CHAR_RULE.md\
\ for complete documentation\n\n===========================================================================\n\
\nWhen generating abbreviations for GHCID, special characters and symbols\nMUST be completely removed. Only alphabetic\
\ characters (A-Z) are permitted\nin the has_or_had_abbreviation component of the GHCID.\n\nRATIONALE:\n1. URL/URI safety\
\ - Special characters require encoding in URIs\n2. Filename safety - Characters like &, /, \\, : are invalid in filenames\n\
3. Parsing consistency - Avoids delimiter conflicts in data pipelines\n4. Cross-system compatibility - Ensures interoperability\
\ with all systems\n5. Human readability - Clean identifiers are easier to communicate\n\nCHARACTERS TO REMOVE (exhaustive\
\ list):\n- Ampersand: & (e.g., \"Records & Archives\" → \"RA\", not \"R&A\")\n- Slash: / (e.g., \"Art/Design Museum\"\
\ → \"ADM\", not \"A/DM\")\n- Backslash: \\\n- Plus: + (e.g., \"Culture+\" → \"C\")\n- At sign: @\n- Hash/Pound: #\n\
- Percent: %\n- Dollar: $\n- Asterisk: *\n- Parentheses: ( )\n- Brackets: [ ] { }\n- Pipe: |\n- Colon: :\n- Semicolon:\
\ ;\n- Quotation marks: \" ' ` \n- Comma: ,\n- Period: . (unless part of has_or_had_abbreviation like \"U.S.\" → \"\
US\")\n- Hyphen: - (skip, do not replace with letter)\n- Underscore: _\n- Equals: =\n- Question mark: ?\n- Exclamation:\
\ !\n- Tilde: ~\n- Caret: ^\n- Less/Greater than: < >\n\nEXAMPLES:\n- \"Department of Records & Information Management\"\
\ → \"DRIM\" (not \"DR&IM\")\n- \"Art + Culture Center\" → \"ACC\" (not \"A+CC\")\n- \"Museum/Gallery Amsterdam\" →\
\ \"MGA\" (not \"M/GA\")\n- \"Heritage@Digital\" → \"HD\" (not \"H@D\")\n- \"Archives (Historical)\" → \"AH\" (not \"\
A(H)\")\n\nSee: rules/ABBREVIATION_SPECIAL_CHAR_RULE.md for complete documentation\n\n===========================================================================\n\
MANDATORY RULE: Diacritics MUST Be Normalized to ASCII in Abbreviations\n===========================================================================\n\
\nWhen generating abbreviations for GHCID, diacritics (accented characters)\n\
MUST be normalized to their ASCII base letter equivalents. Only ASCII\nuppercase\
\ letters (A-Z) are permitted in the has_or_had_abbreviation component.\n\nRATIONALE:\n\
1. URI/URL safety - Non-ASCII requires percent-encoding\n2. Cross-system compatibility\
\ - ASCII is universally supported\n3. Parsing consistency - No special character\
\ handling needed\n4. Human readability - Easier to type and communicate\n\n\
DIACRITICS TO NORMALIZE (examples by language):\n- Czech: Č→C, Ř→R, Š→S, Ž→Z,\
\ Ě→E, Ů→U\n- Polish: Ł→L, Ń→N, Ó→O, Ś→S, Ź→Z, Ż→Z, Ą→A, Ę→E\n- German: Ä→A,\
\ Ö→O, Ü→U, ß→SS\n- French: É→E, È→E, Ê→E, Ç→C, Ô→O\n- Spanish: Ñ→N, Á→A, É→E,\
\ Í→I, Ó→O, Ú→U\n- Nordic: Å→A, Ä→A, Ö→O, Ø→O, Æ→AE\n\nEXAMPLES:\n- \"Vlastivědné\
\ muzeum\" (Czech) → \"VM\" (not \"VM\" with háček)\n- \"Österreichische Nationalbibliothek\"\
\ (German) → \"ON\"\n- \"Bibliothèque nationale\" (French) → \"BN\"\n\nREAL-WORLD\
\ EXAMPLE:\n- ❌ WRONG: CZ-VY-TEL-L-VHSPAOČRZS (contains Č)\n- ✅ CORRECT: CZ-VY-TEL-L-VHSPAOCRZS\
\ (ASCII only)\n\nIMPLEMENTATION:\n```python\nimport unicodedata\nnormalized\
\ = unicodedata.normalize('NFD', text)\nascii_text = ''.join(c for c in normalized\
\ if unicodedata.category(c) != 'Mn')\n```\n\nSee: rules/ABBREVIATION_SPECIAL_CHAR_RULE.md\
\ for complete documentation\n\nCan be generated by:\n1. ReconstructionActivity\
\ (formal entity resolution) - was_generated_by link\n2. Direct extraction (simple\
\ standardization) - no was_generated_by link\n"
\nWhen generating abbreviations for GHCID, diacritics (accented characters)\nMUST be normalized to their ASCII base\
\ letter equivalents. Only ASCII\nuppercase letters (A-Z) are permitted in the has_or_had_abbreviation component.\n\n\
RATIONALE:\n1. URI/URL safety - Non-ASCII requires percent-encoding\n2. Cross-system compatibility - ASCII is universally\
\ supported\n3. Parsing consistency - No special character handling needed\n4. Human readability - Easier to type and\
\ communicate\n\nDIACRITICS TO NORMALIZE (examples by language):\n- Czech: Č→C, Ř→R, Š→S, Ž→Z, Ě→E, Ů→U\n- Polish: Ł→L,\
\ Ń→N, Ó→O, Ś→S, Ź→Z, Ż→Z, Ą→A, Ę→E\n- German: Ä→A, Ö→O, Ü→U, ß→SS\n- French: É→E, È→E, Ê→E, Ç→C, Ô→O\n- Spanish: Ñ→N,\
\ Á→A, É→E, Í→I, Ó→O, Ú→U\n- Nordic: Å→A, Ä→A, Ö→O, Ø→O, Æ→AE\n\nEXAMPLES:\n- \"Vlastivědné muzeum\" (Czech) → \"VM\"\
\ (not \"VM\" with háček)\n- \"Österreichische Nationalbibliothek\" (German) → \"ON\"\n- \"Bibliothèque nationale\"\
\ (French) → \"BN\"\n\nREAL-WORLD EXAMPLE:\n- ❌ WRONG: CZ-VY-TEL-L-VHSPAOČRZS (contains Č)\n- ✅ CORRECT: CZ-VY-TEL-L-VHSPAOCRZS\
\ (ASCII only)\n\nIMPLEMENTATION:\n```python\nimport unicodedata\nnormalized = unicodedata.normalize('NFD', text)\n\
ascii_text = ''.join(c for c in normalized if unicodedata.category(c) != 'Mn')\n```\n\nSee: rules/ABBREVIATION_SPECIAL_CHAR_RULE.md\
\ for complete documentation\n\nCan be generated by:\n1. ReconstructionActivity (formal entity resolution) - was_generated_by\
\ link\n2. Direct extraction (simple standardization) - no was_generated_by link\n"
exact_mappings:
- skos:prefLabel
- schema:name
@ -149,73 +127,28 @@ classes:
- was_generated_by
slot_usage:
emic_name:
slot_uri: skos:prefLabel
description: |
The observed name as the custodian refers to itself in source materials,
preserving the custodian's own naming convention. This is descriptive
data, not an identifier - the custodian is identified by its hc_id.
range: string
required: true
name_language:
slot_uri: dcterms:language
description: |
The language or locale code (ISO 639-1 or BCP 47) of the emic name.
Examples: 'nl', 'en', 'pt-BR'
range: string
pattern: ^[a-z]{2}(-[A-Z]{2})?$
standardized_name:
slot_uri: skos:prefLabel
description: The canonical emic name accepted by custodian itself (REQUIRED)
range: string
required: true
has_or_had_alternative_name:
slot_uri: skos:altLabel
description: |
Alternative names and label variants for this custodian name.
SKOS: altLabel for alternative lexical labels.
W3C Org: Recommended for trading names, colloquial names, abbreviations.
Examples:
- "BnF" (abbreviation for "Bibliothèque nationale de France")
- "Rijks" (colloquial for "Rijksmuseum")
- "National Library of France" (English translation)
- Historical spellings and variants
These are NOT the preferred/canonical name but are recognized variants
that people use to refer to the same custodian.
range: CustodianAppellation
multivalued: true
inlined_as_list: true
endorsement_source:
slot_uri: prov:hadPrimarySource
description: Source proving custodian acceptance of this name (REQUIRED)
range: uriorcurie
required: true
name_authority:
slot_uri: prov:wasAttributedTo
description: Authority that authorized this name
range: string
valid_from:
slot_uri: schema:validFrom
description: Date when this name became official/valid
range: date
valid_to:
slot_uri: schema:validUntil
description: Date when this name ceased to be valid (null if current)
range: date
name_validity_period:
slot_uri: crm:P4_has_time-span
description: |
Temporal period during which this name was valid (with fuzzy boundaries).
CIDOC-CRM: P4_has_time-span links to E52_Time-Span for uncertain validity periods.
Use this when name validity dates are uncertain:
- "Name adopted sometime in the 1920s"
- "Name changed around 1950"
- "Name used from approximately 1800 to 1850"
For precise dates, use valid_from/valid_to instead.
range: TimeSpan
examples:
- value:
@ -225,44 +158,17 @@ classes:
end_of_the_end: '1955-12-31'
description: Name adopted sometime in the 1920s, changed around 1950
supersede:
slot_uri: dcterms:replaces
description: Previous CustodianName replaced by this one
range: CustodianName
superseded_by:
slot_uri: dcterms:isReplacedBy
description: Subsequent CustodianName that replaced this name
range: CustodianName
was_derived_from:
slot_uri: prov:wasDerivedFrom
description: |
CustodianObservation(s) from which this name was derived (REQUIRED).
PROV-O: wasDerivedFrom establishes observation→name derivation.
A name can be derived from multiple observations through consolidation:
- "Rijks" (letterhead) + "Rijksmuseum Amsterdam" (ISIL) → "Rijksmuseum"
This is NOT inheritance (is_a) but transformation (derived_from).
range: CustodianObservation
multivalued: true
required: true
was_generated_by:
slot_uri: prov:wasGeneratedBy
description: |
ReconstructionActivity that generated this standardized name (optional).
If present: Name created through formal entity resolution process
If null: Name extracted directly without reconstruction activity
PROV-O: wasGeneratedBy links Entity (CustodianName) to generating Activity.
range: ReconstructionActivity
required: false
refers_to_custodian:
slot_uri: dcterms:references
description: |
The Custodian hub that this name identifies (REQUIRED).
Links the standardized name back to the hub it represents.
The hub may also link back via skos:prefLabel if this is the preferred name.
range: Custodian
required: true
specificity_annotation:

View file

@ -34,22 +34,13 @@ imports:
classes:
CustodianObservation:
class_uri: hc:CustodianObservation
description: |
Source-based evidence of a heritage custodian's existence.
CRITICAL: CustodianObservation does NOT directly link to Custodian!
- Observations are RAW EVIDENCE (input to ReconstructionActivity)
- Only ReconstructionActivity can determine if custodian is successfully identified
- Generated outputs (LegalStatus/Name/Place) link to Custodian, not observations
PROV-O Flow:
CustodianObservation → prov:used → ReconstructionActivity
ReconstructionActivity → prov:wasGeneratedBy → CustodianLegalStatus/Name/Place
CustodianLegalStatus/Name/Place → refers_to_custodian → Custodian
Observations can capture BOTH emic (insider) and etic (outsider) perspectives:
- Emic: "Rijksmuseum" (how institution presents itself)
- Etic: "The National Museum" (how outsiders refer to it)
description: "Source-based evidence of a heritage custodian's existence.\n\nCRITICAL: CustodianObservation does NOT directly\
\ link to Custodian!\n- Observations are RAW EVIDENCE (input to ReconstructionActivity)\n- Only ReconstructionActivity\
\ can determine if custodian is successfully identified\n- Generated outputs (LegalStatus/Name/Place) link to Custodian,\
\ not observations\n\nPROV-O Flow:\n CustodianObservation → prov:used → ReconstructionActivity\n ReconstructionActivity\
\ → prov:wasGeneratedBy → CustodianLegalStatus/Name/Place\n CustodianLegalStatus/Name/Place → refers_to_custodian →\
\ Custodian\n\nObservations can capture BOTH emic (insider) and etic (outsider) perspectives:\n- Emic: \"Rijksmuseum\"\
\ (how institution presents itself)\n- Etic: \"The National Museum\" (how outsiders refer to it)\n"
exact_mappings:
- pico:PersonObservation
- prov:Entity
@ -79,42 +70,29 @@ classes:
range: LanguageCode
slot_usage:
observation_source:
slot_uri: dcterms:source
description: Source where this observation was documented (simplified string)
range: string
observed_name:
slot_uri: crm:P1_is_identified_by
description: Name as observed in source document (REQUIRED)
range: CustodianAppellation
required: true
has_or_had_alternative_observed_name:
slot_uri: crm:P1_is_identified_by
description: Alternative names/variants observed
range: CustodianAppellation
multivalued: true
observation_date:
slot_uri: prov:generatedAtTime
description: Date when source document was created
range: date
source:
slot_uri: prov:hadPrimarySource
description: Source document where observation was recorded (REQUIRED)
range: SourceDocument
required: true
observation_context:
slot_uri: dcterms:description
description: Contextual description of where/how name was observed
range: string
derived_from_entity:
slot_uri: prov:wasDerivedFrom
description: Links observation to reconstructed formal entity
range: CustodianLegalStatus
confidence_score:
slot_uri: prov:qualifiedAttribution
description: Confidence in observation accuracy
range: ConfidenceMeasure
has_or_had_custodian_type:
equals_expression: '["hc:GalleryType", "hc:LibraryType", "hc:ArchiveOrganizationType", "hc:MuseumType", "hc:OfficialInstitutionType", "hc:ResearchOrganizationType", "hc:CommercialOrganizationType", "hc:UnspecifiedType", "hc:BioCustodianType", "hc:EducationProviderType", "hc:HeritageSocietyType", "hc:FeatureCustodianType", "hc:IntangibleHeritageGroupType", "hc:MixedCustodianType", "hc:PersonalCollectionType", "hc:HolySacredSiteType", "hc:DigitalPlatformType", "hc:NonProfitType", "hc:TasteScentHeritageType"]'
equals_expression: '["hc:GalleryType", "hc:LibraryType", "hc:ArchiveOrganizationType", "hc:MuseumType", "hc:OfficialInstitutionType",
"hc:ResearchOrganizationType", "hc:CommercialOrganizationType", "hc:UnspecifiedType", "hc:BioCustodianType", "hc:EducationProviderType",
"hc:HeritageSocietyType", "hc:FeatureCustodianType", "hc:IntangibleHeritageGroupType", "hc:MixedCustodianType",
"hc:PersonalCollectionType", "hc:HolySacredSiteType", "hc:DigitalPlatformType", "hc:NonProfitType", "hc:TasteScentHeritageType"]'
specificity_annotation:
range: SpecificityAnnotation
inlined: true

View file

@ -37,61 +37,24 @@ classes:
CustodianPlace:
is_a: ReconstructedEntity
class_uri: crm:E53_Place
description: |
Nominal place designation used to identify a heritage custodian.
CRITICAL: This is NOT geographic coordinates! This is a NOMINAL REFERENCE
to a place as a way of identifying the custodian.
CustodianPlace represents how people refer to a custodian through place:
- "het herenhuis in de Schilderswijk" (neighborhood reference)
- "the mansion" (generic building reference)
- "Rijksmuseum" (building name as place, not institution name)
- "het museum op het Museumplein" (landmark reference)
**Relationship to FeaturePlace**:
CustodianPlace provides the NOMINAL REFERENCE (WHERE):
- "Rijksmuseum" (building name used as place identifier)
FeaturePlace classifies the FEATURE TYPE (WHAT TYPE):
- MUSEUM building type
Example:
```yaml
CustodianPlace:
place_name: "Rijksmuseum"
has_feature_type:
feature_type: MUSEUM
feature_description: "Neo-Gothic museum building (1885)"
```
**Distinction from GeoSpatialPlace class**:
| CustodianPlace | GeoSpatialPlace |
|----------------|-----------------|
| Nominal reference | Geographic coordinates |
| "the mansion in the Schilderswijk" | lat: 52.0705, lon: 4.2894 |
| Emic/contextual | Precise/measured |
| May be ambiguous | Unambiguous |
| Identifies custodian | Locates custodian |
| Source: archives, oral history | Source: GPS, cadastral surveys |
**Relationship to GeoSpatialPlace**:
CustodianPlace.has_geospatial_location → GeoSpatialPlace
A nominal place reference can link to precise geospatial coordinates:
- CustodianPlace: "the mansion in the Schilderswijk, Den Haag"
- GeoSpatialPlace: lat 52.0705, lon 4.2894, WKT: POINT(4.2894 52.0705)
**Generated by ReconstructionActivity**:
CustodianPlace is ONE OF THREE possible outputs from ReconstructionActivity:
1. CustodianLegalStatus - Formal legal entity
2. CustodianName - Emic label
3. CustodianPlace - Nominal place designation (THIS CLASS)
All three aspects independently identify the SAME Custodian hub via refers_to_custodian.
description: "Nominal place designation used to identify a heritage custodian.\n\nCRITICAL: This is NOT geographic coordinates!\
\ This is a NOMINAL REFERENCE\nto a place as a way of identifying the custodian.\n\nCustodianPlace represents how people\
\ refer to a custodian through place:\n- \"het herenhuis in de Schilderswijk\" (neighborhood reference)\n- \"the mansion\"\
\ (generic building reference)\n- \"Rijksmuseum\" (building name as place, not institution name)\n- \"het museum op\
\ het Museumplein\" (landmark reference)\n\n**Relationship to FeaturePlace**:\n\nCustodianPlace provides the NOMINAL\
\ REFERENCE (WHERE):\n- \"Rijksmuseum\" (building name used as place identifier)\n\nFeaturePlace classifies the FEATURE\
\ TYPE (WHAT TYPE):\n- MUSEUM building type\n\nExample:\n```yaml\nCustodianPlace:\n place_name: \"Rijksmuseum\"\n \
\ has_feature_type:\n feature_type: MUSEUM\n feature_description: \"Neo-Gothic museum building (1885)\"\n```\n\
\n**Distinction from GeoSpatialPlace class**:\n\n| CustodianPlace | GeoSpatialPlace |\n|----------------|-----------------|\n\
| Nominal reference | Geographic coordinates |\n| \"the mansion in the Schilderswijk\" | lat: 52.0705, lon: 4.2894 |\n\
| Emic/contextual | Precise/measured |\n| May be ambiguous | Unambiguous |\n| Identifies custodian | Locates custodian\
\ |\n| Source: archives, oral history | Source: GPS, cadastral surveys |\n\n**Relationship to GeoSpatialPlace**:\n\n\
CustodianPlace.has_geospatial_location → GeoSpatialPlace\n\nA nominal place reference can link to precise geospatial\
\ coordinates:\n- CustodianPlace: \"the mansion in the Schilderswijk, Den Haag\"\n- GeoSpatialPlace: lat 52.0705, lon\
\ 4.2894, WKT: POINT(4.2894 52.0705)\n\n**Generated by ReconstructionActivity**:\nCustodianPlace is ONE OF THREE possible\
\ outputs from ReconstructionActivity:\n1. CustodianLegalStatus - Formal legal entity\n2. CustodianName - Emic label\n\
3. CustodianPlace - Nominal place designation (THIS CLASS)\n\nAll three aspects independently identify the SAME Custodian\
\ hub via refers_to_custodian.\n"
exact_mappings:
- crm:E53_Place
- schema:Place
@ -121,13 +84,6 @@ classes:
- was_generated_by
slot_usage:
place_name:
slot_uri: crm:P87_is_identified_by
description: |
Nominal place designation (REQUIRED).
CIDOC-CRM: P87_is_identified_by links E1_CRM_Entity to E41_Appellation.
This is the NOMINAL NAME of the place, not coordinates!
range: string
required: true
examples:
@ -138,11 +94,6 @@ classes:
- value: Rijksmuseum
description: Building name used as place reference
place_language:
slot_uri: dcterms:language
description: |
Language of place name.
Dublin Core: language for linguistic context.
range: string
required: false
examples:
@ -151,16 +102,6 @@ classes:
- value: en
description: English place name
place_specificity:
description: |
Level of place specificity.
Indicates how precisely the place reference identifies a location:
- BUILDING: Specific building
- STREET: Street-level
- NEIGHBORHOOD: Neighborhood/district
- CITY: City-level
- REGION: Regional
- VAGUE: Unspecified ("the mansion")
range: PlaceSpecificityEnum
required: false
examples:
@ -171,39 +112,12 @@ classes:
- value: VAGUE
description: the mansion
place_note:
slot_uri: skos:note
description: |
Contextual notes about place reference.
SKOS: note for editorial annotations.
Use for:
- Disambiguation ("not the other mansion on Voorhout")
- Historical context ("mansion demolished 1950")
- Interpretation notes ("used as place reference, not institution name")
range: string
required: false
examples:
- value: Used as place reference in archival documents, not as institution
name
- value: Used as place reference in archival documents, not as institution name
description: Clarifies nominal use of 'Rijksmuseum'
country:
slot_uri: schema:addressCountry
description: |
Country where this place is located (OPTIONAL).
Links to Country class with ISO 3166-1 codes.
Schema.org: addressCountry uses ISO 3166-1 alpha-2 codes.
Use when:
- Place name is ambiguous across countries ("Victoria Museum" exists in multiple countries)
- Feature types are country-specific (e.g., "cultural heritage of Peru")
- Generating country-conditional enums
Examples:
- "Rijksmuseum" → country.alpha_2 = "NL"
- "cultural heritage of Peru" → country.alpha_2 = "PE"
range: Country
inlined: true
required: false
@ -213,27 +127,6 @@ classes:
- value: https://nde.nl/ontology/hc/country/PE
description: Place located in Peru
subregion:
slot_uri: schema:addressRegion
description: |
Geographic subdivision where this place is located (OPTIONAL).
Links to Subregion class with ISO 3166-2 subdivision codes.
Format: {country_alpha2}-{subdivision_code} (e.g., "US-PA", "ID-BA")
Schema.org: addressRegion for subdivisions (states, provinces, regions).
Use when:
- Place is in a specific subdivision (e.g., "Pittsburgh museum" → US-PA)
- Feature types are region-specific (e.g., "sacred shrine (Bali)" → ID-BA)
- Additional geographic precision needed beyond country
Examples:
- "Pittsburgh museum" → subregion.iso_3166_2_code = "US-PA"
- "Bali sacred shrine" → subregion.iso_3166_2_code = "ID-BA"
- "Bavaria natural monument" → subregion.iso_3166_2_code = "DE-BY"
NOTE: subregion must be within the specified country.
range: Subregion
inlined: true
required: false
@ -243,29 +136,6 @@ classes:
- value: https://nde.nl/ontology/hc/subregion/ID-BA
description: Bali, Indonesia
settlement:
slot_uri: schema:location
description: |
City/town where this place is located (OPTIONAL).
Links to Settlement class with GeoNames numeric identifiers.
GeoNames ID resolves ambiguity: 41 "Springfield"s in USA have different IDs.
Schema.org: location for settlement reference.
Use when:
- Place is in a specific city (e.g., "Amsterdam museum" → GeoNames 2759794)
- Feature types are city-specific (e.g., "City of Pittsburgh historic designation")
- Maximum geographic precision needed
Examples:
- "Amsterdam museum" → settlement.geonames_id = 2759794
- "Pittsburgh designation" → settlement.geonames_id = 5206379
- "Rio museum" → settlement.geonames_id = 3451190
NOTE: settlement must be within the specified country and subregion (if provided).
GeoNames lookup: https://www.geonames.org/{geonames_id}/
range: Settlement
inlined: true
required: false
@ -275,20 +145,6 @@ classes:
- value: https://nde.nl/ontology/hc/settlement/5206379
description: Pittsburgh (GeoNames ID 5206379)
has_feature_type:
slot_uri: dcterms:type
description: |
Physical feature type classification for this place (OPTIONAL).
Links to FeaturePlace which classifies WHAT TYPE of physical feature this place is.
Dublin Core: type for classification relationship.
Examples:
- "Rijksmuseum" (place name) → MUSEUM (feature type)
- "het herenhuis" → MANSION (feature type)
- "de kerk op het Damrak" → PARISH_CHURCH (feature type)
This is optional because not all place references need explicit feature typing.
range: FeaturePlace
required: false
examples:
@ -297,52 +153,6 @@ classes:
- value: https://nde.nl/ontology/hc/feature/herenhuis-mansion
description: Links 'het herenhuis' place to MANSION feature type
has_geospatial_location:
slot_uri: geosparql:hasGeometry
description: |
Links this nominal place reference to its precise geospatial coordinates (OPTIONAL).
**CRITICAL DISTINCTION**:
| CustodianPlace | GeoSpatialPlace |
|----------------|-----------------|
| Nominal reference | Geospatial data |
| "het herenhuis in de Schilderswijk" | lat: 52.0705, lon: 4.2894 |
| Identifies custodian by name | Locates custodian precisely |
| May be vague ("the mansion") | Precise, measurable |
| Source: archival documents | Source: GPS, cadastral surveys |
**TOOI Ontology Pattern**:
Following TOOI BestuurlijkeRuimte pattern:
- TOOI: tooi:BestuurlijkeRuimte → tooi:hasGeometry → geosparql:Geometry
- Here: CustodianPlace → has_geospatial_location → GeoSpatialPlace
GeoSPARQL: hasGeometry links Feature to Geometry representation.
**Use Cases**:
1. **Precise location mapping**: Display heritage custodians on maps
2. **Geocoding validation**: Verify nominal references against coordinates
3. **Spatial queries**: Find custodians within geographic boundaries
4. **Boundary tracking**: Track jurisdiction changes over time (municipal mergers)
**Cardinality**:
CustodianPlace can have:
- 0 GeoSpatialPlace: Unresolved/ambiguous nominal reference
- 1 GeoSpatialPlace: Single precise location (common case)
- N GeoSpatialPlace: Historical boundaries at different time periods
**Example**:
```yaml
CustodianPlace:
place_name: "Rijksmuseum"
has_geospatial_location:
latitude: 52.3600
longitude: 4.8852
geometry_wkt: "POLYGON(...)"
geonames_id: 6930126
```
range: GeoSpatialPlace
multivalued: true
inlined_as_list: true
@ -362,45 +172,6 @@ classes:
spatial_resolution: NEIGHBORHOOD
description: Approximate location from neighborhood reference
has_auxiliary_place:
slot_uri: org:hasSite
description: |
Subordinate or secondary physical locations associated with this main CustodianPlace.
**W3C ORG Alignment**:
`org:hasSite` - "Indicates a site at which the Organization has some presence"
**Hierarchical Pattern - Mirrors CustodianName/CustodianAppellation**:
- CustodianPlace (main headquarters) → primary org:Site
- AuxiliaryPlace (subordinate sites) → secondary org:Site instances
Like CustodianAppellation provides alternative names for CustodianName,
AuxiliaryPlace provides subordinate locations for CustodianPlace.
**Use Cases**:
1. **Off-site Storage**: Museum depot, archive annex
2. **Branch Locations**: Regional library branches, satellite galleries
3. **Specialized Facilities**: Conservation lab, digitization center
4. **Temporary Locations**: Exhibition pavilions, renovation storage
**Relationship to OrganizationBranch**:
AuxiliaryPlace → hosts_branch → OrganizationBranch
Physical location (AuxiliaryPlace) hosts formal organizational unit (OrganizationBranch).
**Example - Rijksmuseum**:
```yaml
CustodianPlace:
place_name: "Rijksmuseum"
has_auxiliary_place:
- place_name: "Depot Amersfoort"
auxiliary_place_type: STORAGE_FACILITY
- place_name: "Rijksmuseum Schiphol"
auxiliary_place_type: BRANCH_OFFICE
```
range: AuxiliaryPlace
multivalued: true
inlined_as_list: true
@ -413,65 +184,22 @@ classes:
auxiliary_place_type: BRANCH_OFFICE
description: Rijksmuseum subordinate locations
derived_from_observation:
slot_uri: prov:wasDerivedFrom
description: |
CustodianObservation(s) from which this place designation was derived (REQUIRED).
PROV-O: wasDerivedFrom establishes observation→place derivation.
A place designation can be derived from multiple observations:
- "het herenhuis" + "Schilderswijk" → "het herenhuis in de Schilderswijk"
NOTE: Uses uriorcurie to allow referencing observations by URI without
requiring full inline objects. This enables simpler instance creation
while maintaining provenance links.
range: uriorcurie
multivalued: true
required: true
was_generated_by:
slot_uri: prov:wasGeneratedBy
description: |
ReconstructionActivity that generated this place designation (optional).
If present: Place created through formal reconstruction process
If null: Place extracted directly without reconstruction activity
PROV-O: wasGeneratedBy links Entity (CustodianPlace) to generating Activity.
range: ReconstructionActivity
required: false
place_custodian_ref:
slot_uri: dcterms:references
description: |
The Custodian hub that this place designation identifies (REQUIRED).
Links the nominal place reference back to the hub it represents.
Dublin Core: references for entity reference.
NOTE: Uses uriorcurie to allow referencing custodians by URI.
range: uriorcurie
required: true
examples:
- value: https://nde.nl/ontology/hc/nl-zh-hag-m-xyz
description: References custodian identified by place
valid_from:
slot_uri: schema:validFrom
description: |
Start of validity period for this place designation.
Schema.org: validFrom for temporal validity.
Use when place name changed over time:
- "het herenhuis op de Korte Voorhout" valid 1850-1920
- "het museum op de Korte Voorhout" valid 1920-present
range: date
required: false
valid_to:
slot_uri: schema:validThrough
description: |
End of validity period for this place designation.
Schema.org: validThrough for temporal validity.
range: date
required: false
specificity_annotation:
@ -481,19 +209,15 @@ classes:
range: TemplateSpecificityScores
inlined: true
comments:
- 'Represents the PLACE ASPECT of a custodian: ''how is this custodian identified
by place reference?'''
- One of three possible outputs from ReconstructionActivity (legal status, name,
PLACE)
- 'Represents the PLACE ASPECT of a custodian: ''how is this custodian identified by place reference?'''
- One of three possible outputs from ReconstructionActivity (legal status, name, PLACE)
- 'CRITICAL: NOT geographic coordinates - this is a NOMINAL reference (name-based)'
- 'Example: ''het herenhuis in de Schilderswijk'' identifies a custodian through
place naming'
- 'Example: ''het herenhuis in de Schilderswijk'' identifies a custodian through place naming'
- Distinct from GeoSpatialPlace which has lat/lon coordinates and WKT geometry
- Link to GeoSpatialPlace via has_geospatial_location slot (TOOI pattern)
- Can be vague ('the mansion') or specific ('het museum op het Museumplein 1')
- Historical place names capture how custodians were referenced in archival documents
- 'NEW: auxiliary_places links to subordinate AuxiliaryPlace sites (depots, branches,
labs)'
- 'NEW: auxiliary_places links to subordinate AuxiliaryPlace sites (depots, branches, labs)'
- Hierarchical pattern mirrors CustodianName → CustodianAppellation relationship
see_also:
- http://www.cidoc-crm.org/html/cidoc_crm_v7.1.3.html#E53
@ -519,8 +243,7 @@ classes:
refers_to_custodian: https://nde.nl/ontology/hc/nl-zh-hag-m-xyz
valid_from: '1850-01-01'
valid_to: '1900-12-31'
description: Historical mansion place reference with approximate geospatial
location
description: Historical mansion place reference with approximate geospatial location
- value:
place_name: Rijksmuseum
place_language: nl
@ -529,15 +252,13 @@ classes:
has_feature_type:
feature_type: MUSEUM
feature_name: Rijksmuseum building
feature_description: Neo-Gothic museum building designed by P.J.H. Cuypers
(1885)
feature_description: Neo-Gothic museum building designed by P.J.H. Cuypers (1885)
feature_note: Rijksmonument, national heritage building
has_geospatial_location:
- geospatial_id: https://nde.nl/ontology/hc/geo/rijksmuseum-building
latitude: 52.36
longitude: 4.8852
geometry_wkt: POLYGON((4.8830 52.3590, 4.8870 52.3590, 4.8870 52.3610, 4.8830
52.3610, 4.8830 52.3590))
geometry_wkt: POLYGON((4.8830 52.3590, 4.8870 52.3590, 4.8870 52.3610, 4.8830 52.3610, 4.8830 52.3590))
geometry_type: POLYGON
geonames_id: 6930126
osm_id: way/27083908
@ -547,5 +268,4 @@ classes:
was_derived_from:
- https://w3id.org/heritage/observation/guidebook-1920
refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
description: Building name with precise geospatial location (building footprint
polygon)
description: Building name with precise geospatial location (building footprint polygon)

View file

@ -11,183 +11,102 @@ prefixes:
crm: http://www.cidoc-crm.org/cidoc-crm/
tooi: https://identifier.overheid.nl/tooi/def/ont/
imports:
- linkml:types
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../enums/OrganizationalChangeEventTypeEnum
- ../enums/DataTierEnum
- ../enums/DatePrecisionEnum
- ../enums/TimelineExtractionMethodEnum
- ../slots/approximate
- ../slots/has_archive_path
- ../slots/data_tier
- ../slots/date_precision
- ../slots/description
- ../slots/event_date
- ../slots/event_type
- ../slots/extraction_method
- ../slots/extraction_note
- ../slots/extraction_timestamp
- ../slots/observation_ref
- ../slots/source_url
- ../slots/specificity_annotation
- ../slots/template_specificity
- linkml:types
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../enums/OrganizationalChangeEventTypeEnum
- ../enums/DataTierEnum
- ../enums/DatePrecisionEnum
- ../enums/TimelineExtractionMethodEnum
- ../slots/approximate
- ../slots/has_archive_path
- ../slots/data_tier
- ../slots/date_precision
- ../slots/description
- ../slots/event_date
- ../slots/event_type
- ../slots/extraction_method
- ../slots/extraction_note
- ../slots/extraction_timestamp
- ../slots/observation_ref
- ../slots/source_url
- ../slots/specificity_annotation
- ../slots/template_specificity
default_prefix: hc
classes:
CustodianTimelineEvent:
class_uri: prov:Entity
description: |
An organizational change event for a heritage custodian.
**PURPOSE**
Captures organizational change events (founding, mergers, name changes, etc.)
as domain entities, independent of how they were discovered.
**SOURCE-AGNOSTIC DESIGN**
This class models WHAT happened, not HOW we know. For source-specific
provenance, use observation classes:
- `WebObservation` - For web-scraped data with XPath or API provenance
- `CustodianObservation` - For institutional source documents
The optional `observation_ref` slot links events to their source observations
when detailed provenance is needed.
**DATA QUALITY**
Use `data_tier` to indicate trustworthiness:
- TIER_4_INFERRED: Initial extraction (LLM-generated, unverified)
- TIER_3_CROWD_SOURCED: Verified against Wikipedia/Wikidata
- TIER_2_VERIFIED: Verified against institutional website
- TIER_1_AUTHORITATIVE: Verified against official registry
Use `extraction_notes` to capture source-specific details:
- API queries and responses
- XPath locations in archived HTML
- Wikidata property references
- Manual research notes
**EVENT TYPE MAPPING**
Events are classified using OrganizationalChangeEventTypeEnum:
- FOUNDING: Institution creation (opgericht, gesticht)
- MERGER: Multiple institutions combining (fusie, samenvoeging)
- DISSOLUTION: Institution closure (opgeheven, gesloten)
- RENAMING: Name change only (hernoemd, naamswijziging)
- TRANSFER: Physical relocation (verhuisd, verplaatst)
- EXPANSION: Absorbing other units (uitgebreid, geabsorbeerd)
- SPLIT: Division into multiple units (opgesplitst)
- SPIN_OFF: Parts becoming independent (afgesplitst)
- REDUCTION: Scope decrease (ingekrompen)
- REORGANIZATION: Complex restructuring (herstructurering)
**EXCLUDED EVENT TYPES**
Some patterns are NOT mapped to events:
- predecessor: This is a relationship, not an event
- friends_org: Separate organization (Vrienden van...)
- reopening: Not in OrganizationalChangeEventTypeEnum
**EXAMPLE USAGE**
```yaml
timeline_events:
- event_type: FOUNDING
event_date: "2005-04-30"
date_precision: day
approximate: false
description: >-
Het RHC Drents Archief werd opgericht op 30 april 2005.
Het is de voortzetting van het Rijksarchief in Drenthe (sinds 2000).
source_url:
- "https://nl.wikipedia.org/wiki/Drents_Archief"
- "https://bizzy.ai/nl/nl/52454037/regionaal-historisch-centrum-rhc-drents-archief"
extraction_method: api_response_regex
extraction_timestamp: "2025-12-16T10:00:00Z"
extraction_notes: >-
Query: "Regionaal Historisch Centrum (RHC) Drents Archief" Assen opgericht
Answer archived at: web/0002/linkup/linkup_founding_20251215T160438Z.json
archive_path: web/0002/linkup/linkup_founding_20251215T160438Z.json
data_tier: TIER_4_INFERRED
```
description: "An organizational change event for a heritage custodian.\n\n**PURPOSE**\n\nCaptures organizational change\
\ events (founding, mergers, name changes, etc.)\nas domain entities, independent of how they were discovered.\n\n**SOURCE-AGNOSTIC\
\ DESIGN**\n\nThis class models WHAT happened, not HOW we know. For source-specific\nprovenance, use observation classes:\n\
\n- `WebObservation` - For web-scraped data with XPath or API provenance\n- `CustodianObservation` - For institutional\
\ source documents\n\nThe optional `observation_ref` slot links events to their source observations\nwhen detailed provenance\
\ is needed.\n\n**DATA QUALITY**\n\nUse `data_tier` to indicate trustworthiness:\n- TIER_4_INFERRED: Initial extraction\
\ (LLM-generated, unverified)\n- TIER_3_CROWD_SOURCED: Verified against Wikipedia/Wikidata\n- TIER_2_VERIFIED: Verified\
\ against institutional website\n- TIER_1_AUTHORITATIVE: Verified against official registry\n\nUse `extraction_notes`\
\ to capture source-specific details:\n- API queries and responses\n- XPath locations in archived HTML\n- Wikidata property\
\ references\n- Manual research notes\n\n**EVENT TYPE MAPPING**\n\nEvents are classified using OrganizationalChangeEventTypeEnum:\n\
- FOUNDING: Institution creation (opgericht, gesticht)\n- MERGER: Multiple institutions combining (fusie, samenvoeging)\n\
- DISSOLUTION: Institution closure (opgeheven, gesloten)\n- RENAMING: Name change only (hernoemd, naamswijziging)\n\
- TRANSFER: Physical relocation (verhuisd, verplaatst)\n- EXPANSION: Absorbing other units (uitgebreid, geabsorbeerd)\n\
- SPLIT: Division into multiple units (opgesplitst)\n- SPIN_OFF: Parts becoming independent (afgesplitst)\n- REDUCTION:\
\ Scope decrease (ingekrompen)\n- REORGANIZATION: Complex restructuring (herstructurering)\n\n**EXCLUDED EVENT TYPES**\n\
\nSome patterns are NOT mapped to events:\n- predecessor: This is a relationship, not an event\n- friends_org: Separate\
\ organization (Vrienden van...)\n- reopening: Not in OrganizationalChangeEventTypeEnum\n\n**EXAMPLE USAGE**\n\n```yaml\n\
timeline_events:\n - event_type: FOUNDING\n event_date: \"2005-04-30\"\n date_precision: day\n approximate:\
\ false\n description: >-\n Het RHC Drents Archief werd opgericht op 30 april 2005.\n Het is de voortzetting\
\ van het Rijksarchief in Drenthe (sinds 2000).\n source_url:\n - \"https://nl.wikipedia.org/wiki/Drents_Archief\"\
\n - \"https://bizzy.ai/nl/nl/52454037/regionaal-historisch-centrum-rhc-drents-archief\"\n extraction_method:\
\ api_response_regex\n extraction_timestamp: \"2025-12-16T10:00:00Z\"\n extraction_notes: >-\n Query: \"\
Regionaal Historisch Centrum (RHC) Drents Archief\" Assen opgericht\n Answer archived at: web/0002/linkup/linkup_founding_20251215T160438Z.json\n\
\ archive_path: web/0002/linkup/linkup_founding_20251215T160438Z.json\n data_tier: TIER_4_INFERRED\n```\n"
exact_mappings:
- prov:Entity
- prov:Entity
close_mappings:
- crm:E5_Event
- tooi:Wijzigingsgebeurtenis
- schema:Event
- crm:E5_Event
- tooi:Wijzigingsgebeurtenis
- schema:Event
slots:
- approximate
- archive_path
- data_tier
- date_precision
- description
- event_date
- event_type
- extraction_method
- extraction_note
- extraction_timestamp
- observation_ref
- source_url
- specificity_annotation
- template_specificity
- approximate
- archive_path
- data_tier
- date_precision
- description
- event_date
- event_type
- extraction_method
- extraction_note
- extraction_timestamp
- observation_ref
- source_url
- specificity_annotation
- template_specificity
slot_usage:
event_type:
required: true
description: |
Type of organizational change event.
Must be a valid OrganizationalChangeEventTypeEnum value.
event_date:
required: false
description: |
Date of the event. Optional because some events may not have
a determinable date from the source.
date_precision:
required: true
description: |
Always required to indicate how to interpret event_date.
Use 'unknown' if date is mentioned but precision unclear.
is_approximate:
required: true
description: |
Always required. Default to false unless hedging language detected.
description:
required: true
description: |
Human-readable summary of the event.
Should describe what happened, not how it was discovered.
source_url:
required: false
description: |
URLs documenting the event. May be empty if no web sources available.
extraction_method:
required: true
range: TimelineExtractionMethodEnum
description: |
How the event was extracted. Required for transparency.
extraction_timestamp:
required: true
description: |
When extraction occurred. Required for temporal provenance.
extraction_note:
required: false
description: |
Optional notes for source-specific details (API queries, XPaths, etc.)
has_archive_path:
required: false
description: |
Path to archived source material. Recommended for audit trail.
data_tier:
required: true
description: |
Quality tier. Use TIER_4_INFERRED for unverified extractions.
observation_ref:
required: false
description: |
Optional link to source observation for detailed provenance.
specificity_annotation:
range: SpecificityAnnotation
inlined: true
@ -195,78 +114,78 @@ classes:
range: TemplateSpecificityScores
inlined: true
rules:
- preconditions:
slot_conditions:
event_date:
value_presence: PRESENT
postconditions:
slot_conditions:
date_precision:
value_presence: PRESENT
description: If event_date is provided, date_precision must be specified
- preconditions:
slot_conditions:
event_date:
value_presence: PRESENT
postconditions:
slot_conditions:
date_precision:
value_presence: PRESENT
description: If event_date is provided, date_precision must be specified
comments:
- "Source-agnostic design - see Rule 37: Provenance Separation"
- Use observation_ref to link to detailed source provenance
- Use extraction_notes for source-specific details (API queries, XPaths)
- Event types constrained to OrganizationalChangeEventTypeEnum
- Use CIDOC-CRM TimeSpan for fuzzy dates if needed
- 'Source-agnostic design - see Rule 37: Provenance Separation'
- Use observation_ref to link to detailed source provenance
- Use extraction_notes for source-specific details (API queries, XPaths)
- Event types constrained to OrganizationalChangeEventTypeEnum
- Use CIDOC-CRM TimeSpan for fuzzy dates if needed
see_also:
- schemas/20251121/linkml/modules/enums/OrganizationalChangeEventTypeEnum.yaml
- schemas/20251121/linkml/modules/classes/WebObservation.yaml
- schemas/20251121/linkml/modules/classes/CustodianObservation.yaml
- schemas/20251121/linkml/modules/classes/TimeSpan.yaml
- .opencode/PROVENANCE_SEPARATION_RULE.md
- schemas/20251121/linkml/modules/enums/OrganizationalChangeEventTypeEnum.yaml
- schemas/20251121/linkml/modules/classes/WebObservation.yaml
- schemas/20251121/linkml/modules/classes/CustodianObservation.yaml
- schemas/20251121/linkml/modules/classes/TimeSpan.yaml
- .opencode/PROVENANCE_SEPARATION_RULE.md
examples:
- value:
event_type: FOUNDING
event_date: "2005-04-30"
date_precision: day
approximate: false
description: Het RHC Drents Archief werd opgericht op 30 april 2005.
source_url:
- https://nl.wikipedia.org/wiki/Drents_Archief
extraction_method: api_response_regex
extraction_timestamp: "2025-12-16T10:00:00Z"
extraction_notes: "Query: \"Drents Archief\" Assen opgericht OR gesticht API: Linkup. Archived at: web/0002/linkup/linkup_founding_20251215T160438Z.json"
archive_path: web/0002/linkup/linkup_founding_20251215T160438Z.json
data_tier: TIER_4_INFERRED
description: Founding event extracted from API response
- value:
event_type: MERGER
event_date: "2005"
date_precision: year
approximate: false
description: In 2005 ging het Gemeentearchief Assen op in het Drents Archief.
source_url:
- https://nl.wikipedia.org/wiki/Drents_Archief
extraction_method: api_response_regex
extraction_timestamp: "2025-12-16T10:05:00Z"
data_tier: TIER_4_INFERRED
description: Merger event with year-only precision
- value:
event_type: FOUNDING
event_date: "1810"
date_precision: year
approximate: false
description: The Rijksmuseum was founded in 1810 as the Royal Museum.
source_url:
- https://www.wikidata.org/wiki/Q190804
extraction_method: wikidata_sparql
extraction_timestamp: "2025-12-20T14:30:00Z"
extraction_notes: Wikidata P571 (inception date) query
data_tier: TIER_3_CROWD_SOURCED
description: Founding event from Wikidata
- value:
event_type: TRANSFER
event_date: "1885"
date_precision: year
approximate: false
description: The Rijksmuseum moved to its current building designed by Cuypers.
source_url:
- https://www.rijksmuseum.nl/en/about-us/what-we-do/history
extraction_method: web_scrape_xpath
extraction_timestamp: "2025-12-20T15:00:00Z"
extraction_notes: "XPath: /html/body/main/section[2]/div/p[3]"
archive_path: web/0001/rijksmuseum.nl/about-us/rendered.html
data_tier: TIER_2_VERIFIED
description: Relocation event from institutional website
- value:
event_type: FOUNDING
event_date: '2005-04-30'
date_precision: day
approximate: false
description: Het RHC Drents Archief werd opgericht op 30 april 2005.
source_url:
- https://nl.wikipedia.org/wiki/Drents_Archief
extraction_method: api_response_regex
extraction_timestamp: '2025-12-16T10:00:00Z'
extraction_notes: 'Query: "Drents Archief" Assen opgericht OR gesticht API: Linkup. Archived at: web/0002/linkup/linkup_founding_20251215T160438Z.json'
archive_path: web/0002/linkup/linkup_founding_20251215T160438Z.json
data_tier: TIER_4_INFERRED
description: Founding event extracted from API response
- value:
event_type: MERGER
event_date: '2005'
date_precision: year
approximate: false
description: In 2005 ging het Gemeentearchief Assen op in het Drents Archief.
source_url:
- https://nl.wikipedia.org/wiki/Drents_Archief
extraction_method: api_response_regex
extraction_timestamp: '2025-12-16T10:05:00Z'
data_tier: TIER_4_INFERRED
description: Merger event with year-only precision
- value:
event_type: FOUNDING
event_date: '1810'
date_precision: year
approximate: false
description: The Rijksmuseum was founded in 1810 as the Royal Museum.
source_url:
- https://www.wikidata.org/wiki/Q190804
extraction_method: wikidata_sparql
extraction_timestamp: '2025-12-20T14:30:00Z'
extraction_notes: Wikidata P571 (inception date) query
data_tier: TIER_3_CROWD_SOURCED
description: Founding event from Wikidata
- value:
event_type: TRANSFER
event_date: '1885'
date_precision: year
approximate: false
description: The Rijksmuseum moved to its current building designed by Cuypers.
source_url:
- https://www.rijksmuseum.nl/en/about-us/what-we-do/history
extraction_method: web_scrape_xpath
extraction_timestamp: '2025-12-20T15:00:00Z'
extraction_notes: 'XPath: /html/body/main/section[2]/div/p[3]'
archive_path: web/0001/rijksmuseum.nl/about-us/rendered.html
data_tier: TIER_2_VERIFIED
description: Relocation event from institutional website

View file

@ -81,153 +81,44 @@ classes:
- wikidata_entity
slot_usage:
type_id:
slot_uri: dcterms:identifier
description: 'Unique identifier for this custodian type instance.
Format: https://nde.nl/ontology/hc/type/{category}/{wikidata-id}
Example: https://nde.nl/ontology/hc/type/museum/Q207694
'
range: uriorcurie
required: true
identifier: true
pattern: ^https://nde\.nl/ontology/hc/type/[a-z-]+/[QP][0-9]+$
glamorcubesfixphdnt_code:
slot_uri: skos:notation
description: 'Single-letter GLAMORCUBESFIXPHDNT code for GHCID generation.
Derived from the CustodianType subclass (class hierarchy implies code).
**Migration Note** (2026-01-05):
Previously stored in `primary_type` slot using CustodianPrimaryTypeEnum.
Now derived from class hierarchy - each subclass has an implicit code:
- ArchiveOrganizationType → A
- MuseumType → M
- LibraryType → L
- etc.
This slot is optional and primarily for serialization/interop purposes.
The authoritative code is determined by the class type itself.
'
range: string
required: false
pattern: ^[ABCDEFGHILMNOPRSTUX]$
wikidata_entity:
slot_uri: schema:additionalType
description: 'The Wikidata Q-number for this custodian type.
Used for Linked Open Data integration and web discoverability.
Format: Q followed by digits (e.g., Q33506 for museum).
Schema.org: additionalType allows linking to external vocabularies.
CRITICAL: MUST be a REAL Wikidata entity ID - synthetic Q-numbers
are strictly prohibited per project policy.
'
range: string
required: true
pattern: ^Q[0-9]+$
type_label:
slot_uri: skos:prefLabel
description: 'The preferred multilingual label for this custodian type.
SKOS: prefLabel supports language tags (e.g., "Museum"@en, "museum"@nl).
Primary language: English (en)
Secondary: Dutch (nl), German (de), French (fr), Spanish (es), etc.
'
range: string
required: true
multivalued: true
type_description:
slot_uri: skos:definition
description: 'A textual definition explaining what this custodian type represents.
SKOS: definition provides semantic clarification of the concept.
Example: "institution that preserves and provides access to historical documents"
'
range: string
required: false
custodian_type_broader:
slot_uri: skos:broader
description: 'Reference to a more general (broader) custodian type in the taxonomy.
SKOS: broader supports hierarchical concept schemes.
Example: "Art Museum" (Q207694) skos:broader "Museum" (Q33506)
'
range: CustodianType
required: false
custodian_type_narrower:
slot_uri: skos:narrower
description: 'References to more specific (narrower) custodian types.
SKOS: narrower is inverse of broader.
Example: "Museum" (Q33506) skos:narrower "Art Museum", "History Museum", etc.
'
range: CustodianType
multivalued: true
required: false
custodian_type_related:
slot_uri: skos:related
description: 'References to semantically related custodian types (not hierarchical).
SKOS: related for associative relationships.
Example: "Art Gallery" skos:related "Art Museum" (similar but distinct)
'
range: CustodianType
multivalued: true
required: false
has_applicable_country:
slot_uri: dcterms:spatial
description: "ISO 3166-1 alpha-2 country codes where this custodian type is applicable.\nEmpty list = applicable worldwide.\n\
Non-empty list = country-restricted type (e.g., \"Buitenplaats\" only in NL).\n\nExtracted from Wikidata geographic\
\ restrictions via \nscripts/extract_wikidata_geography.py.\n"
range: string
multivalued: true
required: false
pattern: ^[A-Z]{2}$
created:
slot_uri: schema:dateCreated
description: 'Timestamp when this type classification was added to the schema.
'
range: datetime
modified:
slot_uri: schema:dateModified
description: 'Timestamp when this type classification was last modified.
'
range: datetime
specificity_annotation:
range: SpecificityAnnotation

View file

@ -64,15 +64,7 @@ classes:
slot_usage:
wikidata_entity:
equals_string: Q112796578
description: Wikidata entity for dark archive
has_or_had_access_trigger_event:
description: 'Events that would trigger access to dark archive contents.
Examples: embargo expiration, rights clearance, donor permission,
declassification, disaster recovery activation.
'
range: string
multivalued: true
examples:
@ -81,34 +73,17 @@ classes:
- rights_clearance
- disaster_recovery
embargo_end_date:
description: 'Date when embargo/access restriction ends (if applicable).
NULL if no fixed end date or perpetual restriction.
'
range: date
examples:
- value: '2050-01-01'
description: 50-year embargo ending
preservation_purpose:
description: 'Primary purpose for maintaining this dark archive.
Examples: disaster recovery, format migration source, rights pending,
donor restriction, security classification.
'
range: string
examples:
- value: disaster_recovery
- value: rights_pending
- value: donor_restriction
refers_to_access_policy:
description: 'Link to AccessPolicy defining the access restrictions.
Required for dark archives to document why access is denied.
'
range: AccessPolicy
required: true
has_or_had_custodian_type:

View file

@ -96,12 +96,6 @@ classes:
- template_specificity
slot_usage:
department_id:
slot_uri: dcterms:identifier
description: 'Unique identifier for this department.
Format: URI following NDE Heritage Custodian ontology conventions.
'
range: uriorcurie
required: true
identifier: true
@ -109,18 +103,6 @@ classes:
- value: https://nde.nl/ontology/hc/dept/nationaal-archief-colonial-records
description: Colonial Records Department at National Archives
department_name:
slot_uri: skos:prefLabel
description: 'Official name of the department.
SKOS: prefLabel for preferred lexical label.
Should be the formal name as used in official documents,
organizational charts, and governance records.
'
range: string
required: true
examples:
@ -129,16 +111,6 @@ classes:
- value: Special Collections Department
- value: Preservation and Conservation Department
department_code:
slot_uri: skos:notation
description: 'Short code or has_or_had_abbreviation for the department.
SKOS: notation for coding system identifiers.
Often used in internal systems, budget codes, or reference numbers.
'
range: string
examples:
- value: CRD
@ -148,56 +120,21 @@ classes:
- value: SPECCOLL
description: Special Collections
department_description:
slot_uri: dcterms:description
description: 'Description of the department''s purpose, scope, and activities.
Dublin Core: description for free-text description.
'
range: string
examples:
- value: The Colonial Records Department preserves and provides access to government records from the Dutch colonial
period (1602-1949). Holdings include VOC archives, colonial administration files, and diplomatic correspondence.
mandate:
slot_uri: org:purpose
description: 'Formal mandate, charter, or mission statement for the department.
W3C ORG: purpose for organizational purpose statement.
May reference:
- Legal basis (law, regulation, decree)
- Charter document
- Ministerial order
- Governance decision
'
range: string
examples:
- value: Established by Royal Decree of 1891 to manage and preserve records of the Dutch East Indies administration.
Mandate expanded in 1950 to include all colonial-era records.
parent_department:
slot_uri: org:subOrganizationOf
description: "Parent department in organizational hierarchy.\n\nW3C ORG: subOrganizationOf for hierarchical relationships.\n\
\nExample: \"Paper Conservation Lab\" is sub-department of \n\"Conservation Department\"\n"
range: Department
examples:
- value: https://nde.nl/ontology/hc/dept/nationaal-archief-collections
description: Parent Collections Division
has_or_had_sub_department:
slot_uri: org:hasSubOrganization
description: 'Child departments in organizational hierarchy.
W3C ORG: hasSubOrganization for subordinate units.
'
range: Department
multivalued: true
inlined_as_list: true
@ -207,18 +144,6 @@ classes:
- https://nde.nl/ontology/hc/dept/na-colonial-wic
description: VOC and WIC sub-departments
department_head:
slot_uri: org:headOf
description: 'Person who leads/heads this department.
W3C ORG: headOf (inverse - person heads organization).
Links to PersonObservation representing the department head.
Should include role_title like "Director", "Head", "Chief".
'
range: PersonObservation
examples:
- value:
@ -227,32 +152,10 @@ classes:
role_title: Head of Colonial Records Department
description: Department head
has_or_had_staff_member:
slot_uri: org:hasMember
description: 'Staff members (PersonObservation instances) working in this department.
W3C ORG: hasMember for organizational membership.
Note: department_head is also typically included in staff_members.
'
range: PersonObservation
multivalued: true
inlined_as_list: true
has_or_had_manages_collection:
slot_uri: rico:isManagerOf
description: 'Collections managed by this department.
RiC-O: isManagerOf for management relationships.
Links to Collection instances that this department is responsible for.
Includes both custody and intellectual control.
'
range: Collection
multivalued: true
inlined_as_list: true
@ -262,71 +165,23 @@ classes:
- https://nde.nl/ontology/hc/collection/na-colonial-maps
description: Collections managed by Colonial Records Dept
located_at:
slot_uri: org:basedAt
description: 'Physical location where this department operates.
W3C ORG: basedAt for organizational location.
May be different from main institution location if department
is at a branch or off-site facility.
'
range: uriorcurie
examples:
- value: https://nde.nl/ontology/hc/aux-place/nationaal-archief-building-b
description: Department located in Building B
contact_point:
slot_uri: schema:contactPoint
description: 'Contact information for the department.
Schema.org: contactPoint for contact details.
May include email, phone, web URL, or structured ContactPoint.
'
range: string
examples:
- value: colonial-records@nationaalarchief.nl
- value: https://www.nationaalarchief.nl/onderzoeken/colonial-records
established_date:
slot_uri: schema:foundingDate
description: 'Date when this department was formally established.
Schema.org: foundingDate for establishment date.
'
range: date
examples:
- value: '1891-06-15'
description: Colonial Records Dept established by Royal Decree
dissolved_date:
slot_uri: schema:dissolutionDate
description: 'Date when this department was dissolved or merged.
NULL if department is still active.
Schema.org: dissolutionDate for dissolution date.
'
range: date
refers_to_custodian:
slot_uri: org:unitOf
description: 'The Custodian hub that this department belongs to.
W3C ORG: unitOf for parent organization relationship.
Every Department MUST belong to exactly one Custodian.
'
range: Custodian
required: true
examples:

View file

@ -58,13 +58,7 @@ classes:
slot_usage:
wikidata_entity:
equals_string: Q2860456
description: Wikidata entity for departmental archives (France)
departement_code:
description: 'French département code (2-3 digits).
Examples: 75 (Paris), 13 (Bouches-du-Rhône), 974 (Réunion)
'
range: string
pattern: ^[0-9]{2,3}$
examples:
@ -75,20 +69,12 @@ classes:
- value: '974'
description: La Réunion (overseas)
departement_name:
description: 'Name of the département this archive serves.
'
range: string
examples:
- value: Bouches-du-Rhône
- value: Nord
- value: Seine-Maritime
is_or_was_part_of_archive_series:
description: 'Main archival series held by this departmental archive.
Based on standard French classification.
'
range: string
multivalued: true
examples:
@ -98,17 +84,6 @@ classes:
- M (administration)
- Q (biens nationaux)
has_applicable_country:
description: '**Geographic Restriction**: France (FR) only.
Archives départementales are France-specific institutions serving
département-level administration. All 101 départements have one.
The `rules` section below enforces this constraint during validation.
'
ifabsent: string(FR)
required: true
minimum_cardinality: 1
@ -181,7 +156,6 @@ classes:
wikidata_alignment:
range: WikidataAlignment
inlined: true
description: 'Wikidata alignment: Q2860456 ()'
specificity_annotation:
range: SpecificityAnnotation
inlined: true

View file

@ -65,21 +65,7 @@ classes:
slot_usage:
wikidata_entity:
equals_string: Q244904
description: Wikidata entity for deposit archive
has_or_had_operates_storage_type:
description: '**SPECIAL LINKAGE TO StorageType**
Types of storage facilities operated by this deposit archive.
Links to StorageType instances describing deposit storage characteristics.
Typically includes DEPOSIT_STORAGE type and may include specialized
types for different material categories.
'
range: StorageType
multivalued: true
inlined_as_list: true
@ -91,21 +77,11 @@ classes:
typical_conditions: Standard climate control, high-density shelving
access_frequency: REGULAR
retention_tracking:
description: 'Whether deposit archive tracks retention schedules for deposited materials.
TRUE if active retention management, FALSE if passive storage only.
'
range: boolean
examples:
- value: true
description: Active retention schedule tracking
has_or_had_depositing_organization:
description: 'Types of organizations that typically deposit with this archive.
Examples: government agencies, corporations, universities, courts
'
range: string
multivalued: true
examples:
@ -114,11 +90,6 @@ classes:
- courts
- ministries
disposition_service:
description: 'Disposition services provided by the deposit archive.
Examples: destruction, transfer to permanent archive, return to depositor
'
range: string
multivalued: true
examples:

View file

@ -63,25 +63,7 @@ classes:
slot_usage:
wikidata_entity:
equals_string: Q1224984
description: Wikidata entity for digital archive
has_or_had_operates_platform_type:
description: '**SPECIAL LINKAGE TO DigitalPlatformType**
Types of digital platforms operated by this archive.
Links to DigitalPlatformType instances describing:
- Repository systems (DSpace, Fedora, Archivematica)
- Discovery portals
- Access interfaces
Required for digital archives to document infrastructure.
'
range: DigitalPlatformType
multivalued: true
inlined_as_list: true
@ -93,11 +75,6 @@ classes:
- platform_type_code: DISCOVERY_PORTAL
platform_type_label: Public Access Portal
content_origin:
description: 'Origin of digital content in this archive.
Values: born_digital, digitized, mixed
'
range: string
examples:
- value: born_digital
@ -105,30 +82,15 @@ classes:
- value: mixed
description: Both born-digital and digitized materials
preservation_level:
description: 'Level of digital preservation commitment.
Based on NDSA Levels of Digital Preservation or similar framework.
Values: level_1 (protect), level_2 (know), level_3 (monitor), level_4 (repair)
'
range: string
examples:
- value: level_3
description: NDSA Level 3 - Monitor
has_access_interface_url:
description: 'URL of the primary access interface for the digital archive.
'
range: uri
examples:
- value: https://archive.example.org/access
supported_format:
description: 'File formats supported/preferred by the digital archive.
Examples: PDF/A, TIFF, JPEG2000, WARC, XML, JSON
'
range: string
multivalued: true
examples:

View file

@ -132,12 +132,6 @@ classes:
- was_generated_by
slot_usage:
platform_id:
slot_uri: dcterms:identifier
description: 'Unique identifier for this digital platform instance.
Format: URI following NDE Heritage Custodian ontology conventions.
'
range: uriorcurie
required: true
identifier: true
@ -145,21 +139,6 @@ classes:
- value: https://nde.nl/ontology/hc/platform/rijksmuseum-website
description: Platform ID for Rijksmuseum website
platform_name:
slot_uri: schema:name
description: 'Human-readable name for this digital platform.
Examples:
- "Rijksmuseum Website"
- "Europeana Platform"
- "National Archives Digital Repository"
- "Museum API"
'
range: string
required: true
examples:
@ -168,15 +147,6 @@ classes:
- value: Europeana Platform
description: Aggregation platform name
platform_type:
slot_uri: dcterms:type
description: "Type of digital platform using DigitalPlatformType class hierarchy.\n\n**Class-based Type System** (replaces\
\ DigitalPlatformTypeEnum):\n\nPlatform types are organized into 8 high-level categories:\n- REPOSITORY: Digital\
\ archives, libraries, institutional repositories\n- AGGREGATOR: Aggregation and harvesting platforms \n- DISCOVERY:\
\ Search portals, catalogs, discovery interfaces\n- VIRTUAL_HERITAGE: 3D, VR/AR, immersive experiences\n- RESEARCH:\
\ Research data platforms, annotation tools\n- INTERACTIVE: Crowdsourcing, social, user contribution\n- COMMERCE:\
\ Licensing, print-on-demand, e-commerce\n- AUXILIARY: APIs, mobile apps, specialized tools\n\nEach category contains\
\ multiple concrete subclasses with Wikidata mappings.\nSee DigitalPlatformTypes.yaml for 69 concrete platform types.\n\
\nA platform may have multiple types (e.g., digital archive + aggregator).\n"
range: DigitalPlatformType
multivalued: true
required: false
@ -186,18 +156,6 @@ classes:
- value: AggregationPlatform
description: Aggregation platform (wd:Q7894)
homepage_web_address:
slot_uri: foaf:homepage
description: 'Primary homepage URL for this digital platform.
FOAF: homepage for main web address.
This is the entry point users access to interact with the platform.
Must be a valid HTTP/HTTPS URL.
'
range: uri
required: true
pattern: ^https?://
@ -207,132 +165,33 @@ classes:
- value: https://www.europeana.eu/
description: Europeana homepage
collection_web_address:
slot_uri: dcat:accessURL
description: 'URLs for accessing digital collections on this platform.
DCAT: accessURL for collection access points.
Examples:
- "https://www.rijksmuseum.nl/nl/rijksstudio" (Rijksstudio collections)
- "https://www.europeana.eu/en/collections" (Europeana collections browse)
- "https://archive.org/details/texts" (Internet Archive text collections)
'
range: uri
multivalued: true
examples:
- value: https://www.rijksmuseum.nl/nl/rijksstudio
description: Rijksstudio collection access
inventory_web_address:
slot_uri: dcat:landingPage
description: 'URLs for archival inventories, finding aids, or collection catalogs.
DCAT: landingPage for human-readable collection descriptions.
Examples:
- "https://www.nationaalarchief.nl/onderzoeken/index" (National Archives inventories)
- "https://archief.amsterdam/inventarissen" (Amsterdam City Archives inventories)
'
range: uri
multivalued: true
examples:
- value: https://www.nationaalarchief.nl/onderzoeken/index
description: National Archives finding aids
has_or_had_api_endpoint:
slot_uri: dcat:endpointURL
description: 'API endpoint URL for programmatic access.
DCAT: endpointURL for API base address.
Examples:
- "https://api.europeana.eu/record/v2/" (Europeana REST API)
- "https://www.rijksmuseum.nl/api/" (Rijksmuseum API)
- "https://archive.org/advancedsearch.php" (Internet Archive API)
'
range: uri
examples:
- value: https://api.europeana.eu/record/v2/
description: Europeana REST API endpoint
sparql_endpoint:
slot_uri: dcat:endpointURL
description: 'SPARQL endpoint URL for linked data queries.
DCAT: endpointURL for SPARQL service.
Indicates platform supports RDF triple queries.
Examples:
- "https://api.europeana.eu/sparql" (Europeana SPARQL)
- "https://data.collectienederland.nl/sparql" (Collectie Nederland SPARQL)
'
range: uri
examples:
- value: https://api.europeana.eu/sparql
description: Europeana SPARQL endpoint
oai_pmh_endpoint:
slot_uri: dcat:endpointURL
description: 'OAI-PMH endpoint URL for metadata harvesting.
DCAT: endpointURL for OAI-PMH service.
Supports Open Archives Initiative Protocol for Metadata Harvesting.
Examples:
- "https://www.europeana.eu/oai" (Europeana OAI-PMH)
- "https://repository.example.edu/oai" (Institutional repository OAI-PMH)
'
range: uri
examples:
- value: https://www.europeana.eu/oai
description: Europeana OAI-PMH endpoint
programming_language:
slot_uri: doap:programming-language
description: 'Programming languages used to build this platform.
DOAP: programming-language for software implementation languages.
(DOAP = Description of a Project, W3C vocabulary for software projects)
Examples:
- "Java", "Python", "JavaScript", "Ruby", "PHP"
- "TypeScript", "Go", "Rust"
Useful for technical assessment and developer onboarding.
'
range: string
multivalued: true
examples:
@ -343,78 +202,18 @@ classes:
- value: JavaScript
description: Frontend language
repository_software:
slot_uri: doap:repository
description: 'Repository or content management software powering this platform.
DOAP: repository for software/system identification.
(DOAP = Description of a Project, W3C vocabulary for software projects)
Examples:
- "DSpace 7.x"
- "Fedora Commons 6.x"
- "CollectiveAccess"
- "ResourceSpace"
- "Omeka S"
- "Custom-built"
'
range: string
examples:
- value: DSpace 7.2
description: Digital repository software
has_or_had_powered_by_cm:
slot_uri: crm:P33i_was_used_by
range: CollectionManagementSystem
multivalued: true
required: false
description: "Collection Management System(s) powering this digital platform.\n\nCIDOC-CRM: P33i_was_used_by (inverse\
\ of P33_used_specific_technique).\nThe CMS provides the backend/technique for the digital platform.\n\n**Bidirectional\
\ Relationship**:\n- Forward: DigitalPlatform → CollectionManagementSystem (powered_by_cms)\n- Reverse: CollectionManagementSystem\
\ → DigitalPlatform (powers_platform)\n\n**Use Cases**:\n1. \"What CMS powers this website?\" → Follow powered_by_cms\n\
2. \"What websites use CollectiveAccess?\" → Follow powers_platform\n3. Technical assessment: Determine backend\
\ infrastructure of platforms\n\n**Notes**:\n- Multivalued: Platform may use multiple CMS (e.g., hybrid architecture)\n\
- If null, CMS may be unknown or platform is custom-built\n- Distinct from repository_software: CMS is the full\
\ system, \n repository_software is the underlying software package\n"
examples:
- value: https://nde.nl/ontology/hc/cms/rijksmuseum-adlib
description: Platform powered by Rijksmuseum's Adlib CMS
iiif_support:
slot_uri: dcterms:conformsTo
description: 'Does this platform support IIIF (International Image Interoperability Framework)?
Dublin Core: conformsTo indicates standard compliance.
When true, implies conformance to IIIF API specifications:
- https://iiif.io/api/image/3/ (Image API 3.0)
- https://iiif.io/api/presentation/3/ (Presentation API 3.0)
IIIF enables:
- Image API (deep zoom, tiles)
- Presentation API (manifests, viewers)
- Content Search API (full-text search)
- Authentication API (access control)
Boolean true/false or null if unknown.
'
range: boolean
examples:
- value: true
@ -422,27 +221,6 @@ classes:
- value: false
description: No IIIF support
linked_data:
slot_uri: dcterms:conformsTo
description: 'Does this platform provide linked open data (RDF)?
Dublin Core: conformsTo indicates LOD compliance.
Linked data features:
- RDF triples (Turtle, JSON-LD, N-Triples)
- SPARQL endpoint
- Dereferenceable URIs
- Linked to external vocabularies (Wikidata, Getty, etc.)
Boolean true/false or null if unknown.
'
range: boolean
examples:
- value: true
@ -450,32 +228,6 @@ classes:
- value: false
description: No linked data
metadata_standard:
slot_uri: dcterms:conformsTo
description: 'Metadata standards implemented by this platform.
Dublin Core: conformsTo for standard compliance.
Examples:
- "Dublin Core"
- "MARC21"
- "EAD (Encoded Archival Description)"
- "LIDO"
- "MODS"
- "EDM (Europeana Data Model)"
- "Schema.org"
- "CIDOC-CRM"
'
range: string
multivalued: true
examples:
@ -484,28 +236,6 @@ classes:
- value: MARC21
description: Library catalog standard
has_or_had_access_restriction:
slot_uri: dcterms:accessRights
description: 'Access restrictions or rights management for this platform.
Dublin Core: accessRights for access control.
Examples:
- "Public access"
- "Registration required"
- "Institutional access only"
- "API key required"
- "Subscription-based"
- "Restricted to researchers"
'
range: string
examples:
- value: Public access
@ -513,22 +243,6 @@ classes:
- value: API key required
description: Developer registration needed
has_auxiliary_platform:
slot_uri: dcterms:hasPart
description: "Subordinate or project-based digital platforms associated with this main DigitalPlatform.\n\n**DCAT\
\ Alignment**:\n\n`dcterms:hasPart` - Links main catalog/platform to sub-catalogs.\n\n**Hierarchical Pattern - Mirrors\
\ CustodianName/CustodianAppellation**:\n\n- DigitalPlatform (main entry point) → primary foaf:homepage\n- AuxiliaryDigitalPlatform\
\ (project sites) → secondary platforms\n\nLike CustodianAppellation provides alternative names for CustodianName,\n\
AuxiliaryDigitalPlatform provides subordinate platforms for DigitalPlatform.\n\n**Use Cases**:\n\n1. **Project Websites**:\
\ Research project portals, grant-funded sites\n2. **Exhibition Microsites**: Temporary exhibition portals, virtual\
\ tours\n3. **APIs and Tools**: Developer APIs, collection browsers, mobile apps\n4. **Legacy/Archived**: Previous\
\ website versions, deprecated systems\n5. **Educational Portals**: Teacher resources, learning modules\n\n**Example\
\ - Rijksmuseum**:\n```yaml\nDigitalPlatform:\n platform_name: \"Rijksmuseum Website\"\n homepage_web_address:\
\ \"https://www.rijksmuseum.nl/\"\n has_auxiliary_platform:\n - platform_name: \"Rijksstudio\"\n auxiliary_platform_type:\
\ PROJECT_WEBSITE\n - platform_name: \"Rijksmuseum Data API\"\n auxiliary_platform_type: API_ENDPOINT\n\
\ - platform_name: \"Night Watch Experience\"\n auxiliary_platform_type: EXHIBITION_MICROSITE\n```\n\n**Temporal\
\ Considerations**:\n\nAuxiliary platforms often have finite lifespans:\n- Exhibition microsite opens/closes with\
\ exhibition\n- Project portals run during funding period\n- Legacy platforms archived but accessible\n\nEach AuxiliaryDigitalPlatform\
\ tracks has_or_had_archival_status and archived_at.\n"
range: AuxiliaryDigitalPlatform
multivalued: true
inlined_as_list: true
@ -543,25 +257,6 @@ classes:
platform_url: https://data.rijksmuseum.nl/
description: Rijksmuseum subordinate digital platforms
temporal_extent:
slot_uri: crm:P4_has_time-span
description: 'Temporal period during which this platform was operational.
CIDOC-CRM: P4_has_time-span for platform lifecycle.
Use when:
- Platform launched (begin_of_the_begin)
- Platform shut down (end_of_the_end)
- Platform migrated to new URL
For current platforms, leave end dates null.
'
range: TimeSpan
examples:
- value:
@ -569,80 +264,19 @@ classes:
end_of_the_begin: '2008-11-20'
description: Europeana launched November 20, 2008
was_derived_from:
slot_uri: prov:wasDerivedFrom
description: 'CustodianObservation(s) documenting this platform.
PROV-O: wasDerivedFrom for observation provenance.
Examples:
- Website screenshot observation
- API documentation observation
- Technical specification observation
'
range: CustodianObservation
multivalued: true
required: false
was_generated_by:
slot_uri: prov:wasGeneratedBy
description: 'ReconstructionActivity that created this platform record.
PROV-O: wasGeneratedBy for generation activity.
If present: Platform record created through formal reconstruction
If null: Platform record extracted directly
'
range: ReconstructionActivity
required: false
refers_to_custodian:
slot_uri: dcterms:references
description: 'The Custodian hub that operates this digital platform (REQUIRED).
Links the digital platform to the custodian it represents.
Dublin Core: references for entity reference.
'
range: Custodian
required: true
examples:
- value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
description: Rijksmuseum custodian hub
preservation_level:
slot_uri: premis:policy
description: 'Digital preservation commitment level for this platform.
PREMIS: policy links to PreservationPolicy describing preservation actions.
Values indicate the level of digital preservation applied:
- "full_preservation": Complete digital preservation with format migration
- "bit_preservation": Bit-level integrity preservation only
- "access_only": No formal preservation commitment
- "dark_archive": Preserved but not publicly accessible
See Library of Congress PREMIS preservation levels:
http://id.loc.gov/vocabulary/preservation/preservationLevelRole
'
range: string
required: false
examples:
@ -651,29 +285,6 @@ classes:
- value: bit_preservation
description: Bit-level integrity preservation only
storage_location:
slot_uri: premis:storedAt
description: 'Primary storage location or infrastructure for digital content.
PREMIS: storedAt links to StorageLocation describing where content is stored.
Examples:
- "AWS S3 eu-west-1" (cloud storage)
- "On-premises data center, Amsterdam" (physical infrastructure)
- "DANS Data Archive" (trusted digital repository)
- "Internet Archive" (third-party preservation service)
Note: For detailed storage information, use auxiliary properties
or link to a dedicated StorageLocation entity.
'
range: string
required: false
examples:
@ -682,82 +293,26 @@ classes:
- value: DANS Data Archive
description: Dutch trusted digital repository
fixity_check_date:
slot_uri: premis:fixity
description: "Date of most recent fixity/checksum verification.\n\nPREMIS: fixity property indicates integrity verification.\n\
\nRegular fixity checks ensure digital content has not been \ncorrupted or altered. This date indicates when the\
\ last \nverification occurred.\n\nBest practices recommend:\n- Monthly fixity checks for actively accessed content\n\
- Quarterly checks for archived content\n- Immediate verification after any storage migration\n"
range: date
required: false
examples:
- value: '2025-11-15'
description: Last fixity check date
serves_finding_aid:
slot_uri: rico:isOrWasProviderOf
range: uriorcurie
multivalued: true
inlined_as_list: true
required: false
description: 'Finding aids hosted/served by this digital platform.
**INVERSE RELATIONSHIP**:
- Forward: FindingAid.served_by → DigitalPlatform (finding aid is served by platform)
- Inverse: DigitalPlatform.serves_finding_aids → FindingAid[] (platform serves finding aids)
**RiC-O ALIGNMENT**:
`rico:isOrWasProviderOf` - The agent (platform) provides the finding aid.
**USE CASES**:
1. "What finding aids are available on this platform?" → Follow serves_finding_aids
2. "Which platforms host EAD finding aids?" → Query platforms with EAD-format finding aids
3. Platform inventory: Map all finding aids served by each digital infrastructure
**EXAMPLES**:
- National Archives website serves collection guides and inventories
- Regional archive portal serves EAD-encoded finding aids
'
examples:
- value: https://nde.nl/ontology/hc/finding-aid/na/voc-inventory
description: VOC Archives inventory finding aid
- value: https://nde.nl/ontology/hc/finding-aid/rm/paintings-catalogue
description: Rijksmuseum paintings catalogue
has_or_had_data_service_endpoint:
slot_uri: dcat:servesDataset
range: DataServiceEndpoint
multivalued: true
inlined_as_list: true
required: false
description: "Data service endpoints exposed by this digital platform.\n\n**DCAT ALIGNMENT**:\n`dcat:servesDataset`\
\ - Links a DataService to the datasets it serves.\n\n**ENDPOINT TYPES**:\nThis polymorphic slot can contain any\
\ subclass of DataServiceEndpoint:\n- OAIPMHEndpoint: OAI-PMH metadata harvesting endpoints\n- SearchAPI: REST/JSON\
\ search API endpoints\n- METSAPI: METS document retrieval endpoints\n- FileAPI: File/asset download endpoints\n\
- IIPImageServer: IIP/IIIF image server endpoints\n- EADDownload: EAD finding aid download endpoints\n\n**USE CASES**:\n\
1. \"What APIs does this platform expose?\" → Follow data_service_endpoints\n2. \"Which platforms support OAI-PMH?\"\
\ → Filter by OAIPMHEndpoint type\n3. Technical integration: Discover all programmatic access points\n4. Data harvesting:\
\ Find endpoints for metadata aggregation\n\n**RELATIONSHIP TO SIMPLE SLOTS**:\n- `api_endpoint`, `sparql_endpoint`,\
\ `oai_pmh_endpoint` (simple URI slots) provide quick access\n- `data_service_endpoints` provides FULL documentation\
\ of each endpoint with:\n - Protocol details and versions\n - Authentication requirements\n - Rate limits and\
\ usage policies\n - Response formats and metadata standards\n - Discovery provenance\n\n**EXAMPLE - Nationaal\
\ Archief**:\n```yaml\nhas_or_had_data_service_endpoint:\n - endpoint_type: OAIPMHEndpoint\n endpoint_name:\
\ \"NA OAI-PMH Endpoint\"\n endpoint_url: \"https://www.nationaalarchief.nl/onderzoeken/oai-pmh\"\n protocol_version:\
\ \"2.0\"\n metadata_prefixes: [\"oai_dc\", \"ese\", \"edm\"]\n - endpoint_type: SearchAPI\n endpoint_name:\
\ \"NA Search API\"\n endpoint_url: \"https://www.nationaalarchief.nl/onderzoeken/api/zoeken\"\n http_method:\
\ POST\n response_formats: [\"application/json\"]\n - endpoint_type: IIPImageServer\n endpoint_name: \"NA\
\ Image Server\"\n endpoint_url: \"https://service.archief.nl/iipsrv\"\n server_software: \"IIPImage Server\"\
\n iiif_image_api_version: \"3.0\"\n```\n"
examples:
- value:
- endpoint_id: https://nde.nl/ontology/hc/endpoint/na-oai-pmh

View file

@ -183,18 +183,10 @@ classes:
platform_type_id:
identifier: true
required: true
description: Unique identifier for this platform type
platform_type_name:
required: true
description: 'Canonical name for this platform type.
Used for display and cross-referencing.
'
platform_type_category:
required: false
description: "High-level category for grouping related platform types.\nValues: REPOSITORY, AGGREGATOR, DISCOVERY,\
\ VIRTUAL_HERITAGE, \nRESEARCH, INTERACTIVE, COMMERCE, AUXILIARY\n"
specificity_annotation:
range: SpecificityAnnotation
inlined: true

View file

@ -66,21 +66,7 @@ classes:
slot_usage:
wikidata_entity:
equals_string: Q112796779
description: Wikidata entity for dim archive
default_access_policy:
description: '**SPECIAL LINKAGE TO AccessPolicy**
Default access policy for this dim archive.
Documents the standard restrictions that make this a "dim" archive.
Individual Collections may have more specific policies that override
or supplement this default policy.
'
range: AccessPolicy
required: true
examples:
@ -91,11 +77,6 @@ classes:
eligible_users: Credentialed academic researchers
access_process: Application and approval required
restriction_category:
description: 'Categories of restrictions applied in this dim archive.
Examples: user_based, content_based, process_based, format_based
'
range: string
multivalued: true
examples:
@ -104,20 +85,10 @@ classes:
- process_based
description: Researcher credentials + approval process
has_access_application_url:
description: 'URL for access application/request process.
Where users apply for access to restricted materials.
'
range: uri
examples:
- value: https://archive.example.org/request-access
typical_approval_time:
description: 'Typical time for access approval/processing.
Examples: "same day", "2-3 business days", "2-4 weeks"
'
range: string
examples:
- value: 2-3 business days

View file

@ -60,52 +60,26 @@ classes:
slot_usage:
wikidata_entity:
equals_string: Q11906839
description: Wikidata entity for diocesan archive
diocese_name:
description: 'Name of the diocese whose records are held.
Example: Diocese of Utrecht, Diocese of Münster
'
range: string
required: true
examples:
- value: Diocese of Utrecht
- value: Bistum Münster
has_archdiocese_name:
description: 'Name of the archdiocese this diocese belongs to (if applicable).
Not all dioceses are part of an archdiocese.
'
range: string
examples:
- value: Archdiocese of Utrecht
ecclesiastical_province:
description: 'Ecclesiastical province containing this diocese.
Grouping of dioceses under a metropolitan archbishop.
'
range: string
examples:
- value: Province of Utrecht
founding_date_diocese:
description: 'Date the diocese was established (may differ from archive founding).
Many European dioceses date to medieval or early modern period.
'
range: date
examples:
- value: '0695-01-01'
description: Diocese of Utrecht established ~695
canonical_access_rule:
description: 'Whether canon law access rules apply to this archive.
If true, some materials may require bishop''s permission.
'
range: boolean
examples:
- value: true

View file

@ -119,11 +119,6 @@ classes:
identifier: true
required: true
range: uriorcurie
description: 'Unique identifier for this donation scheme.
Format: https://nde.nl/ontology/hc/donation-scheme/{custodian-slug}/{scheme-slug}
'
pattern: ^https://nde\.nl/ontology/hc/donation-scheme/[a-z0-9-]+/[a-z0-9-]+$
examples:
- value: https://nde.nl/ontology/hc/donation-scheme/rijksmuseum/vrienden
@ -133,17 +128,8 @@ classes:
- value: https://nde.nl/ontology/hc/donation-scheme/nhm-london/patrons-silver
description: Natural History Museum Silver Patron tier
scheme_type:
slot_uri: dcterms:type
required: true
range: DonationSchemeTypeEnum
description: 'Category of donation scheme from DonationSchemeTypeEnum.
Enables filtering and comparison of schemes across institutions.
See enum documentation for full category list with ~50 types.
'
examples:
- value: MEMBERSHIP_FRIENDS
description: Standard friends/membership scheme
@ -154,14 +140,8 @@ classes:
- value: LEGACY_BEQUEST
description: Gift through will/estate
scheme_name:
slot_uri: schema:name
required: true
range: string
description: 'Human-readable name of the donation scheme as presented by institution.
Preserve original language and branding.
'
examples:
- value: Rijksmuseum Vrienden
description: Dutch museum friends scheme
@ -172,13 +152,7 @@ classes:
- value: Amis du Louvre
description: French museum friends society
scheme_description:
slot_uri: schema:description
range: string
description: 'Description of the scheme including purpose, requirements, and process.
Extract from institutional website or promotional materials.
'
examples:
- value: Become a Friend of the Rijksmuseum and enjoy unlimited free entry, exclusive member events, and a 10% discount
in the museum shop.
@ -187,13 +161,7 @@ classes:
and bookplate.
description: Adoption scheme description
minimum_amount:
slot_uri: schema:minPrice
range: decimal
description: 'Minimum donation amount required to participate in this scheme.
For tiered schemes, use the entry-level amount.
'
examples:
- value: 60
description: €60 annual membership
@ -202,26 +170,14 @@ classes:
- value: 1500
description: £1,500 patron circle entry
maximum_amount:
slot_uri: schema:maxPrice
range: decimal
description: 'Maximum amount for this scheme tier (if applicable).
Helps distinguish between tiered patron levels.
'
examples:
- value: 4999
description: Silver tier up to £4,999
- value: 12000
description: Gold tier up to £12,000
currency:
slot_uri: schema:priceCurrency
range: string
description: 'ISO 4217 currency code for the amount fields.
Required if minimum_amount or maximum_amount is specified.
'
examples:
- value: EUR
description: Euro
@ -231,11 +187,6 @@ classes:
description: US Dollar
payment_frequency:
range: string
description: 'How often payment is made for recurring schemes.
Use standardized values for queryability.
'
examples:
- value: one-time
description: Single donation
@ -246,14 +197,8 @@ classes:
- value: life
description: One-time payment for lifetime benefits
benefit:
slot_uri: schema:itemOffered
range: string
multivalued: true
description: 'List of benefits provided to donors participating in this scheme.
Extract key benefits as discrete items.
'
examples:
- value: Free unlimited admission
description: Entry benefit
@ -266,27 +211,15 @@ classes:
- value: Bookplate with donor name
description: Recognition benefit
offered_by:
slot_uri: schema:offeredBy
required: true
range: uriorcurie
description: 'Heritage custodian that offers this donation scheme.
Links to HeritageCustodian entity.
'
examples:
- value: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum
description: Rijksmuseum
- value: https://nde.nl/ontology/hc/custodian/uk/british-library
description: British Library
scheme_url:
slot_uri: schema:url
range: uri
description: 'URL to the donation scheme webpage on institutional website.
Primary source for extraction and verification.
'
examples:
- value: https://www.rijksmuseum.nl/nl/steun-het-rijksmuseum/word-vriend
description: Rijksmuseum Vrienden page
@ -294,11 +227,6 @@ classes:
description: British Library adoption page
tax_deductible:
range: boolean
description: 'Whether donations to this scheme are tax-deductible for donors.
Jurisdiction-specific; document applicable scheme in tax_scheme.
'
examples:
- value: true
description: Donations are tax-deductible
@ -306,11 +234,6 @@ classes:
description: Not tax-deductible (e.g., membership with significant benefits)
tax_scheme:
range: string
description: 'Tax scheme(s) applicable to donations. Multiple may apply.
Document country-specific scheme names.
'
examples:
- value: ANBI
description: Dutch general public benefit institution
@ -323,39 +246,15 @@ classes:
- value: Gemeinnützigkeit
description: German charitable status
contact_email:
slot_uri: schema:email
range: string
description: 'Contact email for inquiries about this donation scheme.
May be general development office or scheme-specific.
'
examples:
- value: vrienden@rijksmuseum.nl
description: Friends scheme contact
- value: development@bl.uk
description: Development office
observed_in:
slot_uri: prov:wasDerivedFrom
required: true
range: uriorcurie
description: 'WebObservation documenting where this scheme was found.
Links scheme to its provenance:
- Source URL
- Retrieval timestamp
- Extraction method
- Original content
PROV-O: prov:wasDerivedFrom links Entity to Activity
'
examples:
- value: https://nde.nl/ontology/hc/observation/web/2026-01-01/rijksmuseum-support
description: Observation of Rijksmuseum support page
@ -363,25 +262,6 @@ classes:
range: float
minimum_value: 0.0
maximum_value: 1.0
description: 'Confidence score for this scheme extraction (0.0-1.0).
Higher confidence for clearly presented schemes with explicit
pricing and benefits; lower for schemes requiring inference.
Interpretation:
- 0.9-1.0: Clear pricing, benefits, and scheme structure
- 0.7-0.9: Most details clear, some inference required
- 0.5-0.7: Partial information, verification recommended
- <0.5: Uncertain, needs manual verification
'
examples:
- value: 0.95
description: Clear scheme page with pricing table

View file

@ -292,12 +292,7 @@ classes:
'
range: uri
slot_usage:
protocol:
description: EAD downloads use HTTP GET (REST-like). Uses DataServiceProtocolEnum.REST.
response_format:
description: 'EAD is always XML.
'
ifabsent: string(application/xml)
specificity_annotation:
range: SpecificityAnnotation

View file

@ -100,12 +100,6 @@ classes:
- workshop_space
slot_usage:
education_center_id:
slot_uri: dcterms:identifier
description: 'Unique identifier for this education center.
Format: URI following NDE Heritage Custodian ontology conventions.
'
range: uriorcurie
required: true
identifier: true
@ -113,13 +107,6 @@ classes:
- value: https://nde.nl/ontology/hc/aux/rijksmuseum-education
description: Rijksmuseum education center
education_center_name:
slot_uri: skos:prefLabel
description: 'Name of this education center.
SKOS: prefLabel for preferred name.
'
range: string
required: true
examples:
@ -130,52 +117,12 @@ classes:
- value: KB Workshops & Trainingen
description: Library education facility
education_center_description:
slot_uri: dcterms:description
description: 'Free-text description of this education center.
Include:
- Educational mission
- Types of programs offered
- Facilities available
- Target audiences
'
range: string
examples:
- value: Dedicated education facility offering school programs, family workshops, and teacher training. Features 4
classroom spaces and hands-on workshop areas.
description: Museum education center
education_type_classification:
slot_uri: dcterms:type
description: 'Education facility type from EducationProviderTypeEnum.
EducationProviderTypeEnum contains 208 Wikidata-sourced types.
Relevant education facility types include:
- EDUCATION_CENTER (Q1376987)
- SCHOOL (Q3914)
- RESOURCE_CENTER (Q578023)
- ADULT_EDUCATION (Q159334)
- TRAINING_CENTER
- WORKSHOP_FACILITY
See EducationProviderTypeEnum for complete list.
'
range: EducationProviderTypeEnum
required: true
examples:
@ -184,30 +131,6 @@ classes:
- value: RESOURCE_CENTER
description: Learning resource facility
target_audience:
slot_uri: schema:audience
description: 'Target audiences served by this education center.
Schema.org: audience for intended recipients.
Common audiences:
- Primary school students
- Secondary school students
- University students
- Families with children
- Adult learners
- Teachers/educators
- Special needs groups
'
range: string
multivalued: true
examples:
@ -218,13 +141,6 @@ classes:
- value: Adult learners
description: Adults
programs_offered:
slot_uri: schema:hasOfferCatalog
description: 'Educational programs offered at this center.
Schema.org: hasOfferCatalog for program listings.
'
range: string
multivalued: true
examples:
@ -237,75 +153,31 @@ classes:
- value: Genealogy workshops
description: Specialized workshops
classroom_count:
slot_uri: schema:numberOfRooms
description: 'Number of classroom/teaching spaces available.
Schema.org: numberOfRooms for room count.
'
range: integer
examples:
- value: 4
description: 4 classrooms
workshop_space:
slot_uri: schema:amenityFeature
description: 'Number of hands-on workshop spaces.
Separate from regular classrooms - for craft activities,
experiments, interactive learning.
'
range: integer
examples:
- value: 2
description: 2 workshop spaces
max_group_size:
slot_uri: schema:maximumAttendeeCapacity
description: 'Maximum group size that can be accommodated.
Schema.org: maximumAttendeeCapacity for capacity.
'
range: integer
examples:
- value: 30
description: Max 30 students
has_av_equipment:
slot_uri: schema:amenityFeature
description: 'Whether education center has audiovisual equipment.
Projectors, screens, sound systems, interactive displays.
'
range: boolean
examples:
- value: true
description: Has AV equipment
has_hands_on_facility:
slot_uri: schema:amenityFeature
description: 'Whether center has hands-on learning facilities.
Craft tables, science equipment, art supplies, etc.
'
range: boolean
examples:
- value: true
description: Has hands-on facilities
has_or_had_accessibility_feature:
slot_uri: schema:accessibilityFeature
description: 'Accessibility features for inclusive education.
Schema.org: accessibilityFeature for accessibility.
'
range: string
multivalued: true
examples:
@ -316,54 +188,30 @@ classes:
- value: Tactile materials
description: Visual impairment support
has_or_had_annual_participant_count:
slot_uri: schema:attendee
description: 'Approximate number of annual program participants.
'
range: integer
examples:
- value: 50000
description: 50,000 participants/year
staff_count:
slot_uri: schema:numberOfEmployees
description: 'Number of education staff.
'
range: integer
examples:
- value: 8
description: Education team size
booking_required:
slot_uri: schema:reservationRequired
description: 'Whether advance booking is required for programs.
'
range: boolean
examples:
- value: true
description: Booking required
education_contact_email:
slot_uri: schema:email
description: 'Contact email for education bookings.
'
range: string
examples:
- value: educatie@rijksmuseum.nl
description: Education contact
was_derived_from:
slot_uri: prov:wasDerivedFrom
description: 'CustodianObservation(s) from which this education center record was derived.
'
range: CustodianObservation
multivalued: true
required: false
was_generated_by:
slot_uri: prov:wasGeneratedBy
description: 'ReconstructionActivity that generated this education center record.
'
range: ReconstructionActivity
required: false
has_or_had_custodian_type:

View file

@ -85,12 +85,6 @@ classes:
- template_specificity
slot_usage:
institution_name:
description: 'Name of the educational institution.
Schema.org: schema:name of schema:EducationalOrganization
'
slot_uri: schema:educationalCredentialAwarded
range: string
required: true
examples:
@ -101,21 +95,11 @@ classes:
- value: Reinwardt Academy
description: Heritage-focused institution
institution_linkedin_url:
description: 'LinkedIn school/university page URL for the institution.
'
slot_uri: schema:url
range: uri
pattern: ^https://www\.linkedin\.com/school/[a-z0-9-]+/?$
examples:
- value: https://www.linkedin.com/school/university-of-amsterdam
degree_name:
description: 'Full degree name as displayed on LinkedIn.
May include degree type, field, and specialization combined.
'
slot_uri: schema:credentialCategory
range: string
examples:
- value: Bachelor of Education - BEd, Elementary Education and Teaching
@ -125,10 +109,6 @@ classes:
- value: PhD in Museology
description: Doctoral degree with specialization
field_of_study:
description: 'Primary field of study or major (extracted from degree_name if possible).
'
slot_uri: schema:educationalProgramMode
range: string
examples:
- value: Elementary Education and Teaching
@ -138,14 +118,6 @@ classes:
- value: Archival Science
description: Heritage information management
education_years_raw:
description: 'Raw year range as extracted from LinkedIn.
Format: "YYYY - YYYY" or "YYYY" for ongoing.
Preserved for provenance; use parsed fields for queries.
'
slot_uri: schema:description
range: string
examples:
- value: 2013 - 2017
@ -153,10 +125,6 @@ classes:
- value: '2023'
description: Ongoing education (current student)
education_start_year:
description: 'Year when education began.
'
slot_uri: schema:startDate
range: integer
minimum_value: 1900
maximum_value: 2100
@ -164,12 +132,6 @@ classes:
- value: 2013
description: Started in 2013
education_end_year:
description: 'Year when education completed.
Null/absent indicates ongoing education.
'
slot_uri: schema:endDate
range: integer
minimum_value: 1900
maximum_value: 2100
@ -179,30 +141,12 @@ classes:
- value: null
description: Ongoing (current student)
has_or_had_activity_or_society_membership:
description: 'Activities and societies during education.
LinkedIn field for extracurricular involvement.
'
slot_uri: schema:member
range: string
examples:
- value: Student Museum Association, Heritage Preservation Club
education_description:
description: 'Additional description of educational experience.
May include thesis topics, research focus, etc.
'
slot_uri: schema:description
range: string
heritage_education:
description: 'Whether this is heritage-related education.
True for museology, archival science, conservation, art history, etc.
'
slot_uri: hc:heritageRelevant
range: boolean
ifabsent: 'false'
comments:

View file

@ -108,11 +108,6 @@ classes:
identifier: true
required: true
range: uriorcurie
description: 'Unique identifier for this encompassing body.
Format: https://nde.nl/ontology/hc/encompassing-body/{type}/{slug}
'
pattern: ^https://nde\.nl/ontology/hc/encompassing-body/[a-z-]+/[a-z0-9-]+$
examples:
- value: https://nde.nl/ontology/hc/encompassing-body/umbrella/nl-ministry-ocw
@ -120,14 +115,8 @@ classes:
- value: https://nde.nl/ontology/hc/encompassing-body/network/digital-heritage-nl
description: URI for Digital Heritage Network
organization_name:
slot_uri: skos:prefLabel
required: true
range: string
description: 'Official name of the encompassing organization.
SKOS: prefLabel for preferred label.
'
examples:
- value: Ministerie van Onderwijs, Cultuur en Wetenschap
description: Dutch Ministry of Education, Culture and Science
@ -136,11 +125,6 @@ classes:
organization_type:
required: true
range: EncompassingBodyTypeEnum
description: 'Type of encompassing body (UMBRELLA, NETWORK, CONSORTIUM).
Determines governance model and relationship nature.
'
examples:
- value: UMBRELLA
description: Legal parent organization
@ -148,75 +132,34 @@ classes:
description: Service provider network
description:
range: string
description: 'Textual description of the encompassing body''s role, mandate, and scope.
'
examples:
- value: The Ministry of OCW oversees national cultural heritage institutions including the National Archives, Rijksmuseum,
and National Library.
organization_legal_form:
slot_uri: org:classification
range: string
description: 'Legal form of the encompassing organization (ministry, foundation, association, etc.).
W3C ORG: classification for organizational type classification.
'
examples:
- value: Government ministry
- value: Non-profit foundation
- value: Professional association
founding_date:
slot_uri: schema:foundingDate
range: date
description: 'Date when the encompassing organization was established.
Schema.org: foundingDate for organization establishment.
'
examples:
- value: '1965-07-01'
description: Ministry established July 1965
dissolution_date:
slot_uri: schema:dissolutionDate
range: date
description: 'Date when the encompassing organization was dissolved (if applicable).
NULL if still active.
'
examples:
- value: '2020-12-31'
description: Consortium dissolved end of 2020
has_or_had_member_custodian:
slot_uri: org:hasSubOrganization
range: uriorcurie
multivalued: true
inlined_as_list: true
description: "Heritage custodians that are members of or governed by this encompassing body.\n\n**URI References**:\
\ URIs to Custodian entities (avoids circular dependency).\nFormat: https://nde.nl/ontology/hc/{country}/{institution-slug}\n\
\n**W3C ORG Property**: `org:hasSubOrganization` - \"Represents hierarchical \ncontainment of Organizations or OrganizationalUnits;\
\ indicates an Organization \nwhich is a sub-part or child of this Organization.\"\n- Domain: org:Organization (EncompassingBody)\n\
- Range: org:Organization (Custodian)\n- Inverse: `org:subOrganizationOf` (from Custodian)\n\n**Relationship Types\
\ by EncompassingBody Type**:\n- **UmbrellaOrganisation**: Legal subordination (ministry → national archives)\n\
- **NetworkOrganisation**: Service membership (network → participating museums)\n- **Consortium**: Collaborative\
\ participation (consortium → member libraries)\n\n**Temporal Dynamics**:\nMembership can change over time - custodians\
\ join/leave networks, ministries\nreorganize, consortia evolve. Track changes with temporal validity.\n"
examples:
- value: https://nde.nl/ontology/hc/nl/nationaal-archief
description: URI reference to National Archives
governance_authority:
range: string
description: 'Nature and extent of governance authority this body exercises over members.
**UmbrellaOrganisation**: Strong authority (sets policy, approves budgets, appoints directors)
**NetworkOrganisation**: Service authority (defines service standards, coordinates activities)
**Consortium**: Coordination authority (facilitates collaboration, no direct control)
'
examples:
- value: Ministry exercises budgetary oversight and appoints institutional directors.
description: Umbrella authority example
@ -225,14 +168,6 @@ classes:
service_offering:
range: string
multivalued: true
description: 'Services provided by this encompassing body to member custodians.
**Primarily for NetworkOrganisation and Consortium types**.
UmbrellaOrganisations typically provide governance, not services.
'
examples:
- value: Digital preservation infrastructure
- value: Shared cataloging platform
@ -240,115 +175,27 @@ classes:
- value: Bulk licensing negotiations
membership_criteria:
range: string
description: 'Criteria for custodians to become members of this encompassing body.
**UmbrellaOrganisation**: Defined by law/statute (non-voluntary)
**NetworkOrganisation**: Service eligibility criteria (voluntary)
**Consortium**: Membership agreement criteria (voluntary)
'
examples:
- value: Dutch government heritage institutions established by law
description: Umbrella criteria (non-voluntary)
- value: Museums with digitization programs seeking preservation services
description: Network criteria (voluntary)
external_identifier:
slot_uri: dcterms:identifier
range: uriorcurie
multivalued: true
inlined_as_list: true
description: 'External identifiers for this encompassing organization (Wikidata, VIAF, etc.).
**URI Format**: Use standard identifier URIs:
- Wikidata: http://www.wikidata.org/entity/Q2294910
- VIAF: https://viaf.org/viaf/123456789
- ISNI: https://isni.org/isni/0000000123456789
'
examples:
- value: http://www.wikidata.org/entity/Q2294910
description: Wikidata URI for Dutch Ministry OCW
website:
slot_uri: schema:url
range: uri
description: 'Official website of the encompassing organization.
'
examples:
- value: https://www.rijksoverheid.nl/ministeries/ministerie-van-onderwijs-cultuur-en-wetenschap
description: Ministry OCW website
has_or_had_project:
slot_uri: org:hasSubOrganization
range: Project
multivalued: true
inlined_as_list: true
description: 'Projects and initiatives run by this encompassing body.
Links EncompassingBody (organizer) to Project instances that represent
time-limited initiatives in which Custodians participate.
**Inverse of Project.organizing_body**:
- EncompassingBody → projects → Project[]
- Project → organizing_body → EncompassingBody
**Navigation Pattern**:
From EncompassingBody, access all projects it has run over time.
From Project, access the organizing body and participating custodians.
**Examples**:
- NDE (NetworkOrganisation) runs: Versnellen 2024, Versnellen 2023, ...
- OCLC (Cooperative) runs: Linked Data Initiative, WorldCat Migration, ...
- Europeana (NetworkOrganisation) runs: Common Culture, Aggregation 2024, ...
**Why on EncompassingBody?**:
Projects are collaborative initiatives that coordinate MULTIPLE custodians.
They are typically run by networks, cooperatives, or consortia - not by
individual custodians. The organizing body provides the framework, funding,
and coordination for the project.
**Ontology Alignment**:
Uses W3C ORG `org:hasSubOrganization` because Project is modeled as
`org:OrganizationalCollaboration` (a subclass of `org:Organization`).
This property indicates hierarchical containment of Organizations.
**Temporal Dynamics**:
Projects have defined lifecycles (PROPOSED → IN_PROGRESS → COMPLETED).
EncompassingBodies may run multiple projects simultaneously or sequentially.
Track historical projects for organizational memory.
'
examples:
- value:
- project_id: https://nde.nl/ontology/hc/project/nde/versnellen-2024
@ -359,15 +206,9 @@ classes:
project_status: COMPLETED
description: NDE's acceleration programs
has_or_had_area_served:
slot_uri: schema:areaServed
range: string
multivalued: true
inlined_as_list: true
description: 'Geographic areas where this encompassing body operates.
Use ISO codes (NL, DE-BY, EU) or descriptive strings (GLOBAL).
'
examples:
- value: NL
description: Netherlands national coverage
@ -376,13 +217,7 @@ classes:
- value: GLOBAL
description: Worldwide operation
legal_jurisdiction:
slot_uri: gleif_base:hasLegalJurisdiction
range: Jurisdiction
description: 'Legal jurisdiction for umbrella organizations.
Primarily used by UmbrellaOrganisation to define legal scope.
'
specificity_annotation:
range: SpecificityAnnotation
inlined: true

View file

@ -110,12 +110,6 @@ classes:
- zone_type
slot_usage:
zone_id:
slot_uri: dcterms:identifier
description: 'Unique identifier for this environmental zone.
Format: URI following NDE Heritage Custodian ontology conventions.
'
range: uriorcurie
required: true
identifier: true
@ -123,10 +117,6 @@ classes:
- value: https://nde.nl/ontology/hc/zone/na-depot-a-standard
description: National Archives Depot A - Standard environment zone
zone_name:
slot_uri: crm:P87_is_identified_by
description: 'Human-readable name for this environmental zone.
'
range: string
required: true
examples:
@ -134,45 +124,11 @@ classes:
- value: Cold Storage Vault - Film Negatives
- value: Photographic Materials Room
zone_type:
slot_uri: dcterms:type
description: 'Type of environmental zone from EnvironmentalZoneType class hierarchy.
Classifies the zone by its environmental characteristics
and the type of materials it is designed to hold.
Use subclasses of EnvironmentalZoneType (e.g., ArchiveStandardStorageEnvironment,
ColdStorageEnvironment, PhotographicStorageEnvironment).
'
range: EnvironmentalZoneType
required: true
zone_description:
slot_uri: dcterms:description
description: 'Free-text description of this environmental zone.
Include:
- Purpose and materials stored
- Special features or equipment
- Access protocols
'
range: string
target_temperature_celsius:
slot_uri: hc:targetTemperature
description: 'Target temperature setpoint in degrees Celsius.
HC Ontology: `hc:targetTemperature`
'
range: float
examples:
- value: 18.0
@ -182,28 +138,11 @@ classes:
- value: 15.0
description: Photographic materials
temperature_tolerance:
slot_uri: hc:temperatureTolerance
description: 'Acceptable deviation from target temperature in degrees Celsius.
HC Ontology: `hc:temperatureTolerance`
Example: tolerance of 2.0 means acceptable range is target ± 2°C.
'
range: float
examples:
- value: 2.0
- value: 3.0
target_relative_humidity:
slot_uri: hc:targetRelativeHumidity
description: 'Target relative humidity setpoint as percentage (0-100).
HC Ontology: `hc:targetRelativeHumidity`
'
range: float
minimum_value: 0.0
maximum_value: 100.0
@ -215,27 +154,10 @@ classes:
- value: 30.0
description: Cold storage
humidity_tolerance:
slot_uri: hc:relativeHumidityTolerance
description: 'Acceptable deviation from target humidity in percentage points.
HC Ontology: `hc:relativeHumidityTolerance`
'
range: float
examples:
- value: 5.0
max_light_lux:
slot_uri: hc:maxLightLevel
description: 'Maximum acceptable light level in lux.
HC Ontology: `hc:maxLightLevel`
Light-sensitive materials typically require < 50 lux.
'
range: float
examples:
- value: 50.0
@ -243,113 +165,35 @@ classes:
- value: 0.0
description: Dark storage for film
max_annual_light_exposure:
slot_uri: hc:maxAnnualLightExposure
description: 'Maximum acceptable cumulative light exposure per year in lux-hours.
HC Ontology: `hc:maxAnnualLightExposure`
Important for textiles and other materials with annual exposure limits.
'
range: float
examples:
- value: 15000.0
description: Textile storage limit
environmental_requirement:
slot_uri: hc:hasEnvironmentalRequirement
description: 'Environmental requirement specification this zone implements.
HC Ontology: `hc:hasEnvironmentalRequirement`
Can reference HC preset individuals:
- hc:StandardArchiveEnvironment
- hc:PhotographicMaterialsEnvironment
- hc:ColdStorageEnvironment
- hc:TextileStorageEnvironment
'
range: StorageConditionPolicy
examples:
- value: https://nde.nl/ontology/hc/StandardArchiveEnvironment
observation:
slot_uri: hc:hasEnvironmentalObservation
description: 'Environmental observations recorded for this zone.
HC Ontology: `hc:hasEnvironmentalObservation`
Links to StorageCondition instances representing actual
measured conditions at specific points in time.
'
range: StorageCondition
multivalued: true
inlined_as_list: true
monitoring_platform:
slot_uri: hc:monitoredByPlatform
description: 'Name/description of the sensor platform monitoring this zone.
HC Ontology: `hc:monitoredByPlatform` (subproperty of sosa:isFeatureOfInterestOf)
Examples: Hanwell, Meaco, EBI dataloggers
'
range: string
examples:
- value: Hanwell RadioLog environmental monitoring system
- value: Meaco Climate Manager
monitoring_platform_url:
slot_uri: schema:url
description: 'URL for accessing monitoring dashboard or API.
'
range: uri
part_of_facility:
slot_uri: hc:isStorageSectionOf
description: 'The parent storage facility containing this zone.
HC Ontology: `hc:isStorageSectionOf`
'
range: Storage
required: true
contains_or_contained_contains_unit:
slot_uri: hc:hasStorageSection
description: 'Storage units contained within this zone.
HC Ontology: `hc:hasStorageSection`
'
range: StorageUnit
multivalued: true
inlined_as_list: true
valid_from:
slot_uri: schema:validFrom
description: 'Date when this environmental zone became operational.
'
range: date
valid_to:
slot_uri: schema:validThrough
description: 'Date when this zone was decommissioned.
NULL if still active.
'
range: date
specificity_annotation:
range: SpecificityAnnotation

View file

@ -1,36 +1,6 @@
# EnvironmentalZoneType - Abstract base class for environmental zone classifications
#
# This class represents TYPES of environmental zones in heritage storage facilities,
# not individual zone instances. Each subclass defines characteristics of an
# environmental zone category (conditions, materials, requirements).
#
# Replaces: EnvironmentalZoneTypeEnum (archived to modules/enums/archive/)
#
# Standards reference (ISO/EN):
# - ISO 11799:2015 (updated 2024): Document storage requirements for archive and library materials
# URL: https://www.iso.org/standard/63810.html
# - ISO 18911:2010: Imaging materials - Processed safety photographic films - Storage practices
# URL: https://www.iso.org/standard/46602.html
# - ISO 18920:2011: Imaging materials - Reflection prints - Storage practices
# URL: https://www.iso.org/standard/46186.html
# - ISO 18934:2011: Imaging materials - Multiple media archives - Storage environment
# URL: https://www.iso.org/standard/55518.html
# - EN 16893:2018: Conservation of cultural heritage - Specifications for buildings for storage
# URL: https://www.en-standard.eu/bs-en-16893-2018-conservation-of-cultural-heritage/
# - BS 4971:2017: Conservation and care of archive and library collections - Code of practice
# URL: https://knowledge.bsigroup.com/products/conservation-and-care-of-archive-and-library-collections
#
# Ontology alignment:
# - CIDOC-CRM E3_Condition_State for environmental conditions
# - PREMIS StorageLocation for storage environment
# - SKOS Concept for type classification
#
# Generation date: 2026-01-11
id: https://nde.nl/ontology/hc/class/EnvironmentalZoneType
name: environmental_zone_type_class
title: Environmental Zone Type Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
@ -42,301 +12,204 @@ prefixes:
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/environmental_zone_type_id
- ../slots/environmental_zone_type_code
- ../slots/environmental_zone_type_label
- ../slots/environmental_zone_type_description
- ../slots/temperature_min
- ../slots/temperature_max
- ../slots/temperature_target
- ../slots/humidity_min
- ../slots/humidity_max
- ../slots/humidity_target
- ../slots/max_light_lux
- ../slots/max_annual_light_exposure
- ../slots/iso_standard
- ../slots/hc_preset_uri
- ../slots/target_material
- ../slots/requires_uv_filter
- ../slots/requires_esd_protection
- ../slots/requires_dark_storage
- ../slots/requires_dust_free
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/wikidata_id
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- linkml:types
- ../slots/environmental_zone_type_id
- ../slots/environmental_zone_type_code
- ../slots/environmental_zone_type_label
- ../slots/environmental_zone_type_description
- ../slots/temperature_min
- ../slots/temperature_max
- ../slots/temperature_target
- ../slots/humidity_min
- ../slots/humidity_max
- ../slots/humidity_target
- ../slots/max_light_lux
- ../slots/max_annual_light_exposure
- ../slots/iso_standard
- ../slots/hc_preset_uri
- ../slots/target_material
- ../slots/requires_uv_filter
- ../slots/requires_esd_protection
- ../slots/requires_dark_storage
- ../slots/requires_dust_free
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/wikidata_id
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
EnvironmentalZoneType:
class_uri: skos:Concept
abstract: true
description: |
Abstract base class for environmental zone type classifications in heritage storage.
**DEFINITION**:
EnvironmentalZoneType represents CATEGORIES of climate-controlled storage zones,
not individual zone instances. Each subclass defines the environmental parameters,
target materials, and preservation requirements for a specific zone category.
**CRITICAL: TYPE vs INSTANCE**
| Aspect | EnvironmentalZoneType (This Class) | EnvironmentalZone (Instance Class) |
|--------|-------------------------------------|-------------------------------------|
| **Nature** | Classification/category | Individual zone |
| **Examples** | ARCHIVE_STANDARD, COLD_STORAGE | "Depot Room A", "Cold Vault 1" |
| **Properties** | Target conditions, materials | Actual readings, location |
| **Cardinality** | ~16 types | Many instances |
**CATEGORY STRUCTURE**:
Environmental zone types are organized by primary function:
1. **STANDARD STORAGE**: Basic climate-controlled environments
- ArchiveStandardStorageEnvironment (18°C, 50% RH)
- BookStorageEnvironment
- GeneralStorageEnvironment
2. **TEMPERATURE-CONTROLLED**: Specialized cold/frozen storage
- ColdStorageEnvironment (-5°C to 4°C)
- FrozenStorageEnvironment (-18°C to -25°C)
3. **MATERIAL-SPECIFIC**: Optimized for specific material types
- PhotographicStorageEnvironment (15°C, 35% RH)
- TextileStorageEnvironment
- ArtStorageEnvironment
- MetalObjectStorageEnvironment (low humidity)
- NaturalHistoryStorageEnvironment
- AudiovisualStorageEnvironment
- DigitalMediaStorageEnvironment
4. **SPECIALIZED**: Purpose-specific zones
- QuarantineEnvironment (isolation)
- ConservationLabEnvironment (workspace)
- AmbientStorageEnvironment (minimal control)
- OtherEnvironmentalZone (custom)
**MIGRATION FROM ENUM**:
This class hierarchy replaces `EnvironmentalZoneTypeEnum` (16 values).
Each enum value becomes a subclass with richer semantic modeling.
**ONTOLOGY ALIGNMENT**:
- **CIDOC-CRM E3_Condition_State**: Environmental conditions as states
- **PREMIS StorageLocation**: Storage environment context
- **SKOS Concept**: Type classification vocabulary
- **EN 16893**: European standard for heritage storage buildings
**RELATIONSHIP TO OTHER CLASSES**:
```
EnvironmentalZone (facility zone instance)
└── has_zone_type → EnvironmentalZoneType (THIS CLASS)
├── temperature_target (recommended °C)
├── humidity_target (recommended % RH)
├── max_light_lux (maximum illumination)
├── target_material[] (suitable materials)
├── iso_standard[] (applicable standards)
└── hc_preset_uri (ontology preset)
```
**SUBCLASSES**:
See EnvironmentalZoneTypes.yaml for 16 concrete zone type subclasses:
- ArchiveStandardStorageEnvironment
- ColdStorageEnvironment
- FrozenStorageEnvironment
- PhotographicStorageEnvironment
- TextileStorageEnvironment
- ArtStorageEnvironment
- MetalObjectStorageEnvironment
- NaturalHistoryStorageEnvironment
- BookStorageEnvironment
- AudiovisualStorageEnvironment
- DigitalMediaStorageEnvironment
- GeneralStorageEnvironment
- AmbientStorageEnvironment
- QuarantineEnvironment
- ConservationLabEnvironment
- OtherEnvironmentalZone
description: "Abstract base class for environmental zone type classifications in heritage storage.\n\n**DEFINITION**:\n\
\nEnvironmentalZoneType represents CATEGORIES of climate-controlled storage zones,\nnot individual zone instances. Each\
\ subclass defines the environmental parameters,\ntarget materials, and preservation requirements for a specific zone\
\ category.\n\n**CRITICAL: TYPE vs INSTANCE**\n\n| Aspect | EnvironmentalZoneType (This Class) | EnvironmentalZone (Instance\
\ Class) |\n|--------|-------------------------------------|-------------------------------------|\n| **Nature** | Classification/category\
\ | Individual zone |\n| **Examples** | ARCHIVE_STANDARD, COLD_STORAGE | \"Depot Room A\", \"Cold Vault 1\" |\n| **Properties**\
\ | Target conditions, materials | Actual readings, location |\n| **Cardinality** | ~16 types | Many instances |\n\n\
**CATEGORY STRUCTURE**:\n\nEnvironmental zone types are organized by primary function:\n\n1. **STANDARD STORAGE**: Basic\
\ climate-controlled environments\n - ArchiveStandardStorageEnvironment (18°C, 50% RH)\n - BookStorageEnvironment\n\
\ - GeneralStorageEnvironment\n\n2. **TEMPERATURE-CONTROLLED**: Specialized cold/frozen storage\n - ColdStorageEnvironment\
\ (-5°C to 4°C)\n - FrozenStorageEnvironment (-18°C to -25°C)\n\n3. **MATERIAL-SPECIFIC**: Optimized for specific\
\ material types\n - PhotographicStorageEnvironment (15°C, 35% RH)\n - TextileStorageEnvironment\n - ArtStorageEnvironment\n\
\ - MetalObjectStorageEnvironment (low humidity)\n - NaturalHistoryStorageEnvironment\n - AudiovisualStorageEnvironment\n\
\ - DigitalMediaStorageEnvironment\n\n4. **SPECIALIZED**: Purpose-specific zones\n - QuarantineEnvironment (isolation)\n\
\ - ConservationLabEnvironment (workspace)\n - AmbientStorageEnvironment (minimal control)\n - OtherEnvironmentalZone\
\ (custom)\n\n**MIGRATION FROM ENUM**:\n\nThis class hierarchy replaces `EnvironmentalZoneTypeEnum` (16 values).\nEach\
\ enum value becomes a subclass with richer semantic modeling.\n\n**ONTOLOGY ALIGNMENT**:\n\n- **CIDOC-CRM E3_Condition_State**:\
\ Environmental conditions as states\n- **PREMIS StorageLocation**: Storage environment context\n- **SKOS Concept**:\
\ Type classification vocabulary\n- **EN 16893**: European standard for heritage storage buildings\n\n**RELATIONSHIP\
\ TO OTHER CLASSES**:\n\n```\nEnvironmentalZone (facility zone instance)\n │\n └── has_zone_type → EnvironmentalZoneType\
\ (THIS CLASS)\n ├── temperature_target (recommended °C)\n ├── humidity_target (recommended % RH)\n \
\ ├── max_light_lux (maximum illumination)\n ├── target_material[] (suitable materials)\n ├── iso_standard[]\
\ (applicable standards)\n └── hc_preset_uri (ontology preset)\n```\n\n**SUBCLASSES**:\n\nSee EnvironmentalZoneTypes.yaml\
\ for 16 concrete zone type subclasses:\n- ArchiveStandardStorageEnvironment\n- ColdStorageEnvironment\n- FrozenStorageEnvironment\n\
- PhotographicStorageEnvironment\n- TextileStorageEnvironment\n- ArtStorageEnvironment\n- MetalObjectStorageEnvironment\n\
- NaturalHistoryStorageEnvironment\n- BookStorageEnvironment\n- AudiovisualStorageEnvironment\n- DigitalMediaStorageEnvironment\n\
- GeneralStorageEnvironment\n- AmbientStorageEnvironment\n- QuarantineEnvironment\n- ConservationLabEnvironment\n- OtherEnvironmentalZone\n"
exact_mappings:
- skos:Concept
- skos:Concept
close_mappings:
- crm:E3_Condition_State
- premis:StorageLocation
- crm:E3_Condition_State
- premis:StorageLocation
related_mappings:
- crm:E55_Type
- aat:300054225 # Getty AAT: storage (activity)
- crm:E55_Type
- aat:300054225
slots:
- environmental_zone_type_id
- environmental_zone_type_code
- environmental_zone_type_label
- environmental_zone_type_description
- temperature_min
- temperature_max
- temperature_target
- humidity_min
- humidity_max
- humidity_target
- max_light_lux
- max_annual_light_exposure
- iso_standard
- hc_preset_uri
- target_material
- requires_uv_filter
- requires_esd_protection
- requires_dark_storage
- requires_dust_free
- specificity_annotation
- template_specificity
- wikidata_id
- environmental_zone_type_id
- environmental_zone_type_code
- environmental_zone_type_label
- environmental_zone_type_description
- temperature_min
- temperature_max
- temperature_target
- humidity_min
- humidity_max
- humidity_target
- max_light_lux
- max_annual_light_exposure
- iso_standard
- hc_preset_uri
- target_material
- requires_uv_filter
- requires_esd_protection
- requires_dark_storage
- requires_dust_free
- specificity_annotation
- template_specificity
- wikidata_id
slot_usage:
environmental_zone_type_id:
identifier: true
required: true
description: |
Unique identifier for this environmental zone type.
Format: URI following NDE Heritage Custodian ontology conventions.
examples:
- value: https://nde.nl/ontology/hc/environmental-zone-type/archive-standard
description: Archive standard storage type
- value: https://nde.nl/ontology/hc/environmental-zone-type/archive-standard
description: Archive standard storage type
environmental_zone_type_code:
required: true
description: |
Short code for this zone type (uppercase, underscore-separated).
Codes align with legacy EnvironmentalZoneTypeEnum values.
examples:
- value: ARCHIVE_STANDARD
- value: COLD_STORAGE
- value: PHOTOGRAPHIC
- value: ARCHIVE_STANDARD
- value: COLD_STORAGE
- value: PHOTOGRAPHIC
environmental_zone_type_label:
required: true
description: |
Human-readable label for this environmental zone type.
examples:
- value: Archive Standard Storage Environment
- value: Cold Storage Environment
- value: Archive Standard Storage Environment
- value: Cold Storage Environment
temperature_target:
description: |
Recommended target temperature in degrees Celsius.
Based on preservation standards for the material types.
examples:
- value: 18.0
description: Standard archive storage
- value: -5.0
description: Cold storage for film
- value: 18.0
description: Standard archive storage
- value: -5.0
description: Cold storage for film
humidity_target:
description: |
Recommended target relative humidity as percentage.
Based on preservation standards for the material types.
examples:
- value: 50.0
description: Standard archive storage
- value: 30.0
description: Cold storage for film
- value: 50.0
description: Standard archive storage
- value: 30.0
description: Cold storage for film
max_light_lux:
description: |
Maximum recommended light level in lux.
Lower values required for photosensitive materials.
examples:
- value: 50.0
description: Archive and photographic storage
- value: 0.0
description: Dark storage required (cold storage)
- value: 50.0
description: Archive and photographic storage
- value: 0.0
description: Dark storage required (cold storage)
iso_standard:
multivalued: true
description: |
Reference to applicable ISO/EN standards for this zone type.
examples:
- value: ["ISO 11799"]
description: Document storage requirements
- value: ["ISO 18911"]
description: Film storage practices
- value:
- ISO 11799
description: Document storage requirements
- value:
- ISO 18911
description: Film storage practices
hc_preset_uri:
description: |
URI of the corresponding HC ontology environmental preset.
examples:
- value: hc:StandardArchiveEnvironment
description: Standard archive preset
- value: hc:StandardArchiveEnvironment
description: Standard archive preset
target_material:
multivalued: true
description: |
Material types this zone type is designed for.
examples:
- value: ["paper", "parchment", "manuscripts"]
description: Archive storage materials
- value: ["film negatives", "color photographs", "acetate"]
description: Cold storage materials
- value:
- paper
- parchment
- manuscripts
description: Archive storage materials
- value:
- film negatives
- color photographs
- acetate
description: Cold storage materials
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Environmental zone types apply to all custodian types with storage facilities
custodian_types_primary: A
skos:prefLabel: Environmental Zone Type
skos:altLabel: climate zone type, storage environment type, preservation environment
comments:
- Abstract base class - use specific subclasses (ArchiveStandardStorageEnvironment, etc.)
- Represents ZONE TYPES, not zone instances
- EnvironmentalZone.zone_type references these type classes
- Replaces EnvironmentalZoneTypeEnum for richer semantic modeling
- Environmental parameters align with conservation standards (EN 16893, ISO 11799, ISO 18911)
- Abstract base class - use specific subclasses (ArchiveStandardStorageEnvironment, etc.)
- Represents ZONE TYPES, not zone instances
- EnvironmentalZone.zone_type references these type classes
- Replaces EnvironmentalZoneTypeEnum for richer semantic modeling
- Environmental parameters align with conservation standards (EN 16893, ISO 11799, ISO 18911)
see_also:
# ISO Standards for Heritage Storage
- https://www.iso.org/standard/63810.html # ISO 11799:2015 Document storage (archives/libraries)
- https://www.iso.org/standard/46602.html # ISO 18911:2010 Film storage practices
- https://www.iso.org/standard/46186.html # ISO 18920:2011 Reflection prints storage
- https://www.iso.org/standard/55518.html # ISO 18934:2011 Multiple media archives
# European/British Standards
- https://www.en-standard.eu/bs-en-16893-2018-conservation-of-cultural-heritage/ # EN 16893:2018
- https://knowledge.bsigroup.com/products/conservation-and-care-of-archive-and-library-collections # BS 4971:2017
# Ontology References
- http://www.loc.gov/premis/rdf/v3/StorageLocation
- http://www.cidoc-crm.org/cidoc-crm/E3_Condition_State
- https://www.iso.org/standard/63810.html
- https://www.iso.org/standard/46602.html
- https://www.iso.org/standard/46186.html
- https://www.iso.org/standard/55518.html
- https://www.en-standard.eu/bs-en-16893-2018-conservation-of-cultural-heritage/
- https://knowledge.bsigroup.com/products/conservation-and-care-of-archive-and-library-collections
- http://www.loc.gov/premis/rdf/v3/StorageLocation
- http://www.cidoc-crm.org/cidoc-crm/E3_Condition_State
examples:
- value:
environmental_zone_type_id: https://nde.nl/ontology/hc/environmental-zone-type/archive-standard
environmental_zone_type_code: ARCHIVE_STANDARD
environmental_zone_type_label: Archive Standard Storage Environment
temperature_min: 16.0
temperature_max: 20.0
temperature_target: 18.0
humidity_min: 45.0
humidity_max: 55.0
humidity_target: 50.0
max_light_lux: 50.0
iso_standard: ["ISO 11799"]
hc_preset_uri: hc:StandardArchiveEnvironment
target_material: ["paper", "parchment", "manuscripts", "photographs"]
requires_uv_filter: true
requires_dark_storage: false
description: Archive standard storage environment type definition
- value:
environmental_zone_type_id: https://nde.nl/ontology/hc/environmental-zone-type/archive-standard
environmental_zone_type_code: ARCHIVE_STANDARD
environmental_zone_type_label: Archive Standard Storage Environment
temperature_min: 16.0
temperature_max: 20.0
temperature_target: 18.0
humidity_min: 45.0
humidity_max: 55.0
humidity_target: 50.0
max_light_lux: 50.0
iso_standard:
- ISO 11799
hc_preset_uri: hc:StandardArchiveEnvironment
target_material:
- paper
- parchment
- manuscripts
- photographs
requires_uv_filter: true
requires_dark_storage: false
description: Archive standard storage environment type definition

View file

@ -92,57 +92,11 @@ classes:
- took_place_at
slot_usage:
event_id:
description: 'Persistent identifier for this event.
Format: https://nde.nl/ontology/hc/event/{event-slug}
**NAMING CONVENTION**:
- Use descriptive slug: {subject}-{action}-{year}
- Example: "nha-merger-2001", "gaza-library-destruction-2024"
'
required: true
identifier: true
hypernym_event_type:
description: 'Generic event type category.
This provides high-level classification using CIDOC-CRM event types:
- CREATION: Something came into being
- DESTRUCTION: Something ceased to exist
- TRANSFORMATION: Something changed nature (merger, split)
- TRANSFER: Custody/ownership changed
- MOVEMENT: Physical location changed
- MODIFICATION: Properties changed (rename)
- ACTIVITY: General purposeful action
- JOINING: Actor joined group
- LEAVING: Actor left group
'
required: true
has_timespan:
description: 'When this event occurred.
Uses TimeSpan class with CIDOC-CRM fuzzy temporal bounds.
For precise dates, set all four bounds to same value.
For uncertain dates, use ranges.
'
required: false
specificity_annotation:
range: SpecificityAnnotation

View file

@ -150,24 +150,12 @@ classes:
identifier: true
required: true
range: uriorcurie
slot_uri: dcterms:identifier
description: 'Unique identifier for this object.
Format: https://nde.nl/ontology/hc/object/{institution-slug}-{object-slug}
'
examples:
- value: https://nde.nl/ontology/hc/object/mauritshuis-girl-pearl-earring
- value: https://nde.nl/ontology/hc/object/rijksmuseum-night-watch
object_name:
required: true
range: string
slot_uri: schema:name
description: 'Primary title or name of the object.
Use the most commonly recognized title.
'
examples:
- value: Girl with a Pearl Earring
- value: The Night Watch
@ -176,10 +164,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: schema:alternateName
description: 'Alternative titles, historical names, or translations.
'
examples:
- value: Meisje met de parel
description: Dutch title
@ -188,10 +172,6 @@ classes:
object_description:
required: false
range: string
slot_uri: schema:description
description: 'Detailed description of the object, its significance, and context.
'
examples:
- value: 'Oil painting by Johannes Vermeer, depicting a girl wearing an exotic
@ -203,17 +183,6 @@ classes:
object_type:
required: true
range: ExhibitedObjectTypeEnum
slot_uri: dcterms:type
description: 'Classification of object by type/medium.
Values: PAINTING, SCULPTURE, DRAWING, PRINT, PHOTOGRAPH, CERAMIC,
TEXTILE, FURNITURE, DOCUMENT, MANUSCRIPT, RARE_BOOK, MAP,
ARCHAEOLOGICAL_ARTIFACT, NATURAL_HISTORY_SPECIMEN, etc.
'
examples:
- value: PAINTING
- value: SCULPTURE
@ -222,12 +191,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: schema:creator
description: 'Name(s) of the artist, maker, or creator.
For anonymous works, use "Unknown" or "Anonymous [culture/period]".
'
examples:
- value: Johannes Vermeer
- value: Rembrandt van Rijn
@ -236,12 +199,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: crm:P14.1_in_the_role_of
description: 'Role of each creator (artist, workshop, attributed to, circle of, etc.).
Corresponds with creator list by position.
'
examples:
- value: Artist
- value: Workshop of
@ -250,14 +207,6 @@ classes:
date_created:
required: false
range: string
slot_uri: schema:dateCreated
description: 'Date or period when object was created.
Use string to accommodate approximate dates (c. 1665, 17th century).
For precise temporal modeling, use creation_timespan.
'
examples:
- value: c. 1665
- value: '1642'
@ -266,21 +215,6 @@ classes:
required: false
range: TimeSpan
inlined: true
slot_uri: crm:P4_has_time-span
description: 'Full temporal extent of creation with CIDOC-CRM fuzzy boundaries.
Use for scholarly precision with uncertain dates:
- begin_of_the_begin: Earliest possible start
- end_of_the_begin: Latest possible start
- begin_of_the_end: Earliest possible completion
- end_of_the_end: Latest possible completion
'
examples:
- value:
begin_of_the_begin: '1664-01-01'
@ -290,10 +224,6 @@ classes:
required: false
range: CustodianPlace
inlined: true
slot_uri: schema:locationCreated
description: 'Location where the object was created.
'
examples:
- value:
place_name: Delft
@ -301,12 +231,6 @@ classes:
medium:
required: false
range: string
slot_uri: schema:artMedium
description: 'Materials and techniques used to create the object.
Use standard art historical terminology.
'
examples:
- value: Oil on canvas
- value: Marble
@ -316,12 +240,6 @@ classes:
dimension:
required: false
range: string
slot_uri: schema:size
description: 'Physical dimensions of the object.
Format: height × width × depth with units.
'
examples:
- value: 44.5 × 39 cm
description: Girl with a Pearl Earring
@ -333,10 +251,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: crm:P128_carries
description: 'Text inscribed on the object (signatures, dates, dedications).
'
examples:
- value: IVMeer
description: Vermeer signature
@ -346,9 +260,6 @@ classes:
required: false
range: uriorcurie
inlined: false
slot_uri: crm:P50_has_current_keeper
description: "Custodian institution currently holding this object.\n\nCIDOC-CRM: P50_has_current_keeper - \"identifies\
\ the E39 Actor that \nhad custody of an instance of E18 Physical Thing at the time of validity.\"\n"
examples:
- value: https://nde.nl/ontology/hc/custodian/nl/mauritshuis
- value: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum
@ -356,12 +267,6 @@ classes:
required: false
range: CustodianPlace
inlined: true
slot_uri: schema:location
description: 'Current physical location of the object.
May differ from permanent_location if on loan or traveling.
'
examples:
- value:
place_name: Mauritshuis
@ -370,24 +275,12 @@ classes:
permanent_location:
required: false
range: string
slot_uri: crm:P54_has_current_permanent_location
description: 'Usual permanent location (gallery, room, case) within institution.
Use for standard display location when not on loan.
'
examples:
- value: Gallery 15
- value: Dutch Golden Age wing, Room 3
has_accession_number:
required: false
range: string
slot_uri: dcterms:identifier
description: 'Accession or acquisition number assigned by holding institution.
Primary catalog identifier within the institution.
'
examples:
- value: '670'
description: Mauritshuis accession number for Girl with a Pearl Earring
@ -396,20 +289,12 @@ classes:
inventory_number:
required: false
range: string
slot_uri: dcterms:identifier
description: 'Additional inventory or catalog numbers.
'
examples:
- value: BM-1802,0710.1
description: British Museum inventory
provenance_text:
required: false
range: string
slot_uri: dcterms:provenance
description: 'Narrative description of ownership history.
'
examples:
- value: 'Possibly Pieter van Ruijven, Delft (c. 1665); his widow, Maria de Knuijt,
@ -424,10 +309,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: crm:P51_has_former_or_current_owner
description: 'List of previous owners in chronological order.
'
examples:
- value:
- Pieter van Ruijven (c. 1665-1674)
@ -436,22 +317,12 @@ classes:
has_acquisition_method:
required: false
range: string
slot_uri: crm:P24i_changed_ownership_through
description: 'How current keeper acquired the object.
Values: PURCHASE, DONATION, BEQUEST, TRANSFER, LOAN, RESTITUTION
'
examples:
- value: BEQUEST
description: des Tombe bequest to Mauritshuis
has_acquisition_date:
required: false
range: date
slot_uri: schema:dateAcquired
description: 'Date when object was acquired by current keeper.
'
examples:
- value: '1903-01-01'
exhibited_in:
@ -459,9 +330,6 @@ classes:
range: uriorcurie
multivalued: true
inlined: false
slot_uri: crm:P12i_was_present_at
description: "Exhibitions where this object has been or is being displayed.\n\nCIDOC-CRM: P12i_was_present_at - \"\
identifies the E5 Event(s) in which \nan instance of E77 Persistent Item was present.\"\n"
examples:
- value: https://nde.nl/ontology/hc/exhibition/rijksmuseum-vermeer-2023
description: Vermeer exhibition 2023
@ -469,22 +337,12 @@ classes:
required: false
range: uriorcurie
inlined: false
slot_uri: crm:P46i_forms_part_of
description: 'Collection(s) to which this object belongs.
'
examples:
- value: https://nde.nl/ontology/hc/collection/mauritshuis-dutch-paintings
subject_depicted:
required: false
range: string
multivalued: true
slot_uri: schema:about
description: 'Subjects represented in the artwork.
Use controlled vocabulary where possible (AAT, Iconclass).
'
examples:
- value: portrait
- value: girl
@ -493,32 +351,18 @@ classes:
iconography:
required: false
range: string
slot_uri: crm:P62_depicts
description: 'Iconographic content or symbolism.
Use Iconclass codes where applicable.
'
examples:
- value: 31A221 - portrait of a woman
- value: '41D221 - jewelry: earring'
has_or_had_condition_note:
required: false
range: string
slot_uri: crm:P44_has_condition
description: 'Current condition of the object.
'
examples:
- value: Good condition. Cleaned and restored in 1994.
conservation_history:
required: false
range: string
multivalued: true
slot_uri: crm:P31i_was_modified_by
description: 'History of conservation treatments.
'
examples:
- value: '1882: First cleaning'
- value: '1994: Major restoration by Jorgen Wadum'
@ -526,22 +370,12 @@ classes:
required: false
range: uri
multivalued: true
slot_uri: schema:image
description: 'URL to image(s) of the object.
Include multiple resolutions or views where available.
'
examples:
- value: https://www.mauritshuis.nl/media/670-large.jpg
wikidata_id:
required: false
range: string
pattern: ^Q[0-9]+$
slot_uri: schema:sameAs
description: 'Wikidata entity ID for this object.
'
examples:
- value: Q81858
description: Girl with a Pearl Earring
@ -551,22 +385,12 @@ classes:
required: false
range: string
multivalued: true
slot_uri: dcterms:identifier
description: 'Additional external identifiers (RKDimages, VIAF, Getty ULAN, etc.).
Format: "scheme:value"
'
examples:
- value: rkdimages:23903
- value: getty_ulan:500121212
catalog_raisonne_number:
required: false
range: string
slot_uri: dcterms:identifier
description: 'Reference number in the catalogue raisonné.
'
examples:
- value: Hofstede de Groot 1907, no. 44
- value: Bredius 410
@ -575,29 +399,6 @@ classes:
range: ConservationRecord
multivalued: true
inlined: true
slot_uri: crm:P44_has_condition
description: 'Conservation and condition records for this object.
Includes:
- Condition assessments (EXCELLENT to CRITICAL)
- Treatment records (cleaning, restoration, repair)
- Technical examinations (X-ray, IR reflectography, etc.)
- Pre/post-loan condition checks
For simple condition notes, use `condition_notes` slot.
For full documentation with provenance, use this slot.
Ordered by record_date (newest first typically).
'
examples:
- value:
record_id: https://nde.nl/ontology/hc/conservation/mauritshuis-gwpe-1994
@ -613,32 +414,6 @@ classes:
range: ProvenanceEvent
multivalued: true
inlined: true
slot_uri: crm:P24i_changed_ownership_through
description: 'Provenance history as sequence of ownership transfer events.
Each event documents:
- Event type (PURCHASE, AUCTION, BEQUEST, GIFT, CONFISCATION, RESTITUTION)
- Date/timespan of transfer
- Previous and new owners
- Price/valuation (if known)
- Location of transfer
- Documentary sources
- Nazi-era flags for Washington Principles compliance
Events should be ordered chronologically from creation to present.
For simple narrative provenance, use `provenance_text` slot.
'
examples:
- value:
event_id: https://nde.nl/ontology/hc/provenance/gwpe-des-tombe-bequest
@ -653,35 +428,6 @@ classes:
range: Loan
multivalued: true
inlined: false
slot_uri: crm:P30i_custody_transferred_through
description: 'History of loans involving this object.
Includes both:
- Outgoing loans (when this object''s keeper lends it)
- Incoming loans (when this object is borrowed from elsewhere)
Each loan record includes:
- Lender and borrower institutions
- Loan dates and status
- Insurance valuations
- Condition reports
- Courier and transport details
Loans are referenced (not inlined) as they link multiple objects
and institutions.
'
examples:
- value: https://nde.nl/ontology/hc/loan/mauritshuis-rijksmuseum-vermeer-2023
description: Loan to Rijksmuseum for Vermeer 2023 exhibition

View file

@ -115,22 +115,12 @@ classes:
identifier: true
required: true
range: uriorcurie
slot_uri: dcterms:identifier
description: 'Unique identifier for this exhibition.
Format: https://nde.nl/ontology/hc/exhibition/{institution-slug}-{exhibition-slug}-{year}
'
examples:
- value: https://nde.nl/ontology/hc/exhibition/rijksmuseum-vermeer-2023
- value: https://nde.nl/ontology/hc/exhibition/moma-picasso-retrospective-2024
exhibition_name:
required: true
range: string
slot_uri: schema:name
description: 'Official name/title of the exhibition.
'
examples:
- value: Vermeer
- value: 'Impressionism: Origins and Legacy'
@ -138,20 +128,12 @@ classes:
exhibition_subtitle:
required: false
range: string
slot_uri: schema:alternativeHeadline
description: 'Secondary title or tagline for the exhibition.
'
examples:
- value: The Master of Light and Shadow
- value: 150 Years of Revolutionary Art
exhibition_description:
required: false
range: string
slot_uri: schema:description
description: 'Detailed description of the exhibition, its themes, and highlights.
'
examples:
- value: 'The largest Vermeer exhibition ever mounted, bringing together
@ -163,9 +145,6 @@ classes:
exhibition_type:
required: false
range: ExhibitionTypeEnum
slot_uri: dcterms:type
description: "Classification of exhibition by format and temporal nature.\n\nValues: PERMANENT, TEMPORARY, TRAVELING,\
\ VIRTUAL, HYBRID, \nPOP_UP, RETROSPECTIVE, SOLO, GROUP, LOAN, ARCHIVAL, \nCOMMEMORATIVE, SITE_SPECIFIC, BLOCKBUSTER\n"
examples:
- value: BLOCKBUSTER
- value: TEMPORARY
@ -175,15 +154,6 @@ classes:
range: uriorcurie
multivalued: true
inlined: false
slot_uri: schema:organizer
description: 'Primary Custodian organization(s) that organized this exhibition.
Links to heritage custodian entities (museums, archives, libraries, galleries).
For joint exhibitions, list all organizing institutions.
'
examples:
- value: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum
- value: https://nde.nl/ontology/hc/custodian/nl/mauritshuis
@ -192,68 +162,29 @@ classes:
range: uriorcurie
multivalued: true
inlined: false
slot_uri: schema:contributor
description: 'Secondary organizations that contributed to the exhibition.
Includes lending institutions, sponsors with curatorial input, etc.
'
examples:
- value: https://nde.nl/ontology/hc/custodian/us/national-gallery-washington
curated_by:
required: false
range: string
multivalued: true
slot_uri: schema:director
description: 'Name(s) of curator(s) responsible for the exhibition.
Use full names where known.
'
examples:
- value: Pieter Roelofs
- value: Gregor J.M. Weber
start_date:
required: false
range: date
slot_uri: schema:startDate
description: 'Opening date of the exhibition.
For precise dates. Use exhibition_timespan for fuzzy/uncertain dates.
'
examples:
- value: '2023-02-10'
end_date:
required: false
range: date
slot_uri: schema:endDate
description: 'Closing date of the exhibition.
For permanent exhibitions, leave null or use far-future date.
'
examples:
- value: '2023-06-04'
exhibition_timespan:
required: false
range: TimeSpan
inlined: true
slot_uri: crm:P4_has_time-span
description: 'Full temporal extent of this exhibition with CIDOC-CRM fuzzy boundaries.
Use for historical exhibitions where exact dates are uncertain:
- begin_of_the_begin: Earliest possible opening
- end_of_the_begin: Latest possible opening
- begin_of_the_end: Earliest possible closing
- end_of_the_end: Latest possible closing
'
examples:
- value:
begin_of_the_begin: '2023-02-10T00:00:00Z'
@ -265,15 +196,6 @@ classes:
range: CustodianPlace
multivalued: true
inlined_as_list: true
slot_uri: schema:location
description: 'Location(s) where this exhibition is displayed.
For traveling exhibitions, list the current or primary venue.
Use traveling_venues for complete venue list.
'
examples:
- value:
place_name: Rijksmuseum
@ -282,10 +204,6 @@ classes:
exhibition_venue:
required: false
range: string
slot_uri: schema:locationCreated
description: 'Name of specific gallery, wing, or space within institution.
'
examples:
- value: Philips Wing
- value: Gallery of Honour
@ -293,58 +211,28 @@ classes:
exhibition_status:
required: false
range: EventStatusEnum
slot_uri: schema:eventStatus
description: 'Current status of the exhibition.
Values: SCHEDULED, CANCELLED, POSTPONED, RESCHEDULED, COMPLETED
'
examples:
- value: COMPLETED
visitor_count:
required: false
range: integer
slot_uri: schema:attendeeCount
description: 'Total number of visitors during exhibition run.
Use for completed exhibitions with reported attendance.
'
examples:
- value: 650000
description: Vermeer exhibition attendance
exhibition_url:
required: false
range: uri
slot_uri: schema:url
description: 'Official webpage for this exhibition.
'
examples:
- value: https://www.rijksmuseum.nl/nl/vermeer
exhibition_catalog_url:
required: false
range: uri
slot_uri: rdfs:seeAlso
description: 'URL or DOI for the exhibition catalog publication.
'
examples:
- value: https://www.rijksmuseum.nl/nl/webshop/catalogus-vermeer
featured_work:
required: false
range: string
multivalued: true
slot_uri: schema:workFeatured
description: 'Key artworks, objects, or items featured in the exhibition.
**DEPRECATED**: Use `featured_objects` with typed ExhibitedObject references.
Retained for backward compatibility with string-based data.
'
examples:
- value: Girl with a Pearl Earring (Mauritshuis)
- value: The Milkmaid (Rijksmuseum)
@ -354,27 +242,6 @@ classes:
range: ExhibitedObject
multivalued: true
inlined: false
slot_uri: crm:P16_used_specific_object
description: 'ExhibitedObject entities featured in this exhibition.
**Preferred over featured_works** for typed object references.
Links to fully-modeled ExhibitedObject entities with:
- Creator attribution
- Medium and dimensions
- Provenance information
- Current keeper (owning institution)
Use for exhibitions where object-level metadata is tracked.
'
examples:
- value: https://nde.nl/ontology/hc/object/mauritshuis-girl-pearl-earring
- value: https://nde.nl/ontology/hc/object/rijksmuseum-night-watch
@ -383,24 +250,6 @@ classes:
range: ExhibitionCatalog
multivalued: true
inlined: false
slot_uri: schema:workExample
description: 'Published catalogs documenting this exhibition.
Links to ExhibitionCatalog entities with:
- ISBN/DOI identifiers
- Authors, editors, contributors
- Publication details
- Essay listings
For simple catalog URL links, use `exhibition_catalog_url` instead.
'
examples:
- value: https://nde.nl/ontology/hc/catalog/rijksmuseum-vermeer-2023
- value: https://nde.nl/ontology/hc/catalog/moma-matisse-cutouts-2014
@ -409,21 +258,12 @@ classes:
range: Exhibition
multivalued: true
inlined: false
slot_uri: schema:relatedLink
description: 'Related exhibitions (companion shows, previous iterations, etc.).
'
examples:
- value: https://nde.nl/ontology/hc/exhibition/mauritshuis-vermeer-2014
traveling_venue:
required: false
range: string
multivalued: true
description: 'List of venues for traveling exhibitions.
Format: "Institution Name, City (Start Date - End Date)"
'
examples:
- value: Rijksmuseum, Amsterdam (Feb 10 - Jun 4, 2023)
- value: National Gallery, London (Jul 1 - Oct 15, 2023)
@ -431,10 +271,6 @@ classes:
required: false
range: string
pattern: ^Q[0-9]+$
slot_uri: schema:sameAs
description: 'Wikidata entity ID for this exhibition (if exists).
'
examples:
- value: Q111456814
description: Vermeer exhibition 2023
@ -442,10 +278,6 @@ classes:
required: false
range: uri
multivalued: true
slot_uri: rdfs:seeAlso
description: 'Links to documentation: reviews, press, videos, virtual tours.
'
examples:
- value: https://www.youtube.com/watch?v=vermeer-tour
has_or_had_custodian_type:

View file

@ -116,34 +116,18 @@ classes:
identifier: true
required: true
range: uriorcurie
slot_uri: dcterms:identifier
description: 'Unique identifier for this catalog.
Format: https://nde.nl/ontology/hc/catalog/{institution-slug}-{exhibition-slug}-{year}
'
examples:
- value: https://nde.nl/ontology/hc/catalog/rijksmuseum-vermeer-2023
- value: https://nde.nl/ontology/hc/catalog/moma-matisse-cutouts-2014
catalog_title:
required: true
range: string
slot_uri: schema:name
description: 'Title of the exhibition catalog.
Usually matches or closely follows exhibition title.
'
examples:
- value: Vermeer
- value: 'Henri Matisse: The Cut-Outs'
catalog_subtitle:
required: false
range: string
slot_uri: schema:alternativeHeadline
description: 'Subtitle or secondary title of the catalog.
'
examples:
- value: The Greatest Exhibition
- value: A Retrospective
@ -151,34 +135,11 @@ classes:
required: true
range: uriorcurie
inlined: false
slot_uri: schema:about
description: 'Exhibition that this catalog documents.
Links to Exhibition entity.
'
examples:
- value: https://nde.nl/ontology/hc/exhibition/rijksmuseum-vermeer-2023
catalog_type:
required: false
range: string
slot_uri: dcterms:type
description: 'Type of catalog publication.
Values:
- PRINT_CATALOG: Traditional printed book
- DIGITAL_CATALOG: Online/downloadable
- COLLECTION_CATALOG: Permanent collection handbook
- BROCHURE: Brief exhibition guide
- CHECKLIST: Exhibition checklist
'
examples:
- value: PRINT_CATALOG
- value: DIGITAL_CATALOG
@ -186,12 +147,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: schema:author
description: 'Author(s) of the catalog (usually curators or scholars).
List primary authors who wrote the main essays.
'
examples:
- value: Pieter Roelofs
- value: Gregor J.M. Weber
@ -199,32 +154,18 @@ classes:
required: false
range: string
multivalued: true
slot_uri: schema:editor
description: 'Editor(s) of the catalog.
'
examples:
- value: Pieter Roelofs
contributor:
required: false
range: string
multivalued: true
slot_uri: schema:contributor
description: 'Additional contributors (essayists, researchers, translators).
'
examples:
- value: Anna Tummers (essay)
- value: Jane Smith (conservation notes)
publisher:
required: false
range: string
slot_uri: schema:publisher
description: 'Publisher of the catalog.
May be museum/gallery''s own publishing arm or external publisher.
'
examples:
- value: Rijksmuseum
- value: Thames & Hudson
@ -232,21 +173,11 @@ classes:
publication_date:
required: false
range: date
slot_uri: schema:datePublished
description: 'Date of publication.
Usually coincides with or precedes exhibition opening.
'
examples:
- value: '2023-02-01'
publication_place:
required: false
range: string
slot_uri: schema:locationCreated
description: 'Place of publication.
'
examples:
- value: Amsterdam
- value: New York
@ -254,71 +185,41 @@ classes:
required: false
range: string
pattern: ^(97[89])?[0-9]{9}[0-9X]$
slot_uri: schema:isbn
description: 'ISBN (10 or 13 digit).
'
examples:
- value: '9789491714962'
isbn_13:
required: false
range: string
pattern: ^97[89][0-9]{10}$
slot_uri: bibo:isbn13
description: 'ISBN-13 specifically.
'
examples:
- value: '9789491714962'
issn:
required: false
range: string
pattern: ^[0-9]{4}-[0-9]{3}[0-9X]$
slot_uri: bibo:issn
description: 'ISSN for serial publications.
'
examples:
- value: 0300-4953
doi:
required: false
range: string
pattern: ^10\.[0-9]+/.+
slot_uri: bibo:doi
description: 'Digital Object Identifier.
'
examples:
- value: 10.1234/vermeer-catalog-2023
page:
required: false
range: integer
slot_uri: schema:numberOfPages
description: 'Number of pages in the catalog.
'
examples:
- value: 320
- value: 512
illustration:
required: false
range: string
slot_uri: bf:illustrationNote
description: 'Description of illustrations.
'
examples:
- value: 280 color illustrations
- value: 150 color plates, 50 b/w figures
binding:
required: false
range: string
slot_uri: bf:binding
description: 'Binding type.
Values: hardcover, softcover, paperback, cloth, leather
'
examples:
- value: hardcover
- value: paperback
@ -326,12 +227,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: schema:inLanguage
description: 'Language(s) of the catalog.
Use ISO 639-1 codes or language names.
'
examples:
- value: en
- value: nl
@ -339,49 +234,27 @@ classes:
catalog_url:
required: false
range: uri
slot_uri: schema:url
description: 'URL to catalog webpage (publisher or museum shop).
'
examples:
- value: https://www.rijksmuseum.nl/nl/webshop/catalogus-vermeer
pdf_url:
required: false
range: uri
slot_uri: schema:contentUrl
description: 'URL to downloadable PDF version.
'
examples:
- value: https://www.rijksmuseum.nl/media/vermeer-catalog.pdf
ebook_url:
required: false
range: uri
slot_uri: schema:contentUrl
description: 'URL to ebook version.
'
examples:
- value: https://www.amazon.com/dp/B0XXXXX
price:
required: false
range: string
slot_uri: schema:price
description: 'Price of the catalog.
Include currency.
'
examples:
- value: €59.95
- value: $75.00
catalog_description:
required: false
range: string
slot_uri: schema:description
description: 'Description of the catalog contents and significance.
'
examples:
- value: "The official catalog of the groundbreaking Vermeer exhibition at the \nRijksmuseum, featuring 28 of the\
\ Dutch master's 37 known paintings.\nIncludes scholarly essays on Vermeer's technique, pigments, and\nsubjects,\
@ -389,10 +262,6 @@ classes:
table_of_content:
required: false
range: string
slot_uri: schema:tableOfContents
description: 'Table of contents or chapter listing.
'
examples:
- value: '1. Introduction (Pieter Roelofs)
@ -409,10 +278,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: schema:hasPart
description: 'List of essay titles included in the catalog.
'
examples:
- value: Vermeer's World
- value: The Science of Vermeer's Pigments
@ -420,10 +285,6 @@ classes:
catalog_entries_count:
required: false
range: integer
slot_uri: schema:numberOfItems
description: 'Number of catalog entries/objects documented.
'
examples:
- value: 28
description: 28 Vermeer paintings in exhibition
@ -431,29 +292,17 @@ classes:
required: false
range: string
pattern: ^Q[0-9]+$
slot_uri: schema:sameAs
description: 'Wikidata entity ID for this catalog (if exists).
'
examples:
- value: Q116123456
worldcat_id:
required: false
range: string
slot_uri: schema:identifier
description: 'WorldCat OCLC number.
'
examples:
- value: '1370123456'
library_catalog_url:
required: false
range: uri
multivalued: true
slot_uri: rdfs:seeAlso
description: 'URL to library catalog record (WorldCat, institutional catalogs).
'
examples:
- value: https://www.worldcat.org/title/1370123456
- value: https://uba.uva.nl/catalog/12345678

View file

@ -47,36 +47,26 @@ classes:
ExhibitionSpace:
is_a: ReconstructedEntity
class_uri: aat:300005768
description: "Exhibition space, gallery, or display area operated by a heritage\
\ custodian\nat a location separate from the main facility.\n\n**DEFINITION**:\n\
\nAn ExhibitionSpace is a dedicated area for displaying collections or\nexhibitions\
\ at a secondary location. This may be a satellite gallery,\nexhibition pavilion,\
\ temporary exhibition venue, or partner venue where\nthe heritage custodian\
\ presents its collections.\n\n**GETTY AAT ALIGNMENT**:\n\n`aat:300005768` (exhibition\
\ spaces) - \"Spaces designed and equipped for\nthe display and viewing of objects,\
\ artworks, or specimens.\"\n\n**WIKIDATA TYPE LINKAGE**:\n\nThis class can\
\ be further classified using either:\n\n1. **MuseumTypeEnum** (187 types) -\
\ For museum-style exhibition spaces:\n - Q207694 (art museum)\n - Q17431399\
\ (history museum)\n - Q2087181 (science museum)\n \n2. **GalleryTypeEnum**\
\ (78 types) - For gallery-style exhibition spaces:\n - Q1007870 (art gallery)\n\
\ - Q1060829 (exhibition hall)\n - Q856584 (kunsthalle)\n\n**DISTINCTION\
\ FROM OTHER AUXILIARY PLACE TYPES**:\n\n| Type | Primary Function | Public\
\ Access |\n|------|------------------|---------------|\n| **ExhibitionSpace**\
\ | Display collections | Yes - public viewing |\n| Storage | Store collections\
\ | No - staff only |\n| BranchOffice | Service delivery | Yes - services |\n\
| ResearchCenter | Academic research | Limited |\n\n**TYPES OF EXHIBITION SPACES**:\n\
\n1. **Satellite Gallery**: Permanent secondary exhibition venue\n2. **Exhibition\
\ Pavilion**: Purpose-built exhibition structure\n3. **Partner Venue**: Space\
\ in another institution\n4. **Pop-up Gallery**: Temporary exhibition venue\n\
5. **Outdoor Exhibition**: Open-air display area\n6. **Project Space**: Experimental/contemporary\
\ art space\n\n**USE CASES**:\n\n1. **Museum Satellite Gallery**:\n ```yaml\n\
\ ExhibitionSpace:\n exhibition_space_id: \"https://nde.nl/ontology/hc/aux/rijksmuseum-schiphol-gallery\"\
\n exhibition_space_name: \"Rijksmuseum Schiphol\"\n museum_type_classification:\
\ ART_MUSEUM\n exhibition_type: SATELLITE_GALLERY\n exhibition_floor_area_sqm:\
\ 200\n ```\n\n2. **Contemporary Art Project Space**:\n ```yaml\n ExhibitionSpace:\n\
\ exhibition_space_name: \"Stedelijk Museum Project Space\"\n gallery_type_classification:\
\ PROJECT_SPACE\n exhibition_type: PROJECT_SPACE\n focuses_on_contemporary:\
\ true\n ```\n"
description: "Exhibition space, gallery, or display area operated by a heritage custodian\nat a location separate from\
\ the main facility.\n\n**DEFINITION**:\n\nAn ExhibitionSpace is a dedicated area for displaying collections or\nexhibitions\
\ at a secondary location. This may be a satellite gallery,\nexhibition pavilion, temporary exhibition venue, or partner\
\ venue where\nthe heritage custodian presents its collections.\n\n**GETTY AAT ALIGNMENT**:\n\n`aat:300005768` (exhibition\
\ spaces) - \"Spaces designed and equipped for\nthe display and viewing of objects, artworks, or specimens.\"\n\n**WIKIDATA\
\ TYPE LINKAGE**:\n\nThis class can be further classified using either:\n\n1. **MuseumTypeEnum** (187 types) - For museum-style\
\ exhibition spaces:\n - Q207694 (art museum)\n - Q17431399 (history museum)\n - Q2087181 (science museum)\n \
\ \n2. **GalleryTypeEnum** (78 types) - For gallery-style exhibition spaces:\n - Q1007870 (art gallery)\n - Q1060829\
\ (exhibition hall)\n - Q856584 (kunsthalle)\n\n**DISTINCTION FROM OTHER AUXILIARY PLACE TYPES**:\n\n| Type | Primary\
\ Function | Public Access |\n|------|------------------|---------------|\n| **ExhibitionSpace** | Display collections\
\ | Yes - public viewing |\n| Storage | Store collections | No - staff only |\n| BranchOffice | Service delivery | Yes\
\ - services |\n| ResearchCenter | Academic research | Limited |\n\n**TYPES OF EXHIBITION SPACES**:\n\n1. **Satellite\
\ Gallery**: Permanent secondary exhibition venue\n2. **Exhibition Pavilion**: Purpose-built exhibition structure\n\
3. **Partner Venue**: Space in another institution\n4. **Pop-up Gallery**: Temporary exhibition venue\n5. **Outdoor\
\ Exhibition**: Open-air display area\n6. **Project Space**: Experimental/contemporary art space\n\n**USE CASES**:\n\
\n1. **Museum Satellite Gallery**:\n ```yaml\n ExhibitionSpace:\n exhibition_space_id: \"https://nde.nl/ontology/hc/aux/rijksmuseum-schiphol-gallery\"\
\n exhibition_space_name: \"Rijksmuseum Schiphol\"\n museum_type_classification: ART_MUSEUM\n exhibition_type:\
\ SATELLITE_GALLERY\n exhibition_floor_area_sqm: 200\n ```\n\n2. **Contemporary Art Project Space**:\n ```yaml\n\
\ ExhibitionSpace:\n exhibition_space_name: \"Stedelijk Museum Project Space\"\n gallery_type_classification:\
\ PROJECT_SPACE\n exhibition_type: PROJECT_SPACE\n focuses_on_contemporary: true\n ```\n"
exact_mappings:
- aat:300005768
close_mappings:
@ -111,10 +101,6 @@ classes:
- was_generated_by
slot_usage:
exhibition_space_id:
slot_uri: dcterms:identifier
description: |
Unique identifier for this exhibition space.
Format: URI following NDE Heritage Custodian ontology conventions.
range: uriorcurie
required: true
identifier: true
@ -122,11 +108,6 @@ classes:
- value: https://nde.nl/ontology/hc/aux/rijksmuseum-schiphol-gallery
description: Rijksmuseum airport gallery
exhibition_space_name:
slot_uri: skos:prefLabel
description: |
Name of this exhibition space.
SKOS: prefLabel for preferred name.
range: string
required: true
examples:
@ -137,33 +118,12 @@ classes:
- value: Van Gogh Museum Mesdag Collection
description: Partner venue exhibition
exhibition_space_description:
slot_uri: dcterms:description
description: |
Free-text description of this exhibition space.
Include:
- What is exhibited here
- Relationship to main institution
- Visitor information
- Notable features
range: string
examples:
- value: Free gallery at Schiphol Airport featuring rotating highlights from
the Rijksmuseum collection. Open daily to all travelers.
- value: Free gallery at Schiphol Airport featuring rotating highlights from the Rijksmuseum collection. Open daily
to all travelers.
description: Airport gallery description
exhibition_type:
slot_uri: dcterms:type
description: |
Type classification of this exhibition space.
Local enum for auxiliary exhibition space types:
- SATELLITE_GALLERY: Permanent secondary venue
- EXHIBITION_PAVILION: Purpose-built structure
- PARTNER_VENUE: Space in another institution
- POP_UP_GALLERY: Temporary venue
- OUTDOOR_EXHIBITION: Open-air display
- PROJECT_SPACE: Experimental art space
- STUDY_GALLERY: Visible storage/study collection
range: ExhibitionSpaceTypeEnum
required: true
examples:
@ -172,34 +132,12 @@ classes:
- value: PROJECT_SPACE
description: Contemporary project space
museum_type_classification:
slot_uri: schema:additionalType
description: |
Optional museum type classification from MuseumTypeEnum.
Use when exhibition space functions as museum-style venue.
Links to Wikidata-sourced museum types (187 types).
Examples:
- ART_MUSEUM (Q207694)
- HISTORY_MUSEUM (Q17431399)
- SCIENCE_MUSEUM (Q2087181)
range: MuseumTypeEnum
required: false
examples:
- value: ART_MUSEUM
description: Art museum classification
gallery_type_classification:
slot_uri: schema:additionalType
description: |
Optional gallery type classification from GalleryTypeEnum.
Use when exhibition space functions as gallery-style venue.
Links to Wikidata-sourced gallery types (78 types).
Examples:
- ART_GALLERY (Q1007870)
- EXHIBITION_HALL (Q1060829)
- KUNSTHALLE (Q856584)
range: GalleryTypeEnum
required: false
examples:
@ -208,67 +146,36 @@ classes:
- value: KUNSTHALLE
description: Kunsthalle classification
exhibition_floor_area_sqm:
slot_uri: schema:floorSize
description: |
Exhibition floor area in square meters.
Schema.org: floorSize for area measurement.
range: float
examples:
- value: 200.0
description: 200 m² gallery
exhibition_capacity:
slot_uri: schema:maximumAttendeeCapacity
description: |
Maximum visitor capacity at one time.
Schema.org: maximumAttendeeCapacity for visitor limits.
range: integer
examples:
- value: 50
description: 50 visitors maximum
has_climate_control:
slot_uri: schema:amenityFeature
description: |
Whether exhibition space has climate control for artwork preservation.
Required for sensitive artworks and loans.
range: boolean
examples:
- value: true
description: Climate controlled
has_security_system:
slot_uri: schema:amenityFeature
description: |
Whether exhibition space has security systems.
Required for valuable works and loans.
range: boolean
examples:
- value: true
description: Security system installed
is_accessible:
slot_uri: schema:accessibilityFeature
description: |
Whether exhibition space is wheelchair/mobility accessible.
range: boolean
examples:
- value: true
description: Wheelchair accessible
opening_hour:
slot_uri: schema:openingHours
description: |
Opening hours for this exhibition space.
range: string
examples:
- value: Daily 07:00-20:00
description: Airport gallery hours
has_or_had_admission_fee:
slot_uri: schema:offers
description: |
Admission fee information.
"Free" if no charge. Otherwise describe pricing.
range: string
examples:
- value: Free
@ -276,40 +183,21 @@ classes:
- value: €12.50 adults, €6.25 students
description: Paid admission
current_exhibition:
slot_uri: schema:event
description: |
Current or most recent exhibition at this space.
range: string
examples:
- value: Highlights from the Golden Age
description: Current exhibition
exhibition_schedule:
slot_uri: schema:eventSchedule
description: |
Exhibition rotation schedule if applicable.
e.g., "Exhibitions rotate every 6 months"
range: string
examples:
- value: Exhibitions rotate quarterly
description: Rotation schedule
is_permanent:
slot_uri: schema:duration
description: |
Whether this is a permanent exhibition space or temporary.
TRUE: Ongoing/permanent venue
FALSE: Temporary/pop-up venue
range: boolean
examples:
- value: true
description: Permanent venue
partner_institution:
slot_uri: schema:sponsor
description: |
Partner institution if exhibition space is in shared/partner venue.
Only relevant for PARTNER_VENUE exhibition type.
range: string
examples:
- value: Schiphol Group
@ -317,16 +205,10 @@ classes:
- value: Groninger Museum
description: Museum partnership
was_derived_from:
slot_uri: prov:wasDerivedFrom
description: |
CustodianObservation(s) from which this exhibition space record was derived.
range: CustodianObservation
multivalued: true
required: false
was_generated_by:
slot_uri: prov:wasGeneratedBy
description: |
ReconstructionActivity that generated this exhibition space record.
range: ReconstructionActivity
required: false
specificity_annotation:
@ -349,8 +231,8 @@ classes:
- value:
exhibition_space_id: https://nde.nl/ontology/hc/aux/rijksmuseum-schiphol-gallery
exhibition_space_name: Rijksmuseum Schiphol
exhibition_space_description: Free gallery at Schiphol Airport featuring rotating
highlights from the Rijksmuseum collection.
exhibition_space_description: Free gallery at Schiphol Airport featuring rotating highlights from the Rijksmuseum
collection.
exhibition_type: SATELLITE_GALLERY
museum_type_classification: ART_MUSEUM
exhibition_floor_area_sqm: 200.0
@ -368,8 +250,7 @@ classes:
- value:
exhibition_space_id: https://nde.nl/ontology/hc/aux/stedelijk-project-space
exhibition_space_name: Stedelijk Museum Bureau Amsterdam
exhibition_space_description: Project space for emerging contemporary artists
and experimental exhibitions.
exhibition_space_description: Project space for emerging contemporary artists and experimental exhibitions.
exhibition_type: PROJECT_SPACE
gallery_type_classification: PROJECT_SPACE
exhibition_floor_area_sqm: 150.0
@ -378,4 +259,3 @@ classes:
admission_fee: Free
is_permanent: true
description: Contemporary art project space

View file

@ -10,195 +10,114 @@ prefixes:
dct: http://purl.org/dc/terms/
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
- ../metadata
- ./LLMResponse
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../enums/ProfileExtractionMethodEnum
- ../slots/extraction_agent
- ../slots/extraction_method
- ../slots/cost_usd
- ../slots/source_file
- ../slots/staff_id
- ../slots/extraction_date
- ../slots/linkedin_url
- ../slots/request_id
- ../slots/llm_response
- ../slots/specificity_annotation
- ../slots/template_specificity
- linkml:types
- ../metadata
- ./LLMResponse
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../enums/ProfileExtractionMethodEnum
- ../slots/extraction_agent
- ../slots/extraction_method
- ../slots/cost_usd
- ../slots/source_file
- ../slots/staff_id
- ../slots/extraction_date
- ../slots/linkedin_url
- ../slots/request_id
- ../slots/llm_response
- ../slots/specificity_annotation
- ../slots/template_specificity
default_range: string
classes:
ExtractionMetadata:
class_uri: prov:Activity
description: "Provenance metadata for data extraction activities.\n\nRecords how,\
\ when, and by what agent data was extracted from \nexternal sources (LinkedIn,\
\ web scraping, APIs).\n\n**PROV-O Alignment**:\n- ExtractionMetadata IS a prov:Activity\
\ (the extraction process)\n- The extracted data IS the prov:Entity (output\
\ of the activity)\n- extraction_agent IS the prov:Agent (software/AI that performed\
\ extraction)\n- source_file/linkedin_url IS prov:used (input to the activity)\n\
\n**Use Cases**:\n- LinkedIn profile extractions via Exa API\n- Web scraping\
\ provenance\n- Staff list parsing provenance\n- Connection network extraction\n\
\n**Example JSON Structure**:\n```json\n{\n \"extraction_metadata\": {\n \
\ \"source_file\": \"/path/to/source.json\",\n \"staff_id\": \"org_staff_0001_name\"\
,\n \"extraction_date\": \"2025-12-12T22:00:00Z\",\n \"extraction_method\"\
: \"exa_crawling_exa\",\n \"extraction_agent\": \"claude-opus-4.5\",\n \
\ \"linkedin_url\": \"https://www.linkedin.com/in/...\",\n \"cost_usd\"\
: 0.001\n }\n}\n```\n"
description: "Provenance metadata for data extraction activities.\n\nRecords how, when, and by what agent data was extracted\
\ from \nexternal sources (LinkedIn, web scraping, APIs).\n\n**PROV-O Alignment**:\n- ExtractionMetadata IS a prov:Activity\
\ (the extraction process)\n- The extracted data IS the prov:Entity (output of the activity)\n- extraction_agent IS\
\ the prov:Agent (software/AI that performed extraction)\n- source_file/linkedin_url IS prov:used (input to the activity)\n\
\n**Use Cases**:\n- LinkedIn profile extractions via Exa API\n- Web scraping provenance\n- Staff list parsing provenance\n\
- Connection network extraction\n\n**Example JSON Structure**:\n```json\n{\n \"extraction_metadata\": {\n \"source_file\"\
: \"/path/to/source.json\",\n \"staff_id\": \"org_staff_0001_name\",\n \"extraction_date\": \"2025-12-12T22:00:00Z\"\
,\n \"extraction_method\": \"exa_crawling_exa\",\n \"extraction_agent\": \"claude-opus-4.5\",\n \"linkedin_url\"\
: \"https://www.linkedin.com/in/...\",\n \"cost_usd\": 0.001\n }\n}\n```\n"
exact_mappings:
- prov:Activity
- prov:Activity
close_mappings:
- schema:Action
- dct:ProvenanceStatement
- schema:Action
- dct:ProvenanceStatement
slots:
- cost_usd
- extraction_agent
- extraction_date
- extraction_method
- linkedin_url
- llm_response
- request_id
- source_file
- specificity_annotation
- staff_id
- template_specificity
- cost_usd
- extraction_agent
- extraction_date
- extraction_method
- linkedin_url
- llm_response
- request_id
- source_file
- specificity_annotation
- staff_id
- template_specificity
slot_usage:
source_file:
description: |
Path to the source file from which data was derived.
PROV-O: prov:used - the entity that was used as input.
slot_uri: prov:used
range: string
examples:
- value: /data/custodian/person/affiliated/parsed/rijksmuseum_staff_20251210T155416Z.json
description: Path to parsed staff list JSON
- value: /data/custodian/person/affiliated/parsed/rijksmuseum_staff_20251210T155416Z.json
description: Path to parsed staff list JSON
staff_id:
description: |
Unique identifier for the staff member within the source organization.
Format: {org_slug}_staff_{index}_{name_slug}
slot_uri: dct:identifier
range: string
pattern: ^[a-z0-9-]+_staff_[a-z0-9-_]+$
examples:
- value: rijksmuseum_staff_0042_jan_van_der_berg
description: Staff ID with org prefix, index, and name slug
- value: rijksmuseum_staff_0042_jan_van_der_berg
description: Staff ID with org prefix, index, and name slug
extraction_date:
description: |
ISO 8601 timestamp when the extraction was performed.
PROV-O: prov:endedAtTime - when the activity completed.
slot_uri: prov:endedAtTime
range: datetime
required: true
examples:
- value: '2025-12-12T22:00:00Z'
description: UTC timestamp of extraction
- value: '2025-12-12T22:00:00Z'
description: UTC timestamp of extraction
extraction_method:
description: |
The method/tool used to extract the data.
PROV-O: prov:wasAssociatedWith via software agent.
**Common Values**:
- exa_crawling_exa: Exa AI crawling API
- exa_contents: Exa contents endpoint
- exa_crawling_glm47: Exa + GLM 4.7 extraction
- linkedin_html_parser: Local HTML parsing
- manual: Manual data entry
- firecrawl: Firecrawl web scraping
- playwright: Playwright browser automation
slot_uri: prov:wasGeneratedBy
range: ProfileExtractionMethodEnum
required: true
examples:
- value: exa_crawling_exa
description: Extracted via Exa AI crawling API
- value: exa_crawling_exa
description: Extracted via Exa AI crawling API
extraction_agent:
description: |
The AI agent or software that performed the extraction.
PROV-O: prov:wasAssociatedWith - agent associated with the activity.
**Common Values**:
- claude-opus-4.5: Claude Opus 4.5 (manual extraction)
- glm-4.7: ZhipuAI GLM 4.7
- automated: Fully automated script (no LLM)
slot_uri: prov:wasAssociatedWith
range: string
examples:
- value: claude-opus-4.5
description: Extracted by Claude Opus 4.5
- value: ''
description: Empty string for fully automated extraction
- value: claude-opus-4.5
description: Extracted by Claude Opus 4.5
- value: ''
description: Empty string for fully automated extraction
linkedin_url:
description: |
LinkedIn profile URL that was extracted.
PROV-O: prov:used - the source entity.
slot_uri: schema:url
range: uri
pattern: ^https://www\.linkedin\.com/in/[a-z0-9-]+/?$
examples:
- value: https://www.linkedin.com/in/jan-van-der-berg-12345
description: LinkedIn profile URL
- value: https://www.linkedin.com/in/jan-van-der-berg-12345
description: LinkedIn profile URL
cost_usd:
description: |
API cost in USD for the extraction operation.
Used for tracking extraction costs (Exa API, etc.).
slot_uri: schema:price
range: float
minimum_value: 0.0
examples:
- value: 0.001
description: Exa API call cost
- value: 0.0
description: Free extraction (cached/local)
- value: 0.001
description: Exa API call cost
- value: 0.0
description: Free extraction (cached/local)
request_id:
description: |
Unique request ID from the extraction service (for tracing).
slot_uri: dct:identifier
range: string
examples:
- value: exa_12345678-abcd-efgh-ijkl-mnopqrstuv
description: Exa API request ID
- value: exa_12345678-abcd-efgh-ijkl-mnopqrstuv
description: Exa API request ID
llm_response:
description: |
Full LLM response provenance including reasoning_content.
Captures GLM 4.7 Thinking Modes (Interleaved, Preserved, Turn-level)
for extractions that use LLM processing.
**PROV-O Alignment**:
- The LLMResponse IS a sub-activity (prov:qualifiedGeneration)
- Provides detailed audit trail of LLM inference for the extraction
**Use Cases**:
- LinkedIn profile extraction with GLM 4.7 reasoning
- Web content extraction with chain-of-thought logging
- Staff list processing with schema conformity validation
**When to Include**:
- extraction_method is exa_crawling_glm47
- Any extraction involving LLM processing
- When reasoning_content provides valuable audit trail
slot_uri: prov:qualifiedGeneration
range: LLMResponse
required: false
inlined: true
examples:
- value: |
{
"content": "Extracted institution data...",
"reasoning_content": "Analyzing the input for LinkML schema conformity...",
"thinking_mode": "preserved",
"clear_thinking": false,
"model": "glm-4.7",
"provider": "zai",
"created": "2025-12-23T10:30:00Z",
"prompt_tokens": 150,
"completion_tokens": 450,
"total_tokens": 600,
"finish_reason": "stop",
"cost_usd": 0.0
}
description: GLM 4.7 response with Preserved Thinking for extraction
- value: "{\n \"content\": \"Extracted institution data...\",\n \"reasoning_content\": \"Analyzing the input for\
\ LinkML schema conformity...\",\n \"thinking_mode\": \"preserved\",\n \"clear_thinking\": false,\n \"model\"\
: \"glm-4.7\",\n \"provider\": \"zai\",\n \"created\": \"2025-12-23T10:30:00Z\",\n \"prompt_tokens\": 150,\n\
\ \"completion_tokens\": 450,\n \"total_tokens\": 600,\n \"finish_reason\": \"stop\",\n \"cost_usd\": 0.0\n\
}\n"
description: GLM 4.7 response with Preserved Thinking for extraction
specificity_annotation:
range: SpecificityAnnotation
inlined: true
@ -206,10 +125,10 @@ classes:
range: TemplateSpecificityScores
inlined: true
comments:
- Every person entity file MUST have extraction_metadata
- See AGENTS.md Rule 20 for required fields
- extraction_agent should be 'claude-opus-4.5' for manual extraction
- cost_usd enables budget tracking for API-heavy extractions
- Every person entity file MUST have extraction_metadata
- See AGENTS.md Rule 20 for required fields
- extraction_agent should be 'claude-opus-4.5' for manual extraction
- cost_usd enables budget tracking for API-heavy extractions
see_also:
- https://www.w3.org/TR/prov-o/
- https://docs.exa.ai/
- https://www.w3.org/TR/prov-o/
- https://docs.exa.ai/

View file

@ -239,36 +239,6 @@ classes:
- visitor_service
slot_usage:
feature_type:
description: 'Types of physical heritage features managed by this custodian.
Indicates what kinds of monuments, landmarks, or sites this organization manages:
- Monuments (memorials, statues, commemorative structures)
- Landmarks (towers, bridges, lighthouses, historic buildings)
- Historic sites (battlefields, archaeological sites, ruins)
- Landscape features (historic gardens, cemeteries, canals)
- Religious heritage (churches, temples, mosques, shrines)
Values correspond to FeatureTypeEnum (298 physical feature types).
Examples:
- English Heritage: "Castle", "Abbey", "Monument", "Historic house"
- National Trust: "Country house", "Garden", "Coastline", "Archaeological site"
- Monumentenwacht: "Church", "Windmill", "Historic farmhouse", "Fort"
- National Park Service: "Monument", "Memorial", "Historic battlefield"
'
range: string
multivalued: true
required: true
@ -280,34 +250,6 @@ classes:
- value: Archaeological site, Ruins
description: Excavation and preservation sites
site_portfolio:
description: 'Scope and scale of physical features under management.
Describes the extent of the custodian''s responsibilities:
- Number of sites/monuments managed
- Geographic distribution (single site vs. regional/national network)
- Type diversity (specialized vs. multi-type portfolio)
- Management model (ownership vs. stewardship vs. advisory)
Helps understand organizational capacity and scope.
Examples:
- "Single monument (Eiffel Tower)" - Focused management
- "400+ monuments across England" - Large national network
- "12 historic windmills in Utrecht province" - Regional cluster
- "UNESCO World Heritage Site complex (Angkor Wat)" - Multi-feature site
'
range: string
required: true
examples:
@ -318,38 +260,6 @@ classes:
- value: 150+ National Trust properties
description: UK heritage charity holdings
visitor_service:
description: 'Services provided to enable public access and engagement with heritage features.
Describes how the custodian facilitates visitor experiences:
- Access infrastructure (ticketing, opening hours, paths, signage)
- Interpretation (guided tours, audio guides, exhibit panels, apps)
- Educational programs (school visits, workshops, demonstrations)
- Amenities (visitor centers, cafés, gift shops, parking)
- Accessibility provisions (wheelchair access, audio descriptions, tactile models)
- Events and programming (festivals, reenactments, concerts)
Important for understanding public engagement mission.
Examples:
- "Guided tours, gift shop, café, visitor center"
- "Self-guided trails with interpretive signage"
- "Education programs for schools, seasonal events"
- "Free public access, no facilities"
'
range: string
required: true
examples:
@ -360,38 +270,6 @@ classes:
- value: Timed entry tickets, Multilingual audio guide
description: High-capacity monument services
has_or_had_conservation_activity:
description: 'Preservation and maintenance work undertaken to protect physical heritage features.
Describes the custodian''s conservation mission and methods:
- Preventive conservation (monitoring, environmental control, pest management)
- Structural repairs (masonry, roofing, foundations, engineering)
- Materials conservation (stone cleaning, metal stabilization, wood treatment)
- Archaeological research (excavation, documentation, analysis)
- Landscape management (vegetation control, drainage, soil conservation)
- Restoration projects (reconstruction, replication, adaptive reuse)
Demonstrates technical capacity and heritage stewardship commitment.
Examples:
- "Annual structural inspections, masonry repairs, drainage maintenance"
- "Archaeological excavation, artifact conservation, site documentation"
- "Vegetation management, erosion control, path restoration"
- "Minimal intervention, monitoring only"
'
range: string
required: true
examples:
@ -402,38 +280,6 @@ classes:
- value: Monitoring condition, Emergency stabilization
description: Minimal intervention approach
has_or_had_access_management:
description: 'Policies and systems governing visitor access to heritage features.
Describes how the custodian balances public access with conservation:
- Entry control (free access, ticketing, reservations, capacity limits)
- Opening schedules (seasonal, daily hours, closures for conservation)
- Visitor behavior policies (photography, touching, drones, pets)
- Safety protocols (barriers, lighting, emergency procedures)
- Accessibility programs (sensory-friendly hours, mobility aids)
- Virtual access (online tours, webcams, 3D models)
Important for understanding conservation vs. access trade-offs.
Examples:
- "Timed entry tickets to limit daily visitors"
- "Free access year-round, no booking required"
- "Closed November-March for conservation"
- "Virtual tour available for restricted areas"
'
range: string
required: true
examples:
@ -444,38 +290,6 @@ classes:
- value: Restricted access, Conservation priority, Virtual alternatives
description: Limited access model
stewardship_model:
description: 'Legal and organizational framework for managing heritage features.
Describes the custodian''s authority and operational model:
- Ownership status (owner, leaseholder, guardian, trustee)
- Legal form (government agency, charitable trust, foundation, private company)
- Funding model (government-funded, self-sustaining, mixed)
- Governance structure (board, advisory committee, ministerial oversight)
- Partnership arrangements (co-management, stakeholder consultation)
- Duration of responsibility (permanent, fixed-term, contractual)
Helps understand organizational sustainability and accountability.
Examples:
- "Charitable trust ownership and management"
- "Government agency with statutory authority"
- "Private company operating under lease"
- "Community co-management with indigenous group"
'
range: string
required: true
examples:

View file

@ -72,26 +72,6 @@ classes:
- was_generated_by
slot_usage:
feature_type:
description: 'Type of physical heritage feature (REQUIRED).
Specifies what kind of physical feature this is:
- MANSION: Historic mansion or large dwelling
- MONUMENT: Memorial or commemorative structure
- CHURCH: Religious building
- CASTLE: Fortified building
- CEMETERY: Burial ground
- PARK: Heritage park or garden
- etc. (298 types total)
'
range: FeatureTypeEnum
required: true
examples:
@ -102,18 +82,6 @@ classes:
- value: CEMETERY
description: Historic burial ground
feature_name:
slot_uri: crm:P87_is_identified_by
description: 'Name/label of the physical feature type classification (OPTIONAL).
CIDOC-CRM: P87_is_identified_by links E1_CRM_Entity to E41_Appellation.
Usually derived from the CustodianPlace.place_name or describes the type.
Can be omitted if only feature_type classification is needed.
'
range: string
required: false
examples:
@ -124,13 +92,6 @@ classes:
- value: Parish church structure
description: Church building type name
feature_language:
slot_uri: dcterms:language
description: 'Language of feature name.
Dublin Core: language for linguistic context.
'
range: string
required: false
examples:
@ -139,24 +100,6 @@ classes:
- value: en
description: English feature name
feature_description:
slot_uri: dcterms:description
description: 'Description of the physical feature characteristics.
Dublin Core: description for textual descriptions.
Include:
- Architectural style/period
- Physical characteristics
- Heritage significance
- Construction details
'
range: string
required: false
examples:
@ -165,43 +108,12 @@ classes:
- value: 17th-century canal mansion with ornate gable facade
description: Mansion architectural features
classifies_place:
slot_uri: dcterms:type
description: 'Link to the CustodianPlace that this feature type classifies (REQUIRED).
Dublin Core: type for classification relationship.
This links the feature type classification back to the nominal place reference.
Example: FeaturePlace(MUSEUM) classifies_place → CustodianPlace("Rijksmuseum")
'
range: CustodianPlace
required: true
examples:
- value: https://nde.nl/ontology/hc/place/rijksmuseum-location
description: Classifies 'Rijksmuseum' place as MUSEUM building type
feature_note:
slot_uri: skos:note
description: 'Contextual notes about the feature type classification.
SKOS: note for editorial annotations.
Use for:
- Classification rationale
- Architectural period
- Conservation status
- Heritage designation
'
range: string
required: false
examples:
@ -210,55 +122,13 @@ classes:
- value: 'Rijksmonument #12345, Neo-Gothic style'
description: Heritage and architectural notes
was_derived_from:
slot_uri: prov:wasDerivedFrom
description: 'CustodianObservation(s) from which this feature type was identified (REQUIRED).
PROV-O: wasDerivedFrom establishes observation→feature type derivation.
Feature type classification can be derived from:
- Architectural surveys describing building type
- Heritage registers classifying monuments
- Historical documents mentioning "mansion", "church", etc.
'
range: CustodianObservation
multivalued: true
required: true
was_generated_by:
slot_uri: prov:wasGeneratedBy
description: 'ReconstructionActivity that classified this feature type (optional).
If present: Classification created through formal reconstruction process
If null: Feature type extracted directly without reconstruction activity
PROV-O: wasGeneratedBy links Entity (FeaturePlace) to generating Activity.
'
range: ReconstructionActivity
required: false
valid_from:
slot_uri: schema:validFrom
description: 'Start of validity period for this feature type classification.
Schema.org: validFrom for temporal validity.
Use when:
- Feature type changed (mansion converted to museum building)
- Classification updated based on new evidence
'
range: date
required: false
examples:
@ -267,22 +137,6 @@ classes:
- value: '1650-01-01'
description: Mansion construction date
valid_to:
slot_uri: schema:validThrough
description: 'End of validity period for this feature type classification.
Schema.org: validThrough for temporal validity.
Use when:
- Feature demolished/destroyed
- Building repurposed (mansion → office building)
- Classification no longer valid
'
range: date
required: false
examples:

View file

@ -266,14 +266,6 @@ classes:
'
range: uri
slot_usage:
protocol:
description: File APIs use REST protocol for downloads (DataServiceProtocolEnum.REST).
has_authentication_required_flag:
description: 'Master files often require authentication.
Thumbnails and low-res typically public.
'
specificity_annotation:
range: SpecificityAnnotation
inlined: true

View file

@ -22,12 +22,10 @@ imports:
- ./TemplateSpecificityScores
classes:
FilmArchive:
description: Archive that safeguards film heritage. Film archives collect, preserve,
restore, and provide access to motion pictures, including feature films, documentaries,
newsreels, and other moving image materials. They often also maintain related
materials such as scripts, production documents, posters, and equipment. Film
archives play a crucial role in preserving cultural heritage in moving image
form.
description: Archive that safeguards film heritage. Film archives collect, preserve, restore, and provide access to motion
pictures, including feature films, documentaries, newsreels, and other moving image materials. They often also maintain
related materials such as scripts, production documents, posters, and equipment. Film archives play a crucial role in
preserving cultural heritage in moving image form.
is_a: ArchiveOrganizationType
class_uri: schema:ArchiveOrganization
slots:
@ -40,18 +38,10 @@ classes:
wikidata_entity:
equals_string: Q726929
has_or_had_holds_record_set_type:
description: |
Links this custodian type to the record set types it typically holds.
Uses RiC-O property rico:isOrWasHolderOf to express custodial relationship.
equals_expression: '["hc:FeatureFilmCollection", "hc:DocumentaryFilmCollection", "hc:NewsreelSeries", "hc:ProductionRecordsFonds",
"hc:FilmPromoCollection"]
**Film Archive Holdings**:
- FeatureFilmCollection - feature-length fiction films
- DocumentaryFilmCollection - non-fiction documentary films
- NewsreelSeries - news and current affairs footage
- ProductionRecordsFonds - scripts, production documents, stills
- FilmPromoCollection - posters, lobby cards, press kits
equals_expression: |
["hc:FeatureFilmCollection", "hc:DocumentaryFilmCollection", "hc:NewsreelSeries", "hc:ProductionRecordsFonds", "hc:FilmPromoCollection"]
'
has_or_had_custodian_type:
equals_expression: '["hc:ArchiveOrganizationType"]'
specificity_annotation:
@ -62,8 +52,7 @@ classes:
inlined: true
annotations:
skos:prefLabel: Film Archive
skos:altLabel: Filmarchiv, archivo fílmico, archives cinématographiques, Cinematheque,
Moving Image Archive
skos:altLabel: Filmarchiv, archivo fílmico, archives cinématographiques, Cinematheque, Moving Image Archive
media_type: moving image
exact_mappings:
- wd:Q726929

View file

@ -154,518 +154,128 @@ classes:
id:
identifier: true
required: true
description: 'Unique identifier for this financial statement (URI).
Format: https://nde.nl/ontology/hc/financial-statement/{custodian-id}/{type}/{year}
'
statement_name:
slot_uri: dcterms:title
range: string
required: true
description: 'Name/title for this financial statement.
**Examples**:
- "Rijksmuseum Annual Report 2023"
- "Wallace Collection Form 990 FY2023"
- "Noord-Hollands Archief Audited Financial Statements 2023"
'
statement_description:
slot_uri: dcterms:description
range: string
required: false
description: 'Narrative description of statement scope and key highlights.
'
statement_type:
slot_uri: dcterms:type
range: FinancialStatementTypeEnum
required: true
description: 'Type of financial statement.
**See**: FinancialStatementTypeEnum for valid values.
'
reporting_period_start:
slot_uri: time:hasBeginning
range: date
required: true
description: 'Start date of reporting period covered.
'
reporting_period_end:
slot_uri: time:hasEnd
range: date
required: true
description: 'End date of reporting period covered.
'
publication_date:
slot_uri: dcterms:issued
range: date
required: false
description: 'Date when statement was published/issued.
**Dublin Core**: dcterms:issued for publication date.
'
statement_currency:
slot_uri: schema:currency
range: string
required: true
description: 'Currency for all monetary amounts (ISO 4217).
'
examples:
- value: EUR
- value: USD
- value: GBP
total_revenue:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Total revenue/income for reporting period.
Includes:
- Contributions and grants
- Program service revenue
- Investment income
- Other income
'
total_expense:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Total expenses for reporting period.
'
change_in_net_asset:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Change in net assets (surplus/deficit).
= total_revenue - total_expenses
**Nonprofit terminology**: "Change in net assets"
(not "profit" or "net income")
'
total_asset:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Total assets at end of reporting period.
**Statement of Financial Position** (Balance Sheet):
Assets = Liabilities + Net Assets
'
total_liability:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Total liabilities at end of reporting period.
'
total_net_asset:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Total net assets at end of reporting period.
**Nonprofit terminology**: "Net assets"
(not "shareholders'' equity")
Components:
- Net assets without donor restrictions
- Net assets with donor restrictions
'
program_expense:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Program/mission expenses (nonprofit-specific).
**Statement of Functional Expenses**:
Expenses directly supporting mission activities.
For heritage custodians:
- Collection care
- Exhibitions
- Public programs
- Research
- Education
'
has_or_had_administrative_expense:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Administrative/management expenses (nonprofit-specific).
**Statement of Functional Expenses**:
- Executive management
- Finance/accounting
- HR
- Facilities (overhead)
'
fundraising_expense:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Fundraising expenses (nonprofit-specific).
**Statement of Functional Expenses**:
- Development staff
- Events
- Direct mail
- Grant writing
'
innovation_expense:
slot_uri: frapo:hasFunding
range: decimal
required: false
description: 'Innovation expenses (actual spending on innovation projects).
**Heritage-specific**: Actual expenditures on innovation projects
that transform how the institution operates, preserves, or provides
access to heritage.
Includes:
- Digital transformation initiatives
- R&D and experimental programs
- New technology adoption (AI, machine learning, etc.)
- Process automation and improvement
- Visitor experience innovation
- Collection management system upgrades
- Data infrastructure modernization
**Comparison with Budget**:
Compare FinancialStatement.innovation_expenses to Budget.innovation_budget
to assess variance between planned and actual innovation spending.
**Examples**:
- Implementation of AI-powered cataloging
- Development of virtual reality experiences
- Deployment of automated conservation monitoring
- Building linked open data infrastructure
'
has_or_had_audit_status:
slot_uri: schema:eventStatus
range: string
required: false
description: 'Audit status of this statement.
**Values**:
- UNAUDITED: Draft or management-prepared
- REVIEWED: CPA review (limited assurance)
- AUDITED: Full audit (reasonable assurance)
- QUALIFIED: Audited with qualification
'
examples:
- value: AUDITED
description: Full independent audit completed
has_auditor_name:
slot_uri: prov:wasAttributedTo
range: string
required: false
description: 'Name of auditing firm or CPA.
**Examples**:
- "KPMG Accountants N.V."
- "Deloitte & Touche LLP"
- "Local CPA Firm"
'
has_audit_opinion:
slot_uri: dcterms:description
range: string
required: false
description: 'Type of audit opinion issued.
**Values**:
- UNQUALIFIED: Clean opinion (best)
- QUALIFIED: Exception noted
- ADVERSE: Material misstatement
- DISCLAIMER: Unable to form opinion
'
examples:
- value: UNQUALIFIED
description: Clean audit opinion
has_audit_date:
slot_uri: dcterms:date
range: date
required: false
description: 'Date of auditor''s report.
'
financial_document_url:
slot_uri: schema:url
range: uri
required: false
description: 'URL where statement document can be accessed.
**Sources**:
- Institution website (annual reports)
- ProPublica Nonprofit Explorer (Form 990)
- GuideStar/Candid
- Government transparency portals
'
examples:
- value: https://www.rijksmuseum.nl/en/about-us/annual-report
description: Museum annual report page
financial_document_format:
slot_uri: dcterms:format
range: string
required: false
description: 'File format of document.
**Values**: PDF, HTML, XBRL, etc.
'
filing_type:
slot_uri: dcterms:type
range: string
required: false
description: 'Type of regulatory filing (if applicable).
**Examples**:
- "IRS Form 990" (US nonprofits)
- "ANBI Publicatieplicht" (Dutch charities)
- "Charity Commission Annual Return" (UK)
- "ATO Annual Information Statement" (Australia)
'
filing_id:
slot_uri: dcterms:identifier
range: string
required: false
description: 'Filing identifier or reference number.
**Examples**:
- EIN (US): "13-1624102"
- RSIN (NL): "123456789"
- Charity number (UK): "123456"
'
financial_archival_stage:
slot_uri: rico:hasRecordState
range: string
required: false
description: 'Current position in three-tier records lifecycle.
**RiC-O**: rico:hasRecordState for record lifecycle.
**Values**:
- ACTIVE: In CustodianAdministration (current year)
- INACTIVE: In CustodianArchive (prior years, retention)
- HERITAGE: In CustodianCollection (historical significance)
**Links to**:
- If ACTIVE → CustodianAdministration instance
- If INACTIVE → CustodianArchive instance
- If HERITAGE → CustodianCollection instance
'
examples:
- value: ACTIVE
description: Current year statement in active use
- value: INACTIVE
description: Prior year in retention period
documents_budget:
slot_uri: rico:documents
range: Budget
multivalued: true
required: false
description: 'Budget(s) that this statement documents/testifies to.
**RiC-O**: rico:documents links RecordResource to Activity/Thing documented.
**Relationship Pattern**:
- FinancialStatement --rico:documents--> Budget
- Budget --rico:isDocumentedBy--> FinancialStatement (inverse)
FinancialStatement TESTIFIES to Budget performance by
providing actual figures that can be compared to budget.
**Budget Variance Analysis**:
Compare Budget.operating_budget to FinancialStatement.total_expenses
to calculate variance and assess budget accuracy.
'
examples:
- value: https://nde.nl/ontology/hc/budget/rm/fy2023
description: Statement documents FY2023 budget
managing_unit:
slot_uri: org:unitOf
range: OrganizationalStructure
required: false
description: 'Organizational unit responsible for preparing this statement.
Typically: Finance department, Controller''s office
'
refers_to_custodian:
slot_uri: crm:P46i_forms_part_of
range: Custodian
required: true
description: 'Links this statement to the Custodian hub.
**CIDOC-CRM**: P46i_forms_part_of for part-whole.
'
was_derived_from:
slot_uri: prov:wasDerivedFrom
range: CustodianObservation
multivalued: true
required: false
description: 'Observation(s) from which this statement was derived.
**PROV-O**: prov:wasDerivedFrom for provenance.
'
was_generated_by:
slot_uri: prov:wasGeneratedBy
range: ReconstructionActivity
required: false
description: 'Reconstruction activity that generated this record.
**PROV-O**: prov:wasGeneratedBy for generation.
'
valid_from:
slot_uri: time:hasBeginning
range: date
required: false
description: 'Start of validity (typically = reporting_period_start).
'
valid_to:
slot_uri: time:hasEnd
range: date
required: false
description: 'End of validity (typically = reporting_period_end).
'
specificity_annotation:
range: SpecificityAnnotation
inlined: true

View file

@ -279,31 +279,21 @@ classes:
custodian:
required: true
finding_aid_description:
slot_uri: dcterms:description
range: MultilingualText
inlined: true
description: Multilingual description of the finding aid
finding_aid_temporal_coverage:
slot_uri: dcterms:temporal
range: TemporalCoverage
inlined: true
description: Time period covered by the finding aid materials
finding_aid_access_restriction:
slot_uri: dcterms:accessRights
range: AccessRestriction
multivalued: true
inlined_as_list: true
description: Access restrictions for materials covered
has_or_had_web_claim:
slot_uri: prov:wasGeneratedBy
range: WebClaim
multivalued: true
inlined_as_list: true
description: Web claims with XPath provenance
language:
slot_uri: dcterms:language
multivalued: true
description: Language(s) of the finding aid (ISO 639-1 codes)
specificity_annotation:
range: SpecificityAnnotation
inlined: true
@ -338,14 +328,6 @@ classes:
- specificity_annotation
- template_specificity
slot_usage:
nl:
description: Dutch text
en:
description: English text
de:
description: German text
fr:
description: French text
specificity_annotation:
range: SpecificityAnnotation
inlined: true
@ -372,17 +354,13 @@ classes:
- wikidata
slot_usage:
ghcid:
description: Global Heritage Custodian Identifier
required: true
pattern: ^[A-Z]{2}-[A-Z]{2}-[A-Z]{3}-[A-Z]-[A-Z0-9]+$
isil:
description: International Standard Identifier for Libraries (ISO 15511)
pattern: ^[A-Z]{2}-[A-Za-z0-9]+$
name:
description: Human-readable name of custodian
required: true
wikidata:
description: Wikidata entity ID (Q-number)
pattern: ^Q[0-9]+$
specificity_annotation:
range: SpecificityAnnotation
@ -414,27 +392,20 @@ classes:
- template_specificity
slot_usage:
start:
description: Start year of coverage
range: TemporalValue
required: true
end:
description: End year of coverage (use "present" for ongoing)
range: TemporalValue
required: true
note:
description: Additional notes about temporal coverage
has_or_had_period:
description: Named periods within coverage
range: TemporalPeriod
multivalued: true
inlined_as_list: true
has_or_had_key_period:
description: Named historical periods (alias for periods)
range: TemporalPeriod
multivalued: true
inlined_as_list: true
has_or_had_key_date:
description: Significant historical dates
range: KeyDate
multivalued: true
inlined_as_list: true
@ -460,26 +431,21 @@ classes:
- template_specificity
slot_usage:
period_name:
description: Name of the period
range: string
required: true
aliases:
- name
period:
description: Period as single string (e.g., "1945-1965")
range: string
period_start:
description: Start year
range: TemporalValue
aliases:
- start
period_end:
description: End year
range: TemporalValue
aliases:
- end
period_description:
description: Description of the period
range: string
aliases:
- description
@ -544,33 +510,22 @@ classes:
- template_specificity
slot_usage:
primary:
description: Primary geographic areas covered
multivalued: true
scope:
description: Description of geographic scope
secondary:
description: Secondary geographic areas (less prominent coverage)
multivalued: true
related:
description: Related geographic areas (e.g., for WWII - Germany, Japan)
multivalued: true
historical_region:
description: Historical region names (may no longer exist)
multivalued: true
colonial:
description: Colonial territories covered
multivalued: true
international:
description: International scope descriptions
multivalued: true
major_city:
description: Major cities within coverage area
multivalued: true
inbound_from:
description: Migration origin countries/regions (for migration guides)
multivalued: true
outbound_to:
description: Migration destination countries/regions
multivalued: true
specificity_annotation:
range: SpecificityAnnotation
@ -607,28 +562,15 @@ classes:
- url
slot_usage:
slug:
description: URL slug identifier
required: true
title_nl:
description: Dutch title
required: true
title_en:
description: English title
url:
description: Relative or absolute URL to sub-guide
required: true
sub_guide_temporal_coverage:
description: Time period covered (free text, e.g., "1811-1935", "before 1811")
sub_guide_description:
description: Brief description of the sub-guide content
sub_guide_type:
description: Type of sub-guide reference
range: SubGuideTypeEnum
is_or_was_access_restricted:
description: Whether access to this sub-guide is restricted
range: boolean
note:
description: Additional notes about this sub-guide reference
specificity_annotation:
range: SpecificityAnnotation
inlined: true
@ -660,25 +602,12 @@ classes:
- url
slot_usage:
name:
description: Short name or has_or_had_abbreviation
required: true
full_name:
description: Full official name
resource_description:
description: Description of the archive's relevance
location:
description: Physical location (city, country)
url:
description: URL to archive website
range: uri
required: false
isil:
description: ISIL code of the archive (ISO 15511)
pattern: ^[A-Z]{2}-[A-Za-z0-9]+$
sub_guide_temporal_coverage:
description: Time period of holdings (free text)
has_or_had_access_condition:
description: Access restrictions or requirements
specificity_annotation:
range: SpecificityAnnotation
inlined: true
@ -707,15 +636,10 @@ classes:
- title_nl
slot_usage:
slug:
description: URL slug identifier
required: true
title_nl:
description: Dutch title
required: true
title_en:
description: English title
relationship:
description: Type of relationship
range: RelationshipTypeEnum
specificity_annotation:
range: SpecificityAnnotation
@ -737,15 +661,10 @@ classes:
- years_restricted
slot_usage:
restriction_type:
description: Type of restriction (privacy, cabr, closed, etc.)
required: true
restriction_description:
description: Description of the restriction
years_restricted:
description: Number of years materials are restricted
range: integer
permission_required:
description: Whether explicit permission is required
range: boolean
specificity_annotation:
range: SpecificityAnnotation
@ -772,17 +691,12 @@ classes:
- url
slot_usage:
name:
description: Name of external resource
required: true
url:
description: URL to external resource
range: uri
required: true
type:
description: Type of resource
range: ExternalResourceTypeEnum
resource_description:
description: Brief description of the resource
specificity_annotation:
range: SpecificityAnnotation
inlined: true
@ -817,30 +731,14 @@ classes:
- validation_status
slot_usage:
date_retrieved:
description: ISO 8601 date when data was retrieved
range: date
required: true
retrieval_agent:
description: Tool/method used for retrieval
required: true
source_url:
description: Original source URL
range: uri
extraction_note:
description: Notes about extraction process or quality
extraction_method:
description: Method used (manual, automated, hybrid)
crawler_version:
description: Version of crawling tool used
html_snapshot_path:
description: Relative path to archived HTML snapshot
claims_count:
description: Number of web claims extracted
range: integer
validation_status:
description: Status of validation (validated, pending, failed)
note:
description: Additional provenance notes or remarks
specificity_annotation:
range: SpecificityAnnotation
inlined: true
@ -873,41 +771,28 @@ classes:
- template_specificity
- xpath
slot_usage:
section_id:
description: Unique identifier for this section
heading_level:
description: Heading level (1-6 for h1-h6)
range: integer
minimum_value: 1
maximum_value: 6
heading_text:
description: Text of the section heading (original language)
required: true
heading_text_en:
description: English translation of heading
content_block:
description: Paragraph content within this section
multivalued: true
has_or_had_sub_section:
description: Nested sub-sections
range: PageSection
multivalued: true
inlined_as_list: true
has_or_had_section_link:
description: Links within this section
range: PageLink
multivalued: true
inlined_as_list: true
has_or_had_featured_item:
description: Featured cards/items in this section
range: FeaturedCard
multivalued: true
inlined_as_list: true
list_item:
description: List items (bulleted/numbered) in this section
multivalued: true
xpath:
description: XPath to this section element
specificity_annotation:
range: SpecificityAnnotation
inlined: true
@ -932,22 +817,14 @@ classes:
- xpath
slot_usage:
link_text:
description: Visible text of the link
required: true
link_url:
description: URL of the link
range: uri
required: true
link_type:
description: Type of link
range: LinkTypeEnum
link_context:
description: Parent section or surrounding context
is_sub_guide:
description: Whether this is a link to a sub-guide
range: boolean
xpath:
description: XPath to link element
specificity_annotation:
range: SpecificityAnnotation
inlined: true
@ -974,22 +851,11 @@ classes:
- xpath
slot_usage:
card_title:
description: Title of the card (original language)
required: true
card_title_en:
description: English translation of title
card_description:
description: Description text (original language)
card_description_en:
description: English translation of description
card_url:
description: URL the card links to
range: uri
card_image_url:
description: URL of card image/icon
range: uri
xpath:
description: XPath to card element
specificity_annotation:
range: SpecificityAnnotation
inlined: true

View file

@ -1,12 +1,14 @@
id: https://nde.nl/ontology/hc/class/FindingAidType
name: finding_aid_type_class
title: FindingAidType Class
description: |
Abstract base class for finding aid type classification.
description: 'Abstract base class for finding aid type classification.
**Rule 0b Compliance**: This file contains ONLY the abstract base class.
Concrete subclasses are in FindingAidTypes.yaml (plural).
'
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
@ -37,98 +39,34 @@ classes:
FindingAidType:
class_uri: rico:FindingAidType
abstract: true
description: |
Abstract base class for finding aid type classification.
A finding aid is a descriptive tool that establishes intellectual and physical
control over records by describing them and facilitating access. Finding aids
range from simple lists to elaborate guides with narrative descriptions.
1. **RiC-O (Records in Contexts)**:
- `rico:FindingAid` - "A finding aid is a set of descriptions that
identifies, locates, summarizes, and indexes materials in a
record-holding organization."
- Properties: rico:hasRecordSetType, rico:hasExtent
2. **CIDOC-CRM**:
- crm:E31_Document - Conceptual object serving as finding aid
- crm:E33_Linguistic_Object - Textual description
3. **BIBFRAME**:
- bf:Work - Intellectual content of finding aid
- bf:Instance - Specific manifestation (print, online)
4. **Schema.org**:
- schema:CreativeWork - Published finding aid
- schema:Dataset - Structured finding aid data
**FINDING AID TYPE HIERARCHY**:
```
FindingAidType (abstract root)
├── Inventory (Q65769447)
│ ├── ArchivalInventory (Q108809848)
│ │ ├── Calendar (Q25221891) - Chronological abstracts
│ │ └── AnalyticalInventory (Q116872592) - Detailed item descriptions
│ ├── MuseumInventory (Q6059909) - Museum object listings
│ └── LogisticsInventory (Q815410)
│ ├── PeriodicInventory (Q7168640)
│ ├── PerpetualInventory (Q7169552)
│ ├── PhantomInventory (Q7180610)
│ ├── PhysicalInventory (Q475356)
│ └── VMI (Q609498) - Vendor-managed
├── Catalogue (Q2352616)
│ ├── LibraryCatalog (Q856638) - Library holdings catalog
│ └── LocationCatalog (Q19309479) - Shelf/location listing
├── Guide (Q116767694)
│ ├── RepositoryGuide (Q117649202) - Institution-wide overview
│ └── SummaryGuide (Q117833265) - High-level collection summary
├── List (Q12139612)
│ ├── SpecialList (Q116972118) - Subject/format listing
│ └── Bibliography (Q1631107) - Published works listing
├── Database (abstract)
│ ├── BibliographicDatabase (Q1789476) - Searchable bibliographic records
│ └── LiteratureDatabase (Q1865123) - Scholarly literature database
├── Review (abstract)
│ ├── LiteratureReview (Q2412849) - Scholarly survey
│ └── BibliographicReview (Q59156132) - Bibliographic essay
├── Index (Q873506)
│ ├── BibliographicIndex (Q2033233) - Subject/author index
│ └── LocationIndex (Q117311578) - Geographic/place index
└── InstructionalMaterials (Q1348645)
└── ReferenceWork (Q13136) - Encyclopedias, handbooks
```
**USE CASES**:
1. **Archival Finding Aid**:
```yaml
finding_aid_type: ArchivalInventory
wikidata_id: Q108809848
description: "Detailed archival inventory with box/folder listing"
```
2. **Library Catalog**:
```yaml
finding_aid_type: LibraryCatalog
wikidata_id: Q856638
description: "OPAC or card catalog for library holdings"
```
3. **Museum Guide**:
```yaml
finding_aid_type: RepositoryGuide
wikidata_id: Q117649202
description: "Overview guide to museum collections"
```
description: "Abstract base class for finding aid type classification.\n\nA finding aid is a descriptive tool that establishes\
\ intellectual and physical\ncontrol over records by describing them and facilitating access. Finding aids\nrange from\
\ simple lists to elaborate guides with narrative descriptions.\n\n1. **RiC-O (Records in Contexts)**:\n - `rico:FindingAid`\
\ - \"A finding aid is a set of descriptions that\n identifies, locates, summarizes, and indexes materials in a\n\
\ record-holding organization.\"\n - Properties: rico:hasRecordSetType, rico:hasExtent\n\n2. **CIDOC-CRM**:\n\
\ - crm:E31_Document - Conceptual object serving as finding aid\n - crm:E33_Linguistic_Object - Textual description\n\
\n3. **BIBFRAME**:\n - bf:Work - Intellectual content of finding aid\n - bf:Instance - Specific manifestation (print,\
\ online)\n\n4. **Schema.org**:\n - schema:CreativeWork - Published finding aid\n - schema:Dataset - Structured\
\ finding aid data\n\n**FINDING AID TYPE HIERARCHY**:\n\n```\nFindingAidType (abstract root)\n │\n ├── Inventory (Q65769447)\n\
\ │ ├── ArchivalInventory (Q108809848)\n │ │ ├── Calendar (Q25221891) - Chronological abstracts\n │ \
\ │ └── AnalyticalInventory (Q116872592) - Detailed item descriptions\n │ ├── MuseumInventory (Q6059909)\
\ - Museum object listings\n │ └── LogisticsInventory (Q815410)\n │ ├── PeriodicInventory (Q7168640)\n\
\ │ ├── PerpetualInventory (Q7169552)\n │ ├── PhantomInventory (Q7180610)\n │ ├── PhysicalInventory\
\ (Q475356)\n │ └── VMI (Q609498) - Vendor-managed\n │\n ├── Catalogue (Q2352616)\n │ ├── LibraryCatalog\
\ (Q856638) - Library holdings catalog\n │ └── LocationCatalog (Q19309479) - Shelf/location listing\n │\n ├──\
\ Guide (Q116767694)\n │ ├── RepositoryGuide (Q117649202) - Institution-wide overview\n │ └── SummaryGuide\
\ (Q117833265) - High-level collection summary\n │\n ├── List (Q12139612)\n │ ├── SpecialList (Q116972118) -\
\ Subject/format listing\n │ └── Bibliography (Q1631107) - Published works listing\n │\n ├── Database (abstract)\n\
\ │ ├── BibliographicDatabase (Q1789476) - Searchable bibliographic records\n │ └── LiteratureDatabase (Q1865123)\
\ - Scholarly literature database\n │\n ├── Review (abstract)\n │ ├── LiteratureReview (Q2412849) - Scholarly\
\ survey\n │ └── BibliographicReview (Q59156132) - Bibliographic essay\n │\n ├── Index (Q873506)\n │ ├──\
\ BibliographicIndex (Q2033233) - Subject/author index\n │ └── LocationIndex (Q117311578) - Geographic/place index\n\
\ │\n └── InstructionalMaterials (Q1348645)\n └── ReferenceWork (Q13136) - Encyclopedias, handbooks\n```\n\n\
**USE CASES**:\n\n1. **Archival Finding Aid**:\n ```yaml\n finding_aid_type: ArchivalInventory\n wikidata_id:\
\ Q108809848\n description: \"Detailed archival inventory with box/folder listing\"\n ```\n\n2. **Library Catalog**:\n\
\ ```yaml\n finding_aid_type: LibraryCatalog\n wikidata_id: Q856638\n description: \"OPAC or card catalog for\
\ library holdings\"\n ```\n\n3. **Museum Guide**:\n ```yaml\n finding_aid_type: RepositoryGuide\n wikidata_id:\
\ Q117649202\n description: \"Overview guide to museum collections\"\n ```\n"
exact_mappings:
- rico:FindingAidType
- skos:Concept
@ -149,38 +87,25 @@ classes:
- wikidata_id
slot_usage:
finding_aid_type_id:
slot_uri: dcterms:identifier
range: uriorcurie
required: true
identifier: true
finding_aid_type_name:
slot_uri: skos:prefLabel
range: string
required: true
finding_aid_type_definition:
slot_uri: skos:definition
range: string
wikidata_id:
slot_uri: skos:exactMatch
description: Wikidata entity ID (Q-number)
range: string
pattern: ^Q[0-9]+$
record_equivalent:
slot_uri: skos:closeMatch
description: Equivalent RiC-O term if available
range: uriorcurie
broader_type:
slot_uri: skos:broader
range: FindingAidType
narrower_type:
slot_uri: skos:narrower
range: FindingAidType
multivalued: true
typical_domain:
slot_uri: dcterms:subject
description: |
Heritage domains where this finding aid type is typically used.
Values: ARCHIVE, LIBRARY, MUSEUM, CROSS_DOMAIN
range: string
multivalued: true
specificity_annotation:

File diff suppressed because it is too large Load diff

View file

@ -102,15 +102,9 @@ classes:
- validity_period
slot_usage:
has_agenda_identifier:
slot_uri: dcterms:identifier
identifier: true
required: true
range: uriorcurie
description: 'Unique identifier for this funding agenda.
Format: https://nde.nl/ontology/hc/agenda/{country-or-org}/{slug}
'
pattern: ^https://nde\.nl/ontology/hc/agenda/[a-z0-9-]+/[a-z0-9-]+$
examples:
- value: https://nde.nl/ontology/hc/agenda/nl/nwa
@ -120,27 +114,15 @@ classes:
- value: https://nde.nl/ontology/hc/agenda/uk/ace-lets-create
description: Arts Council England Let's Create strategy
has_agenda_title:
slot_uri: skos:prefLabel
required: true
range: string
description: 'Official title of the research or funding agenda.
Should match official documentation for discoverability.
'
examples:
- value: Nationale Wetenschapsagenda
description: Dutch Research Agenda official Dutch title
- value: Horizon Europe Strategic Plan 2021-2024
description: EU framework strategic plan
has_agenda_short_name:
slot_uri: skos:altLabel
range: string
description: 'Short name, acronym, or common reference for the agenda.
Used for quick identification and cross-referencing.
'
examples:
- value: NWA
description: Dutch Research Agenda acronym
@ -149,91 +131,29 @@ classes:
- value: Let's Create
description: Arts Council England strategy
has_agenda_description:
slot_uri: dcterms:description
range: string
description: 'Detailed description of the agenda''s purpose, scope, and objectives.
Maps to Dublin Core description for interoperability.
'
has_agenda_url:
slot_uri: foaf:homepage
range: uri
description: 'Official webpage for the agenda documentation.
Maps to FOAF homepage - the primary web presence.
'
has_agenda_document_url:
slot_uri: foaf:page
range: uri
description: 'URL to the full agenda document (PDF or similar).
Maps to FOAF page - a document about the agenda.
'
governing_body:
slot_uri: org:linkedTo
range: uriorcurie
description: 'The organisation or body that established and governs this agenda.
This is the HIGH-LEVEL body that created the strategic direction, which may
be different from the organisations that implement it through funding calls.
URI reference to EncompassingBody entity.
**Examples**:
- NWA: Dutch government (via Ministry of OCW) + science sector
- Horizon Europe: European Commission
- Let''s Create: Arts Council England Board
'
examples:
- value: https://nde.nl/ontology/hc/encompassing-body/umbrella/nl-ministry-ocw
description: Dutch Ministry of OCW
- value: https://nde.nl/ontology/hc/encompassing-body/umbrella/eu-commission
description: European Commission
has_or_had_implementing_organisation:
slot_uri: prov:wasAttributedTo
range: uriorcurie
multivalued: true
inlined_as_list: true
description: "Funding organisations that implement this agenda through funding calls.\n\nUses prov:wasAttributedTo\
\ to express that the agenda is attributed to\nthese implementing organisations (semantically: \"this agenda is\
\ implemented\nby these organisations\"). This avoids the inverted semantics of schema:funder\nwhich would imply\
\ the agenda funds the organisations.\n\nURI references to FundingOrganisation entities.\n\n**Relationship chain**:\n\
```\nFundingAgenda\n │\n └── implementing_organisations → FundingOrganisation[]\n \
\ │\n └── issues → CallForApplication[]\n```\n"
examples:
- value: https://nde.nl/ontology/hc/encompassing-body/funding/nwo
description: NWO implements Dutch Research Agenda
- value: https://nde.nl/ontology/hc/encompassing-body/funding/ec-rea
description: REA implements Horizon Europe calls
validity_period:
slot_uri: schema:temporalCoverage
range: TimeSpan
description: 'The temporal period during which this agenda is active.
Uses CIDOC-CRM TimeSpan pattern for precise or fuzzy date representation.
**Types of validity**:
- Fixed periods: EU frameworks (2021-2027), strategic plans
- Open-ended: Ongoing agendas like NWA (start date, no end)
- Historical: Superseded agendas (both dates set)
'
examples:
- value:
begin_of_the_begin: '2021-01-01T00:00:00Z'
@ -246,32 +166,9 @@ classes:
end_of_the_begin: '2015-11-27T00:00:00Z'
description: Dutch Research Agenda - ongoing since 2015
has_or_had_thematic_route:
slot_uri: schema:hasPart
range: ThematicRoute
multivalued: true
inlined_as_list: true
description: 'Major thematic areas, routes, or priority clusters within the agenda.
Maps to schema:hasPart - the agenda contains these thematic routes.
Thematic routes represent the structural organisation of research priorities.
They guide which topics receive funding attention and help applicants
align their proposals with strategic objectives.
**Examples**:
- NWA: 25 interdisciplinary routes (e.g., "Circular Economy", "Cultural Identity")
- Horizon Europe: 6 Clusters + 5 Missions
- Creative Europe: 3 strands (Culture, Media, Cross-sectoral)
'
examples:
- value:
- route_id: https://nde.nl/ontology/hc/route/nwa/cultural-identity
@ -280,26 +177,7 @@ classes:
route_relevance_to_heritage: Directly relevant - focuses on tangible and intangible heritage
description: NWA Cultural Identity route
heritage_relevance:
slot_uri: schema:about
range: string
description: 'Description of how this agenda relates to the cultural heritage sector.
Maps to schema:about - indicates what the agenda is about (its subject).
Helps heritage custodians understand which agendas align with their needs.
**Types of relevance**:
- Direct: Agenda explicitly addresses cultural heritage (Horizon CL2)
- Indirect: Agenda covers related topics (climate, digitisation, social cohesion)
- Cross-cutting: Heritage as case study or application domain
'
examples:
- value: Directly relevant through Cluster 2 "Culture, Creativity and Inclusive Society" which funds heritage preservation,
digitisation, and access research.
@ -308,42 +186,16 @@ classes:
sector.
description: NWA heritage relevance
has_or_had_strategic_objective:
slot_uri: org:purpose
range: string
multivalued: true
inlined_as_list: true
description: 'High-level strategic objectives that the agenda aims to achieve.
Maps to org:purpose from W3C ORG ontology - indicates the purpose
or reason for the organisation/scheme''s existence.
These objectives guide funding priorities and evaluation criteria.
Extracted from official agenda documentation.
'
examples:
- value: Strengthen European research excellence
- value: Promote cultural diversity and intercultural dialogue
- value: Support sustainable use of cultural heritage
- value: Foster innovation in creative industries
total_investment:
slot_uri: schema:amount
range: string
description: 'Total investment or budget allocated to this agenda (with currency).
Maps to schema:amount - the monetary amount.
Note: Stored as string to include currency code and time period.
Future versions may use schema:MonetaryAmount for structured data.
'
examples:
- value: 95.5B EUR (total Horizon Europe 2021-2027)
description: Horizon Europe total budget
@ -353,14 +205,6 @@ classes:
range: string
multivalued: true
inlined_as_list: true
description: 'Geographic areas covered by this agenda.
Uses ISO country codes or regional identifiers.
Helps identify which regions can benefit from agenda implementation.
'
examples:
- value: NL
description: Netherlands (NWA)
@ -369,16 +213,9 @@ classes:
- value: GB-ENG
description: England (Arts Council England)
related_agenda:
slot_uri: dcterms:relation
range: uriorcurie
multivalued: true
inlined_as_list: true
description: 'Related agendas - predecessors, successors, or complementary frameworks.
Helps understand the policy landscape and evolution of priorities.
'
examples:
- value: https://nde.nl/ontology/hc/agenda/eu/h2020-swfs
description: Horizon 2020 (predecessor to Horizon Europe)
@ -633,15 +470,9 @@ classes:
- template_specificity
slot_usage:
route_id:
slot_uri: dcterms:identifier
identifier: true
required: true
range: uriorcurie
description: 'Unique identifier for this thematic route.
Format: https://nde.nl/ontology/hc/route/{agenda-slug}/{route-slug}
'
pattern: ^https://nde\.nl/ontology/hc/route/[a-z0-9-]+/[a-z0-9-]+$
examples:
- value: https://nde.nl/ontology/hc/route/nwa/cultural-identity
@ -649,55 +480,21 @@ classes:
- value: https://nde.nl/ontology/hc/route/he/cluster-2
description: Horizon Europe Cluster 2
route_title:
slot_uri: skos:prefLabel
required: true
range: string
description: 'Official title of the thematic route.
Should match agenda documentation.
'
examples:
- value: Origin and Identity of the Netherlands and Its Inhabitants
description: NWA route title
- value: Culture, Creativity and Inclusive Society
description: Horizon Europe Cluster 2
route_description:
slot_uri: skos:definition
range: string
description: 'Description of what this thematic route covers.
Helps understand the scope and focus of the route.
'
route_keyword:
slot_uri: dcterms:subject
range: string
multivalued: true
inlined_as_list: true
description: 'Keywords associated with this thematic route.
Useful for discovery and matching to research topics.
'
route_relevance_to_heritage:
slot_uri: schema:about
range: string
description: 'Explanation of how this route relates to cultural heritage.
Maps to schema:about - indicates what heritage topics this route addresses.
Helps heritage institutions understand relevance:
- "Directly relevant" - explicitly covers heritage
- "Indirectly relevant" - covers adjacent topics (climate, digital)
- "Limited relevance" - heritage as minor application area
'
specificity_annotation:
range: SpecificityAnnotation
inlined: true

View file

@ -114,11 +114,6 @@ classes:
identifier: true
required: true
range: uriorcurie
description: 'Unique identifier for this funding requirement.
Format: https://nde.nl/ontology/hc/requirement/{call-slug}/{requirement-slug}
'
pattern: ^https://nde\.nl/ontology/hc/requirement/[a-z0-9-]+/[a-z0-9-]+$
examples:
- value: https://nde.nl/ontology/hc/requirement/ec-cl2-2025-heritage-01/min-partners-3
@ -126,17 +121,8 @@ classes:
- value: https://nde.nl/ontology/hc/requirement/nlhf-medium-2025/cofunding-25pct
description: Co-funding requirement for NLHF grants
requirement_type:
slot_uri: dcterms:type
required: true
range: FundingRequirementTypeEnum
description: 'Category of requirement from FundingRequirementTypeEnum.
Enables filtering and matching of requirements across calls.
See enum documentation for full category list.
'
examples:
- value: PARTNERSHIP_MINIMUM_PARTNERS
description: Consortium size requirement
@ -145,36 +131,15 @@ classes:
- value: ELIGIBILITY_GEOGRAPHIC
description: Country eligibility requirement
requirement_text:
slot_uri: skos:definition
required: true
range: string
description: 'Human-readable text of the requirement as stated in the source.
Should preserve original wording for accuracy and citation.
'
examples:
- value: Minimum 3 independent legal entities from 3 different EU Member States or Horizon Europe Associated Countries
description: Partnership requirement from Horizon Europe
- value: Applications must demonstrate at least 25% co-funding from non-EU sources
description: Co-funding requirement from call guidelines
requirement_value:
slot_uri: schema:value
range: string
description: 'Machine-readable value extracted from requirement.
Used with requirement_unit for structured queries.
Format depends on requirement type:
- Numeric: "3", "25", "500000"
- Boolean: "true", "false"
- Coded: "eu-member-states", "open-access"
'
examples:
- value: '3'
description: Minimum 3 partners
@ -185,13 +150,7 @@ classes:
- value: immediate
description: Immediate open access
requirement_unit:
slot_uri: schema:unitText
range: string
description: 'Unit of measurement for requirement_value.
Enables interpretation of numeric values.
'
examples:
- value: partners
description: Number of consortium partners
@ -206,50 +165,19 @@ classes:
is_mandatory:
range: boolean
ifabsent: 'true'
description: 'Whether this requirement is mandatory for eligibility (true)
or preferred/optional (false).
Defaults to true - most requirements are mandatory.
'
examples:
- value: true
description: 'Mandatory: must meet to be eligible'
- value: false
description: 'Optional: preferred but not required'
observed_in:
slot_uri: prov:wasDerivedFrom
required: true
range: uriorcurie
description: 'WebObservation documenting where this requirement was found.
Links requirement to its provenance:
- Source URL
- Retrieval timestamp
- Extraction method
- Original content
PROV-O: prov:wasDerivedFrom links Entity to Activity
'
examples:
- value: https://nde.nl/ontology/hc/observation/web/2025-11-29/eu-horizon-cl2-heritage
description: Observation of Horizon Europe call page
source_section:
range: string
description: 'Section heading or location in source document where requirement was found.
Aids verification and citation.
'
examples:
- value: Section 2.1 - Eligibility Criteria
description: Location in call document
@ -258,16 +186,7 @@ classes:
- value: Work Programme page 45
description: Location in programme document
supersede:
slot_uri: dcterms:replaces
range: uriorcurie
description: 'Previous version of this requirement (for change tracking).
Creates version chain when requirements are updated between
call publications or corrigenda.
'
examples:
- value: https://nde.nl/ontology/hc/requirement/ec-cl2-2024-heritage-01/min-partners-4
description: Previous version required 4 partners
@ -275,25 +194,6 @@ classes:
range: float
minimum_value: 0.0
maximum_value: 1.0
description: 'Confidence score for this specific requirement extraction (0.0-1.0).
May differ from WebObservation.extraction_confidence if some
requirements on a page are clearer than others.
Interpretation:
- 0.9-1.0: Clear, explicit statement
- 0.7-0.9: Reasonably clear, minor ambiguity
- 0.5-0.7: Inferred or implicit
- <0.5: Uncertain, needs verification
'
examples:
- value: 0.95
description: Explicit statement in eligibility section

View file

@ -143,19 +143,9 @@ classes:
- template_specificity
slot_usage:
wikidata_entity:
description: 'Wikidata Q-number for specific gallery type.
Base concept: Q1007870 (art gallery).
Narrower types: Q1475403 (kunsthalle), Q56856618 (commercial gallery), etc.
'
pattern: ^Q[0-9]+$
required: true
custodian_type_broader:
description: 'For gallery subtypes, typically links to Q1007870 (art gallery) or another broader gallery type.
'
range: GalleryType
required: false
has_or_had_custodian_type:

View file

@ -180,42 +180,26 @@ classes:
geospatial_id:
identifier: true
required: true
description: Unique identifier for this geospatial place
examples:
- value: https://nde.nl/ontology/hc/geo/rijksmuseum-building
- value: https://nde.nl/ontology/hc/geo/amsterdam-centroid
latitude:
required: true
description: WGS84 latitude (REQUIRED for all geospatial places)
examples:
- value: 52.36
description: Rijksmuseum latitude
longitude:
required: true
description: WGS84 longitude (REQUIRED for all geospatial places)
examples:
- value: 4.8852
description: Rijksmuseum longitude
geometry_wkt:
description: 'WKT geometry for polygons and complex shapes.
Optional for point locations (lat/lon sufficient).
Required for boundary representations.
'
examples:
- value: POLYGON((4.883 52.359, 4.887 52.359, 4.887 52.361, 4.883 52.361, 4.883 52.359))
description: Rijksmuseum building footprint (simplified)
coordinate_reference_system:
ifabsent: string(EPSG:4326)
description: 'Default: WGS84 (EPSG:4326)'
geonames_id:
description: 'GeoNames identifier for linking to external knowledge base.
Highly recommended for place disambiguation.
'
examples:
- value: 6930126
description: Rijksmuseum GeoNames ID

View file

@ -130,12 +130,6 @@ classes:
- was_generated_by
slot_usage:
shop_id:
slot_uri: dcterms:identifier
description: 'Unique identifier for this gift shop.
Format: URI following NDE Heritage Custodian ontology conventions.
'
range: uriorcurie
required: true
identifier: true
@ -143,24 +137,6 @@ classes:
- value: https://nde.nl/ontology/hc/gift-shop/rijksmuseum-shop
description: Rijksmuseum shop ID
shop_name:
slot_uri: schema:name
description: 'Human-readable name for this gift shop.
Schema.org: name for store name.
Examples:
- "Rijksmuseum Shop"
- "British Library Bookshop"
- "MoMA Design Store"
- "National Archives Publications"
'
range: string
required: true
examples:
@ -169,28 +145,6 @@ classes:
- value: British Library Bookshop
description: Library bookshop name
shop_type:
slot_uri: dcterms:type
description: 'Type of gift shop using GiftShopTypeEnum classification.
Types include:
- MUSEUM_SHOP: General museum merchandise
- BOOKSHOP: Primarily books and publications
- DESIGN_STORE: Design objects and reproductions
- SPECIALTY_SHOP: Themed or collection-specific
- POP_UP: Temporary retail for exhibitions
- KIOSK: Small-format retail point
Dublin Core: type for classification.
'
range: GiftShopTypeEnum
required: true
examples:
@ -199,45 +153,11 @@ classes:
- value: BOOKSHOP
description: Primarily publications
shop_description:
slot_uri: dcterms:description
description: 'Detailed description of this gift shop.
Include:
- Retail concept and positioning
- Relationship to museum/archive mission
- Notable products or exclusives
- Awards or recognition
'
range: string
examples:
- value: Award-winning museum shop offering reproductions and design objects
description: Rijksmuseum shop description
physical_location:
slot_uri: schema:location
description: 'Physical retail location(s) for this gift shop.
Links to AuxiliaryPlace instances representing:
- On-site shop within museum building
- Separate retail space at different address
- Multiple locations (branch shops)
Schema.org: location for physical presence.
May be null for online-only retail operations.
'
range: AuxiliaryPlace
multivalued: true
inlined_as_list: true
@ -250,19 +170,6 @@ classes:
city: Amsterdam
description: Physical shop location
online_shop:
slot_uri: schema:url
description: 'Online e-commerce platform(s) for this gift shop.
Links to AuxiliaryDigitalPlatform instances with type WEBSHOP.
Schema.org: url for web presence.
May be null for physical-only retail operations.
'
range: AuxiliaryDigitalPlatform
multivalued: true
inlined_as_list: true
@ -274,34 +181,6 @@ classes:
auxiliary_platform_type: WEBSHOP
description: Online shop platform
has_or_had_product_category:
slot_uri: schema:category
description: 'Categories of products sold in this gift shop.
Uses ProductCategoryEnum classification:
- REPRODUCTIONS: Art prints, posters, replicas
- BOOKS: Publications, catalogs, guides
- DESIGN_OBJECTS: Design items, home decor
- JEWELRY: Jewelry, accessories
- TEXTILES: Clothing, scarves, bags
- STATIONERY: Cards, notebooks, pens
- TOYS: Educational toys, games
- FOOD: Specialty foods, chocolates
- SOUVENIRS: Tourist items, keychains
Schema.org: category for product classification.
'
range: ProductCategoryEnum
multivalued: true
required: true
@ -312,16 +191,6 @@ classes:
- DESIGN_OBJECTS
description: Rijksmuseum shop categories
price_currency:
slot_uri: schema:priceCurrency
description: 'Primary currency accepted (ISO 4217 code).
Schema.org: priceCurrency for currency specification.
Examples: EUR, USD, GBP, JPY
'
range: string
required: true
pattern: ^[A-Z]{3}$
@ -331,18 +200,6 @@ classes:
- value: USD
description: US Dollar
giftshop_price_range:
slot_uri: schema:priceRange
description: 'Price level indication (Schema.org convention).
Schema.org: priceRange for price level.
Values: $, $$, $$$, $$$$ (budget to luxury)
Or text description: "€5-€500"
'
range: string
required: false
examples:
@ -351,30 +208,6 @@ classes:
- value: €5-€500
description: Price range in euros
accepts_or_accepted_payment_method:
slot_uri: schema:paymentAccepted
description: 'Payment methods accepted by this gift shop.
Schema.org: paymentAccepted for payment options.
GoodRelations: gr:PaymentMethod for detailed payment modeling.
Common values:
- CASH
- CREDIT_CARD
- DEBIT_CARD
- MOBILE_PAYMENT (Apple Pay, Google Pay)
- MUSEUM_CARD (Netherlands)
- GIFT_CARD
'
range: string
multivalued: true
required: false
@ -386,19 +219,6 @@ classes:
- MOBILE_PAYMENT
description: Common payment methods
opening_hour:
slot_uri: schema:openingHours
description: 'Operating hours for the physical gift shop.
Schema.org: openingHours in Schema.org format.
Format: "Mo-Fr 09:00-17:00, Sa 10:00-18:00, Su 11:00-17:00"
May differ from museum hours (shop may close earlier).
'
range: string
required: false
examples:
@ -407,94 +227,30 @@ classes:
- value: Mo-Fr 10:00-17:00, Sa-Su 10:00-18:00
description: Weekday/weekend hours
has_or_had_annual_revenue:
slot_uri: schema:annualRevenue
description: 'Estimated annual revenue from retail operations.
Schema.org: annualRevenue for financial data (if disclosed).
May be confidential for commercial custodians.
Include currency code.
'
range: string
required: false
examples:
- value: EUR 5,000,000
description: Annual revenue in euros
visitor_conversion_rate:
slot_uri: hc:visitorConversionRate
description: 'Percentage of museum visitors who make a shop purchase.
Key performance metric for museum retail:
- Industry average: 15-25%
- High performers: 30-40%
Expressed as decimal (0.25 = 25%).
'
range: float
required: false
examples:
- value: 0.35
description: 35% conversion rate
staff_count:
slot_uri: schema:numberOfEmployees
description: 'Number of staff working in the gift shop.
Schema.org: numberOfEmployees for staffing.
May include full-time, part-time, seasonal.
'
range: integer
required: false
examples:
- value: 15
description: 15 shop staff
square_meters:
slot_uri: schema:floorSize
description: 'Retail floor space in square meters.
Schema.org: floorSize for area measurement.
Indicator of shop scale and capacity.
'
range: float
required: false
examples:
- value: 250.0
description: 250 square meters
managed_by:
slot_uri: schema:member
description: 'Management structure for the gift shop.
Options:
- In-house: Managed by museum/archive staff
- Outsourced: Third-party retail operator
- Franchise: Licensed operation
- Partnership: Joint venture with retail partner
Include operator name if outsourced.
'
range: string
required: false
examples:
@ -503,24 +259,6 @@ classes:
- value: Outsourced (Culture Shops Ltd)
description: External operator
supplier_relationship:
slot_uri: schema:supplier
description: 'Key supplier relationships for shop merchandise.
Schema.org: supplier for business relationships.
May include:
- Print-on-demand partners
- Local artisan suppliers
- Publication distributors
- Exclusive license holders
'
range: string
multivalued: true
required: false
@ -530,42 +268,18 @@ classes:
- value: Museum Reproductions Ltd
description: Reproduction supplier
valid_from:
slot_uri: schema:validFrom
description: 'Date when this gift shop opened.
Track when retail operations commenced.
'
range: date
required: false
examples:
- value: '2013-04-13'
description: Shop opened with new building
valid_to:
slot_uri: schema:validThrough
description: 'Date when this gift shop closed.
NULL if still operational.
'
range: date
required: false
examples:
- value: '2020-03-15'
description: Temporary closure date
temporal_extent:
slot_uri: crm:P4_has_time-span
description: 'Temporal period during which this gift shop was operational.
CIDOC-CRM: P4_has_time-span for fuzzy temporal boundaries.
Use when exact dates are uncertain.
'
range: TimeSpan
required: false
examples:
@ -574,37 +288,13 @@ classes:
end_of_the_begin: '2013-04-13'
description: Shop opened sometime 2010-2013
was_derived_from:
slot_uri: prov:wasDerivedFrom
description: 'CustodianObservation(s) documenting this gift shop.
PROV-O: wasDerivedFrom for observation provenance.
'
range: CustodianObservation
multivalued: true
required: false
was_generated_by:
slot_uri: prov:wasGeneratedBy
description: 'ReconstructionActivity that created this gift shop record.
PROV-O: wasGeneratedBy for generation activity.
'
range: ReconstructionActivity
required: false
refers_to_custodian:
slot_uri: schema:parentOrganization
description: 'The Custodian hub that operates this gift shop.
Schema.org: parentOrganization for organizational ownership.
All gift shops MUST reference the custodian they serve.
'
range: Custodian
required: true
examples:

View file

@ -65,12 +65,6 @@ classes:
- template_specificity
slot_usage:
is_heritage_relevant:
description: 'Whether this person is professionally relevant to heritage sectors.
True if they work at, consult for, or research heritage institutions.
'
slot_uri: hc:heritageRelevant
range: boolean
required: true
examples:
@ -79,14 +73,6 @@ classes:
- value: false
description: No apparent heritage sector connection
heritage_type:
description: 'Single-letter heritage sector codes applicable to this person.
Uses HeritageTypeEnum values (G,L,A,M,O,R,C,U,B,E,S,F,I,X,P,H,D,N,T).
Multiple types possible for cross-domain professionals.
'
slot_uri: hc:heritageType
range: HeritageTypeEnum
multivalued: true
examples:
@ -101,26 +87,6 @@ classes:
- E
description: Education sector
heritage_relevance_score:
description: 'Confidence score for heritage sector classification (0.50-0.95).
NOT the same as heritage_sector_relevance.score (domain expertise).
This measures EXTRACTION QUALITY/CONFIDENCE, not domain expertise.
**Scoring Rubric**:
- 0.90-0.95: Senior role, clear title, named heritage institution
- 0.75-0.85: Mid-level role, good institutional context
- 0.60-0.70: Entry-level, technical role, limited details
- 0.50-0.55: Intern, unclear relationship, abbreviated name
'
slot_uri: hc:confidenceScore
range: float
minimum_value: 0.0
maximum_value: 1.0
@ -130,12 +96,6 @@ classes:
- value: 0.55
description: Low confidence - intern position
rationale:
description: 'Human-readable explanation of the heritage classification.
Documents why the person was classified with specific types/score.
'
slot_uri: skos:note
range: string
required: true
examples:
@ -143,12 +103,6 @@ classes:
- value: Senior curator at Rijksmuseum with 15+ years experience
- value: Digital archivist specializing in AV heritage preservation
primary_heritage_type:
description: 'Primary heritage type if multiple apply.
The single most relevant type for this person''s current role.
'
slot_uri: hc:primaryHeritageType
range: HeritageTypeEnum
examples:
- value: A

View file

@ -7,36 +7,33 @@ prefixes:
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
imports:
- linkml:types
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../slots/count
- ../slots/heritage_type_code
- ../slots/specificity_annotation
- ../slots/template_specificity
- linkml:types
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../slots/count
- ../slots/heritage_type_code
- ../slots/specificity_annotation
- ../slots/template_specificity
default_prefix: hc
classes:
HeritageTypeCount:
class_uri: schema:PropertyValue
description: |
Count of connections for a specific heritage type.
description: 'Count of connections for a specific heritage type.
Used in network_analysis.connections_by_heritage_type.
'
slots:
- count
- heritage_type_code
- specificity_annotation
- template_specificity
- count
- heritage_type_code
- specificity_annotation
- template_specificity
slot_usage:
heritage_type_code:
description: Single-letter heritage type code (G,L,A,M,O,R,C,U,B,E,S,F,I,X,P,H,D,N,T)
slot_uri: schema:propertyID
range: string
required: true
pattern: "^[GLAMORCUBESFIXPHDNT]$"
pattern: ^[GLAMORCUBESFIXPHDNT]$
count:
description: Number of connections of this heritage type
slot_uri: schema:value
range: integer
required: true
minimum_value: 0

View file

@ -100,12 +100,6 @@ classes:
- was_generated_by
slot_usage:
historic_building_id:
slot_uri: dcterms:identifier
description: 'Unique identifier for this historic building.
Format: URI following NDE Heritage Custodian ontology conventions.
'
range: uriorcurie
required: true
identifier: true
@ -113,13 +107,6 @@ classes:
- value: https://nde.nl/ontology/hc/aux/mauritshuis-johan-de-witt
description: Mauritshuis secondary property
historic_building_name:
slot_uri: skos:prefLabel
description: 'Name of this historic building.
SKOS: prefLabel for preferred name.
'
range: string
required: true
examples:
@ -130,66 +117,12 @@ classes:
- value: Oude Raadhuis Naarden
description: Former town hall
historic_building_description:
slot_uri: dcterms:description
description: 'Free-text description of this historic building.
Include:
- Historical significance
- Architectural features
- Current use
- Relationship to managing custodian
'
range: string
examples:
- value: 17th-century canal house, former residence of Grand Pensionary Johan de Witt. Now part of Mauritshuis complex,
used for offices and events.
description: Historic house description
feature_type_classification:
slot_uri: dcterms:type
description: 'Building type classification from FeatureTypeEnum.
FeatureTypeEnum contains 298 Wikidata-sourced feature types.
Relevant building types include:
- MONUMENT (Q35112)
- ARCHITECTURAL_STRUCTURE (Q811979)
- HISTORIC_HOUSE_MUSEUM (Q1081138)
- HOUSE (Q3947)
- PALACE (Q16560)
- CASTLE (Q23413)
- MANOR_HOUSE (Q317557)
- TEMPLE (Q44539)
- CHURCH_BUILDING (Q16970)
- MONASTERY (Q44613)
- TOWN_HALL (Q543654)
- WINDMILL (Q38720)
- FORTRESS (Q57821)
See FeatureTypeEnum for complete list.
'
range: FeatureTypeEnum
required: true
examples:
@ -200,24 +133,6 @@ classes:
- value: MANOR_HOUSE
description: Manor house
construction_date:
slot_uri: schema:dateCreated
description: 'Date or year of construction.
Schema.org: dateCreated for creation date.
May be:
- Exact year: "1650"
- Approximate: "ca. 1650"
- Range: "1648-1652"
- Century: "17th century"
'
range: string
examples:
- value: '1650'
@ -227,16 +142,6 @@ classes:
- value: 15th century
description: Century only
construction_date_precision:
slot_uri: crm:P82_at_some_time_within
description: 'Precision of the construction date.
CIDOC-CRM: P82_at_some_time_within for temporal precision.
Values: EXACT, APPROXIMATE, DECADE, CENTURY
'
range: string
examples:
- value: EXACT
@ -244,13 +149,6 @@ classes:
- value: APPROXIMATE
description: Circa date
has_architectural_style:
slot_uri: schema:additionalType
description: 'Architectural style of the building.
Schema.org: additionalType for style classification.
'
range: string
examples:
- value: Dutch Golden Age
@ -260,13 +158,6 @@ classes:
- value: Amsterdam School
description: Early 20th century Dutch
has_or_had_architect:
slot_uri: schema:architect
description: 'Architect(s) of the building, if known.
Schema.org: has_or_had_architect for building designer.
'
range: string
examples:
- value: Jacob van Campen
@ -274,22 +165,6 @@ classes:
- value: P.J.H. Cuypers
description: 19th century has_or_had_architect
heritage_status:
slot_uri: schema:award
description: 'Heritage protection status.
Common Dutch statuses:
- Rijksmonument (national monument)
- Gemeentelijk monument (municipal monument)
- Beschermd stadsgezicht (protected cityscape)
Schema.org: award as recognition/designation.
'
range: string
examples:
- value: Rijksmonument
@ -297,40 +172,16 @@ classes:
- value: Gemeentelijk monument
description: Municipal monument
heritage_designation_date:
slot_uri: schema:datePublished
description: 'Date when heritage status was designated.
'
range: date
examples:
- value: '1970-05-15'
description: Designation date
monument_number:
slot_uri: schema:identifier
description: 'Monument registry number.
For Dutch Rijksmonumenten, this is the monumentnummer.
'
range: string
examples:
- value: '521814'
description: Rijksmonument number
is_open_to_public:
slot_uri: schema:isAccessibleForFree
description: 'Whether building is open to public visitors.
Some historic buildings are:
- Fully open (museum house)
- Partially open (guided tours only)
- Closed (administrative use, private)
'
range: boolean
examples:
- value: true
@ -338,10 +189,6 @@ classes:
- value: false
description: Private/staff only
visiting_hour:
slot_uri: schema:openingHours
description: 'Visiting hours if open to public.
'
range: string
examples:
- value: Sa-Su 11:00-17:00
@ -349,22 +196,11 @@ classes:
- value: By appointment only
description: Appointment required
is_part_of_complex:
slot_uri: schema:isPartOf
description: 'Whether this building is part of a larger complex/ensemble.
e.g., Abbey with multiple buildings, palace complex, castle grounds.
'
range: boolean
examples:
- value: true
description: Part of complex
complex_name:
slot_uri: schema:name
description: 'Name of the complex/ensemble if applicable.
'
range: string
examples:
- value: Klooster Ter Apel
@ -372,32 +208,11 @@ classes:
- value: Paleis Het Loo ensemble
description: Palace complex
building_floor_area_sqm:
slot_uri: schema:floorSize
description: 'Floor area of building in square meters.
'
range: float
examples:
- value: 450.0
description: Building floor area
current_use:
slot_uri: schema:additionalType
description: 'Current use of the historic building.
May differ from original use:
- Museum/exhibition
- Offices
- Events/rentals
- Residential
- Mixed use
'
range: string
examples:
- value: Museum and events
@ -405,16 +220,6 @@ classes:
- value: Administrative offices
description: Office use
condition_status:
slot_uri: crm:P44_has_condition
description: 'Current condition of the building.
CIDOC-CRM: P44_has_condition for condition assessment.
Values: EXCELLENT, GOOD, FAIR, POOR, UNDER_RESTORATION
'
range: string
examples:
- value: GOOD
@ -422,18 +227,10 @@ classes:
- value: UNDER_RESTORATION
description: Currently being restored
was_derived_from:
slot_uri: prov:wasDerivedFrom
description: 'CustodianObservation(s) from which this historic building record was derived.
'
range: CustodianObservation
multivalued: true
required: false
was_generated_by:
slot_uri: prov:wasGeneratedBy
description: 'ReconstructionActivity that generated this historic building record.
'
range: ReconstructionActivity
required: false
specificity_annotation:

View file

@ -306,42 +306,6 @@ classes:
- template_specificity
slot_usage:
religious_tradition:
description: 'Religious tradition or denomination of the site.
Specifies faith community and theological tradition:
- Major traditions: Christianity, Islam, Judaism, Buddhism, Hinduism, Sikhism, etc.
- Christian denominations: Roman Catholic, Orthodox, Protestant, Anglican, etc.
- Islamic traditions: Sunni, Shia, Sufi, etc.
- Buddhist traditions: Theravada, Mahayana, Vajrayana, Zen, etc.
- Hindu traditions: Vaishnavism, Shaivism, Shaktism, etc.
- Indigenous/Traditional religions
- Interfaith or multi-tradition sites
Important for understanding collection context and sensitivity.
Examples:
- "Roman Catholic Christianity"
- "Sunni Islam, Hanafi school"
- "Theravada Buddhism"
- "Orthodox Judaism, Ashkenazi tradition"
- "Hindu, Shaivite tradition"
'
range: string
required: true
examples:
@ -352,40 +316,6 @@ classes:
- value: Theravada Buddhism
description: Buddhist temple
collection_type:
description: 'Types of heritage materials held by the religious site.
Categories of collections managed:
- **Archival**: Parish registers, administrative records, correspondence
- **Library**: Sacred texts, theological works, manuscripts
- **Liturgical objects**: Vessels, vestments, ritual implements
- **Art**: Icons, paintings, sculpture, stained glass
- **Architectural**: Building fragments, archaeological remains
- **Relics**: Saints'' relics, holy objects, pilgrimage souvenirs
- **Musical**: Organs, bells, choir books, instruments
- **Ephemera**: Bulletins, programs, pamphlets, photographs
Multiple types common (e.g., church with archive + library + art).
Examples:
- "Archival records, Papal documents, Medieval manuscripts"
- "Torah scrolls, Community archives, Ceremonial objects"
- "Buddhist sutras, Temple registers, Statue collection"
'
range: string
multivalued: true
required: true
@ -397,42 +327,6 @@ classes:
- value: Sutras, Temple registers, Buddha statues
description: Temple collection types
religious_function:
description: 'How heritage collections support the religious mission of the site.
Describes operational integration of collections with religious practice:
- **Liturgical support**: Active use in worship services
- **Theological education**: Resources for clergy training
- **Pastoral care**: Materials supporting ministry
- **Canon law**: Legal documentation for Church governance
- **Community identity**: Records of parish/congregation history
- **Spiritual formation**: Devotional texts and objects
- **Pilgrimage**: Relics and sites for religious tourism
- **Interfaith dialogue**: Resources for ecumenical work
Distinguishes religious heritage from secular museum collections.
Examples:
- "Support papal governance, Document Church history, Preserve canon law"
- "Clergy education, Sermon preparation, Liturgical reference"
- "Torah study, Bar/Bat Mitzvah preparation, Community genealogy"
- "Monastic devotion, Manuscript illumination, Spiritual reading"
'
range: string
required: true
examples:
@ -443,40 +337,6 @@ classes:
- value: Community genealogy, Ritual preparation
description: Synagogue archive function
has_or_had_access_policy:
description: 'Policies governing researcher/public access to religious heritage collections.
Describes access conditions and restrictions:
- **Public access**: Open hours, visitor programs, guided tours
- **Research access**: By appointment, credentials required, application process
- **Restrictions**: Sacred objects (no access), privacy concerns (closed records)
- **Photography**: Prohibited, allowed with permission, flash restrictions
- **Reproduction**: Copyright, religious authority approval
- **Digital access**: Online catalogs, digitized manuscripts, virtual tours
- **Interfaith sensitivity**: Non-members welcome, religious requirements (modest dress)
Balances heritage accessibility with religious sacredness.
Examples:
- "Restricted access by appointment, Scholars only, No browsing"
- "Public viewing during open hours, Photography prohibited, Guided tours"
- "Digitized manuscripts online, Physical access by special permission"
- "Closed to public, Clergy and researchers only"
'
range: string
required: true
examples:
@ -487,38 +347,6 @@ classes:
- value: Digitized online, Physical access by permission
description: Monastery library access
stewardship_responsibility:
description: 'Who is responsible for managing and preserving the heritage collections.
Describes governance and custodianship:
- **Religious authority**: Bishop, abbot, imam, rabbi, head monk
- **Professional staff**: Archivist, librarian, curator (if employed)
- **Volunteer committee**: Parish heritage group, lay volunteers
- **External partnership**: Diocesan archive, religious order archives
- **Government involvement**: State co-management, monument authority
- **Foundation/Trust**: Separate legal entity managing collections
Important for understanding sustainability and professional capacity.
Examples:
- "Prefect of Vatican Apostolic Archive, Papal administrative authority"
- "Parish priest (ex officio), Volunteer heritage committee"
- "Diocesan archivist, Partnership with regional archive"
- "Monastic community, Designated brother librarian"
'
range: string
required: true
examples:
@ -529,49 +357,6 @@ classes:
- value: Monastic community, Brother librarian
description: Monastery stewardship
secularization_status:
description: 'Whether the religious site remains active or has undergone secularization.
Describes current operational status:
- **Active religious institution**: Ongoing worship, No secularization
- **Partially secularized**: Worship continues, Collections transferred
- **Fully secularized**: Deconsecrated, Converted to museum/cultural center
- **Closed/Redundant**: Building closed, Collections at risk or relocated
- **Shared use**: Religious + cultural functions (church concerts, exhibitions)
- **State ownership**: Government owns building, Religious community uses it
Critical for understanding collection stability and access prospects.
Secularization trends:
- Netherlands: 2-3 churches close per week (2010s)
- Germany: Protestant church closures increase
- UK: Church of England "redundant churches" program
- Collections often transferred to diocesan or state archives
Examples:
- "Active religious institution, No secularization"
- "Partially secularized, Collections transferred to diocesan archive 2015"
- "Deconsecrated 2008, Converted to museum/concert hall"
- "Building sold to foundation, Religious community retains collection access"
'
range: string
required: true
examples:

View file

@ -22,12 +22,10 @@ imports:
- ./TemplateSpecificityScores
classes:
HospitalArchive:
description: Hospital archive (Krankenhausarchiv, archivo hospitalario, archives
hospitalières). Archives that preserve records created by hospitals and healthcare
institutions. These may include administrative records, patient records (subject
to privacy regulations), medical research documentation, photographs, and institutional
histories. Hospital archives are valuable for medical history, genealogy, and
understanding the evolution of healthcare practices.
description: Hospital archive (Krankenhausarchiv, archivo hospitalario, archives hospitalières). Archives that preserve
records created by hospitals and healthcare institutions. These may include administrative records, patient records
(subject to privacy regulations), medical research documentation, photographs, and institutional histories. Hospital
archives are valuable for medical history, genealogy, and understanding the evolution of healthcare practices.
is_a: ArchiveOrganizationType
class_uri: schema:ArchiveOrganization
exact_mappings:
@ -47,18 +45,10 @@ classes:
wikidata_entity:
equals_string: Q17301917
has_or_had_holds_record_set_type:
description: |
Links this custodian type to the record set types it typically holds.
Uses RiC-O property rico:isOrWasHolderOf to express custodial relationship.
equals_expression: '["hc:HospitalAdministrationFonds", "hc:PatientRecordsSeries", "hc:MedicalResearchCollection",
"hc:NursingRecordsCollection", "hc:MedicalPhotographyCollection"]
**Hospital Archive Holdings**:
- HospitalAdministrationFonds - governance, policy, administrative records
- PatientRecordsSeries - patient files, medical records (privacy-restricted)
- MedicalResearchCollection - clinical trials, research documentation
- NursingRecordsCollection - nursing logs, training materials
- MedicalPhotographyCollection - clinical photography, medical imaging archives
equals_expression: |
["hc:HospitalAdministrationFonds", "hc:PatientRecordsSeries", "hc:MedicalResearchCollection", "hc:NursingRecordsCollection", "hc:MedicalPhotographyCollection"]
'
has_or_had_custodian_type:
equals_expression: '["hc:ArchiveOrganizationType"]'
specificity_annotation:
@ -69,8 +59,7 @@ classes:
inlined: true
annotations:
skos:prefLabel: Hospital Archive
skos:altLabel: Krankenhausarchiv, archivo hospitalario, archives hospitalières,
Medical Archive, Healthcare Archive
skos:altLabel: Krankenhausarchiv, archivo hospitalario, archives hospitalières, Medical Archive, Healthcare Archive
subject_domain: healthcare/medical
access_restrictions: privacy-sensitive materials
see_also:

View file

@ -326,10 +326,6 @@ classes:
'
range: uri
slot_usage:
protocol:
description: 'Primary protocol. Use supported_protocols for full list.
'
specificity_annotation:
range: SpecificityAnnotation
inlined: true

View file

@ -32,29 +32,21 @@ imports:
classes:
CustodianIdentifier:
class_uri: crm:E42_Identifier
description: "An external identifier assigned to a heritage custodian entity by\
\ an authority.\nConnected to the Custodian hub via inverse property crm:P48i_is_preferred_identifier_of\n\
(the Custodian has this Identifier as a preferred identifier).\n\nCIDOC-CRM\
\ E42_Identifier: Formal symbols or reference codes for unique identification.\n\
CIDOC-CRM P48_has_preferred_identifier: Links E1_CRM_Entity (Custodian) to E42_Identifier.\n\
\n**Use for**: \n- External authority identifiers (ISIL, Wikidata, VIAF, KvK,\
\ ROR)\n- Registration numbers and codes\n- Persistent identifiers from registries\n\
\n**Connection to Hub**:\n- The Custodian hub uses crm:P48_has_preferred_identifier\
\ to point to CustodianIdentifier\n- This CustodianIdentifier uses crm:P48i_is_preferred_identifier_of\
\ to point back to the Custodian hub\n- Enables multiple identifiers per custodian\
\ (from different authorities)\n\n**Extended Provenance (v2)**:\n\nThe identifier\
\ now tracks its full lineage:\n- defined_by_standard: Which Standard defines\
\ this identifier type (ISIL → ISO 15511)\n- allocated_by: Which AllocationAgency\
\ assigned this specific identifier\n- identifier_format_used: Which format\
\ variant is used in identifier_value\n- canonical_value: Normalized form for\
\ deduplication and matching\n- allocation_date: When the identifier was assigned\n\
\n**Dual-Purpose Identifiers**:\n\nSome identifiers (ISNI, VIAF) also identify\
\ name authority records:\n- also_identifies_name: Links to the CustodianName\
\ record this identifier also identifies\n\n**Enables**:\n- External identifier\
\ management (scheme + value)\n- Cross-reference to authority registries\n-\
\ Persistent identifier resolution\n- Inter-dataset linking\n- Full provenance\
\ tracking (who allocated, when, under what standard)\n- Name authority linkage\
\ (for ISNI, VIAF)\n"
description: "An external identifier assigned to a heritage custodian entity by an authority.\nConnected to the Custodian\
\ hub via inverse property crm:P48i_is_preferred_identifier_of\n(the Custodian has this Identifier as a preferred identifier).\n\
\nCIDOC-CRM E42_Identifier: Formal symbols or reference codes for unique identification.\nCIDOC-CRM P48_has_preferred_identifier:\
\ Links E1_CRM_Entity (Custodian) to E42_Identifier.\n\n**Use for**: \n- External authority identifiers (ISIL, Wikidata,\
\ VIAF, KvK, ROR)\n- Registration numbers and codes\n- Persistent identifiers from registries\n\n**Connection to Hub**:\n\
- The Custodian hub uses crm:P48_has_preferred_identifier to point to CustodianIdentifier\n- This CustodianIdentifier\
\ uses crm:P48i_is_preferred_identifier_of to point back to the Custodian hub\n- Enables multiple identifiers per custodian\
\ (from different authorities)\n\n**Extended Provenance (v2)**:\n\nThe identifier now tracks its full lineage:\n- defined_by_standard:\
\ Which Standard defines this identifier type (ISIL → ISO 15511)\n- allocated_by: Which AllocationAgency assigned this\
\ specific identifier\n- identifier_format_used: Which format variant is used in identifier_value\n- canonical_value:\
\ Normalized form for deduplication and matching\n- allocation_date: When the identifier was assigned\n\n**Dual-Purpose\
\ Identifiers**:\n\nSome identifiers (ISNI, VIAF) also identify name authority records:\n- also_identifies_name: Links\
\ to the CustodianName record this identifier also identifies\n\n**Enables**:\n- External identifier management (scheme\
\ + value)\n- Cross-reference to authority registries\n- Persistent identifier resolution\n- Inter-dataset linking\n\
- Full provenance tracking (who allocated, when, under what standard)\n- Name authority linkage (for ISNI, VIAF)\n"
exact_mappings:
- crm:E42_Identifier
- schema:PropertyValue
@ -79,90 +71,25 @@ classes:
- template_specificity
slot_usage:
identifier_scheme:
slot_uri: skos:inScheme
description: |
Identifier scheme name (ISIL, Wikidata, VIAF, KvK, etc.).
SKOS: inScheme links identifier to its concept scheme.
This is a string representation of the scheme name.
For the full Standard object, use defined_by_standard.
Examples: 'ISIL', 'Wikidata', 'VIAF', 'KvK', 'ROR', 'ISNI'.
range: string
required: true
identifier_value:
slot_uri: skos:notation
description: "Identifier value within the scheme (as received/displayed).\n\
SKOS: notation for the actual identifier string.\n\nThis may be in any valid\
\ format for the scheme.\nUse canonical_value for normalized form.\n\nExamples:\
\ \n- 'NL-AmRMA' (ISIL)\n- 'Q190804' (Wikidata)\n- '148691498' (VIAF)\n\
- '0000 0001 2146 5765' (ISNI with spaces)\n"
range: string
required: true
identifies_custodian:
slot_uri: crm:P48i_is_preferred_identifier_of
description: |
Inverse property linking this identifier back to the Custodian hub it identifies.
CIDOC-CRM: P48i_is_preferred_identifier_of (inverse of P48_has_preferred_identifier).
Domain: E42_Identifier → Range: E1_CRM_Entity (Custodian).
range: Custodian
required: false
defined_by_standard:
description: |
The Standard that defines this identifier type.
Links to full Standard object for access to:
- Format specifications and patterns
- Registration authority
- Lookup URL template
- Validation rules
Examples:
- ISIL "NL-AmRMA" → Standard(id="isil", iso_standard_number="ISO 15511")
- ISNI "0000..." → Standard(id="isni", iso_standard_number="ISO 27729")
required: false
is_or_was_allocated_by:
description: |
The AllocationAgency that assigned this specific identifier.
For locally-allocated identifiers, tracks which agency is responsible.
Examples:
- Dutch public library ISIL → KB (Koninklijke Bibliotheek)
- Dutch academic library ISIL → OCLC
- Dutch archive ISIL → Nationaal Archief
required: false
identifier_format_used:
description: |
Which format variant is used in the identifier_value.
Enables validation and transformation.
Examples:
- ISNI "0000 0001 2146 5765" → format_name="Display with spaces"
- ISNI "0000000121465765" → format_name="Compact (canonical)"
required: false
canonical_value:
description: |
Normalized/canonical form of the identifier for matching and deduplication.
Transformation rules:
- ISNI: Remove spaces → "0000000121465765"
- Wikidata: Extract Q-number → "Q190804"
- DOI: Lowercase, no prefix → "10.1234/example"
- ISIL: Keep as-is → "NL-AmRMA"
required: false
also_identifies_name:
description: "For dual-purpose identifiers (ISNI, VIAF), links to the CustodianName\
\ \nrecord this identifier also identifies.\n\nISNI is defined as a \"name\
\ identifier\" (ISO 27729), so it identifies\nboth the entity AND its authoritative\
\ name record.\n"
required: false
has_allocation_date:
description: |
Date when this identifier was allocated/assigned.
ISO 8601 datetime format.
required: false
specificity_annotation:
range: SpecificityAnnotation

View file

@ -154,27 +154,6 @@ classes:
carrier_type:
required: true
range: CarrierTypeEnum
slot_uri: rda:carrierType
description: 'Physical carrier type from controlled vocabulary.
See CarrierTypeEnum for full list:
- Codex forms: CODEX, BOUND_VOLUME, PAMPHLET, NOTEBOOK
- Sheet forms: SHEET, BROADSIDE, MAP_SHEET, PHOTOGRAPH
- Scroll forms: SCROLL, PAPYRUS_SCROLL
- Ancient forms: CLAY_TABLET, WAX_TABLET, INSCRIPTION
- Audio: VINYL_DISC, AUDIO_CASSETTE, COMPACT_DISC
- Visual: FILM_REEL, VIDEOTAPE, MICROFILM
- Digital: FLOPPY_DISK, OPTICAL_DISC, HARD_DRIVE
'
examples:
- value: CODEX
- value: SCROLL
@ -183,21 +162,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: crm:P45_consists_of
description: 'Materials used in the carrier.
**Common materials**:
- Paper types: laid paper, wove paper, vellum paper
- Animal skins: parchment, vellum
- Ancient: papyrus, palm leaf, birch bark
- Modern: plastic, magnetic media
'
examples:
- value: Paper (laid, watermarked)
- value: Vellum
@ -205,49 +169,23 @@ classes:
page_count:
required: false
range: integer
slot_uri: bf:extent
description: 'Number of pages in paginated items.
For books, typically refers to printed/written pages.
'
examples:
- value: 324
folio_count:
required: false
range: integer
slot_uri: bf:extent
description: 'Number of folios (leaves) for unpaginated manuscripts.
One folio = two pages (recto and verso).
'
examples:
- value: 162
description: 162 folios = 324 pages
extent_text:
required: false
range: string
slot_uri: bf:extent
description: 'Textual description of extent when counts are complex.
**Format**: Bibliographic extent statement
'
examples:
- value: 'xii, 324 p., [8] p. of plates : ill. ; 24 cm'
- value: '1 atlas (42 maps) : col. ; 38 cm'
duration:
required: false
range: string
slot_uri: schema:duration
description: 'Duration for time-based media (audio, video, film).
**Format**: ISO 8601 duration or HH:MM:SS
'
examples:
- value: PT45M30S
description: 45 minutes 30 seconds
@ -255,9 +193,6 @@ classes:
binding_type:
required: false
range: string
slot_uri: aat:300211468
description: "Type of binding for bound volumes.\n\n**Values**: Full leather, half leather, quarter leather, cloth,\
\ \npaper boards, limp vellum, case binding, pamphlet binding\n"
examples:
- value: Full leather
- value: Half calf over marbled boards
@ -265,33 +200,18 @@ classes:
binding_description:
required: false
range: string
description: 'Detailed description of binding (decorations, tooling, condition).
'
examples:
- value: "Contemporary blind-stamped pigskin over wooden boards, \nwith brass clasps and corner pieces. Spine with\
\ five raised bands.\n"
cover_material:
required: false
range: string
description: 'Material of cover/binding.
'
examples:
- value: Leather (calf)
- value: Cloth (buckram)
script_type:
required: false
range: string
slot_uri: crm:P128_carries
description: 'Type of script/writing for manuscripts.
**Values**: MANUSCRIPT (handwritten), TYPESCRIPT, PRINTED,
MIXED (combination)
'
examples:
- value: MANUSCRIPT
- value: PRINTED
@ -299,23 +219,6 @@ classes:
writing_system:
required: false
range: string
slot_uri: crm:P128_carries
description: 'Writing system used in the text.
**Values by script family**:
- Latin alphabet, Cyrillic, Greek
- Arabic, Hebrew, Syriac
- Chinese, Japanese, Korean
- Devanagari, Tamil, Thai
- Cuneiform, Hieroglyphic, Runic
'
examples:
- value: Latin alphabet
- value: Cuneiform
@ -324,15 +227,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: dcterms:language
description: 'Language(s) of carrier (labels, inscriptions on object).
For content language, use content_language.
**Format**: ISO 639-3 codes
'
examples:
- value: lat
description: Latin
@ -342,13 +236,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: schema:inLanguage
description: 'Language(s) of the textual content.
**Format**: ISO 639-3 codes
'
examples:
- value: lat
- value: grc
@ -356,12 +243,6 @@ classes:
text_direction:
required: false
range: string
description: 'Direction of text flow.
**Values**: LEFT_TO_RIGHT, RIGHT_TO_LEFT, TOP_TO_BOTTOM, BOUSTROPHEDON
'
examples:
- value: LEFT_TO_RIGHT
- value: RIGHT_TO_LEFT
@ -369,9 +250,6 @@ classes:
production_method:
required: false
range: string
slot_uri: crm:P32_used_general_technique
description: "Method of text production.\n\n**Values**: MANUSCRIPT, LETTERPRESS, LITHOGRAPHY, OFFSET, \nINTAGLIO (engraving),\
\ WOODBLOCK, MIMEOGRAPH, PHOTOCOPY\n"
examples:
- value: LETTERPRESS
- value: LITHOGRAPHY
@ -379,10 +257,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: schema:publisher
description: 'Printer, publisher, or producer of the item.
'
examples:
- value: Johannes Gutenberg
- value: Elsevier
@ -390,10 +264,6 @@ classes:
required: false
range: CustodianPlace
inlined: true
slot_uri: schema:locationCreated
description: 'Place where the item was published/produced.
'
examples:
- value:
place_name: Mainz
@ -401,31 +271,18 @@ classes:
date_of_publication:
required: false
range: string
slot_uri: schema:datePublished
description: 'Date of publication or production.
Use string to accommodate historical dating (c. 1455, 16th century).
'
examples:
- value: c. 1455
- value: '1623'
edition_statement:
required: false
range: string
slot_uri: bf:editionStatement
description: 'Edition statement from title page or colophon.
'
examples:
- value: First edition
- value: Second edition, revised and enlarged
copy_number:
required: false
range: string
description: 'Copy number for limited editions.
'
examples:
- value: Copy 45 of 500
- value: No. 12/100
@ -433,9 +290,6 @@ classes:
required: false
range: string
multivalued: true
description: 'Notes specific to this copy (imperfections, special features).
'
examples:
- value: Lacking title page
- value: Rubricated throughout in red and blue
@ -443,18 +297,12 @@ classes:
marginalia:
required: false
range: string
description: 'Description of marginal annotations.
'
examples:
- value: Extensive marginal annotations in 16th-century hand
has_annotation_by:
required: false
range: string
multivalued: true
description: 'Known or attributed annotators.
'
examples:
- value: John Dee
- value: Unknown 17th-century reader
@ -462,36 +310,23 @@ classes:
required: false
range: string
multivalued: true
description: 'Bookplate(s) present in the volume.
'
examples:
- value: Armorial bookplate of the Earl of Pembroke
ownership_stamp:
required: false
range: string
multivalued: true
description: 'Ownership stamps, ink stamps, or embossed marks.
'
examples:
- value: British Museum stamp on verso of title page
binding_provenance:
required: false
range: string
description: 'Provenance information related to binding.
'
examples:
- value: Bound for presentation to Elizabeth I, royal arms in gold
isbn:
required: false
range: string
pattern: ^(97[89])?\d{9}[\dXx]$
slot_uri: schema:isbn
description: 'International Standard Book Number (ISBN-10 or ISBN-13).
'
examples:
- value: '9780198123569'
- value: 0198123566
@ -499,10 +334,6 @@ classes:
required: false
range: string
pattern: ^\d{4}-?\d{3}[\dXx]$
slot_uri: schema:issn
description: 'International Standard Serial Number for periodicals.
'
examples:
- value: 0028-0836
description: Nature
@ -510,31 +341,16 @@ classes:
required: false
range: string
pattern: ^10\..+/.+$
slot_uri: schema:identifier
description: 'Digital Object Identifier.
'
examples:
- value: 10.1000/xyz123
oclc_number:
required: false
range: string
slot_uri: bf:identifiedBy
description: 'OCLC control number for bibliographic record.
'
examples:
- value: '12345678'
call_number:
required: false
range: string
slot_uri: bf:shelfMark
description: 'Library call number or classification.
**Systems**: Library of Congress, Dewey Decimal, local
'
examples:
- value: BS75.A1 1455
- value: Inc. 1
@ -542,82 +358,46 @@ classes:
shelf_mark:
required: false
range: string
slot_uri: bf:shelfMark
description: 'Shelf mark or location identifier within collection.
'
examples:
- value: MS. Royal 1.A.XVIII
- value: Add. MS 43725
has_archival_reference:
required: false
range: string
slot_uri: rico:identifier
description: 'Archival reference code (ISAD(G) reference).
'
examples:
- value: NL-HaNA/2.21.006.50
description: Dutch National Archives reference
has_or_had_fond:
required: false
range: string
slot_uri: rico:isOrWasIncludedIn
description: 'Archival fonds to which this item belongs.
'
examples:
- value: VOC Archives
- value: Roosevelt Papers
has_or_had_series:
required: false
range: string
slot_uri: rico:isOrWasIncludedIn
description: 'Archival series within fonds.
'
examples:
- value: Correspondence, 1933-1945
file_number:
required: false
range: string
description: 'File or item number within series.
'
examples:
- value: File 123, Item 45
has_arrangement_level:
required: false
range: string
slot_uri: rico:hasRecordSetType
description: 'Level of archival description.
**Values**: FONDS, SUB_FONDS, SERIES, SUB_SERIES, FILE, ITEM
'
examples:
- value: ITEM
- value: FILE
carries_information:
required: false
range: string
slot_uri: crm:P128_carries
description: 'Reference to the conceptual content (work/expression) carried.
Links carrier to intellectual content.
'
examples:
- value: Vulgate Latin Bible
- value: Hamlet by William Shakespeare
title_proper:
required: false
range: string
slot_uri: bf:title
description: 'Title as it appears on the item (transcribed).
'
examples:
- value: Biblia Latina
- value: Mr. William Shakespeares Comedies, Histories, & Tragedies
@ -625,28 +405,16 @@ classes:
required: false
range: string
multivalued: true
slot_uri: bf:title
description: 'Parallel titles in other languages.
'
examples:
- value: The Holy Bible (English parallel title)
uniform_title:
required: false
range: string
slot_uri: bf:title
description: 'Standardized/uniform title for cataloging.
'
examples:
- value: Bible. Latin. Vulgate. 1455
content_summary:
required: false
range: string
slot_uri: schema:abstract
description: 'Summary or abstract of content.
'
examples:
- value: "The Gutenberg Bible is the first substantial book printed \nwith movable metal type. Contains the complete\
\ Latin Vulgate \ntext of the Old and New Testaments.\n"

View file

@ -93,21 +93,11 @@ classes:
identifier: true
required: true
range: uriorcurie
slot_uri: dcterms:identifier
description: 'Unique identifier for this heritage event occurrence.
Format: https://nde.nl/ontology/hc/heritage-event/{slug}-{year}
'
examples:
- value: https://nde.nl/ontology/hc/heritage-event/pride-amsterdam-2024
event_name:
required: true
range: string
slot_uri: schema:name
description: 'Name of this specific event occurrence, typically including the year.
'
examples:
- value: Pride Amsterdam 2024
- value: Carnaval Maastricht 2025
@ -115,12 +105,6 @@ classes:
event_description:
required: false
range: string
slot_uri: schema:description
description: 'Description specific to this event occurrence, including theme,
highlights, or notable aspects.
'
examples:
- value: "Pride Amsterdam 2024 celebrated \"Proud of Every Body\" with 80 \nboats in the Canal Parade, attracting\
\ over 500,000 spectators.\n"
@ -128,69 +112,33 @@ classes:
required: true
range: IntangibleHeritageForm
inlined: false
slot_uri: crm:P2_has_type
description: 'The heritage form this event is an instance/occurrence of.
Links this specific event to its abstract heritage tradition.
'
examples:
- value: https://nde.nl/ontology/hc/heritage-form/pride-amsterdam
edition_number:
required: false
range: integer
slot_uri: schema:position
description: 'Edition number of recurring events.
Example: Pride Amsterdam 2024 was the 29th edition (first in 1996).
'
examples:
- value: 29
description: Pride Amsterdam 2024
event_date_start:
required: true
range: date
slot_uri: schema:startDate
description: 'Start date of this event occurrence.
'
examples:
- value: '2024-08-03'
event_date_end:
required: false
range: date
slot_uri: schema:endDate
description: 'End date of this event occurrence.
For single-day events, may be same as start date or omitted.
'
examples:
- value: '2024-08-10'
description: Pride Amsterdam typically lasts a week
event_timespan:
required: false
range: TimeSpan
slot_uri: crm:P4_has_time-span
description: 'Full temporal extent of this event, with CIDOC-CRM fuzzy boundaries.
Use for more detailed temporal modeling.
'
event_location:
required: false
range: CustodianPlace
multivalued: true
inlined_as_list: true
slot_uri: schema:location
description: 'Location(s) where this event takes place.
For multi-venue events (parades, processions), include all locations.
'
examples:
- value:
place_name: Amsterdam Canal Ring
@ -198,10 +146,6 @@ classes:
event_venue:
required: false
range: string
slot_uri: schema:locationCreated
description: 'Primary venue name (for events with a main location).
'
examples:
- value: Museumplein Amsterdam
organized_by:
@ -209,77 +153,40 @@ classes:
range: Custodian
multivalued: true
inlined: false
slot_uri: schema:organizer
description: 'Custodian organization(s) that organized this event occurrence.
Links to heritage custodian entities (usually type I).
'
examples:
- value: https://nde.nl/ontology/hc/custodian/nl/amsterdam-gay-pride
participant_count:
required: false
range: integer
slot_uri: schema:attendeeCount
description: 'Number of active participants (performers, parade participants, etc.).
Distinct from audience/spectator count.
'
examples:
- value: 5000
description: Pride Amsterdam parade participants
has_or_had_audience_size:
required: false
range: integer
slot_uri: schema:maximumAttendeeCapacity
description: 'Estimated or reported audience/spectator count.
'
examples:
- value: 500000
description: Pride Amsterdam spectators
event_status:
required: false
range: EventStatusEnum
slot_uri: schema:eventStatus
description: 'Status of this event occurrence.
Values: SCHEDULED, CANCELLED, POSTPONED, RESCHEDULED, COMPLETED
'
examples:
- value: COMPLETED
event_cancelled_reason:
required: false
range: string
description: 'Reason for cancellation or postponement (if applicable).
Important for documenting COVID-19 impacts and other disruptions.
'
examples:
- value: COVID-19 pandemic restrictions
description: Pride Amsterdam 2020 cancellation
event_url:
required: false
range: uri
slot_uri: schema:url
description: 'Official URL for this event occurrence.
'
examples:
- value: https://pride.amsterdam/2024
event_documentation:
required: false
range: uri
multivalued: true
slot_uri: rdfs:seeAlso
description: 'Links to documentation, photos, videos of this event occurrence.
'
examples:
- value: https://www.youtube.com/watch?v=pride2024
has_or_had_related_event:
@ -287,22 +194,12 @@ classes:
range: IntangibleHeritageEvent
multivalued: true
inlined: false
slot_uri: schema:relatedLink
description: 'Related event occurrences (previous/next editions, parallel events).
'
examples:
- value: https://nde.nl/ontology/hc/heritage-event/pride-amsterdam-2023
wikidata_id:
required: false
range: string
pattern: ^Q[0-9]+$
slot_uri: schema:sameAs
description: 'Wikidata entity ID for this specific event occurrence (if exists).
Note: Most annual events don''t have Wikidata entries for each year.
'
has_or_had_custodian_type:
equals_expression: '["hc:IntangibleHeritageGroupType"]'
specificity_annotation:

View file

@ -151,23 +151,11 @@ classes:
identifier: true
required: true
range: uriorcurie
slot_uri: dcterms:identifier
description: 'Unique identifier for this intangible heritage form.
Format: https://nde.nl/ontology/hc/heritage-form/{slug}
'
examples:
- value: https://nde.nl/ontology/hc/heritage-form/pride-amsterdam
heritage_form_name:
required: true
range: string
slot_uri: skos:prefLabel
description: 'The primary name of this intangible heritage form.
Use the official Dutch name for heritage forms registered with KIEN.
'
examples:
- value: Pride Amsterdam
- value: 1 aprilviering Brielle
@ -175,12 +163,6 @@ classes:
heritage_form_description:
required: false
range: string
slot_uri: dcterms:description
description: 'Detailed description of the heritage form, including its history,
significance, practices, and cultural meaning.
'
examples:
- value: "Pride Amsterdam is the annual LGBTQ+ celebration featuring the famous \nCanal Parade through the historic\
\ canals of Amsterdam. First held in \n1996, it represents Dutch values of tolerance and equality.\n"
@ -188,88 +170,34 @@ classes:
required: true
range: UNESCOICHDomainEnum
multivalued: true
slot_uri: dcterms:subject
description: 'The UNESCO ICH domain(s) this heritage form belongs to.
Five domains per 2003 Convention:
1. Oral traditions and expressions
2. Performing arts
3. Social practices, rituals, festive events
4. Knowledge concerning nature and universe
5. Traditional craftsmanship
'
examples:
- value: SOCIAL_PRACTICES_RITUALS_FESTIVE_EVENTS
description: For festivals like Pride Amsterdam, Carnaval
kien_url:
required: false
range: uri
slot_uri: schema:url
description: 'URL to the heritage form''s page on the KIEN website.
Format: https://www.immaterieelerfgoed.nl/nl/{slug}
'
examples:
- value: https://www.immaterieelerfgoed.nl/nl/pride-amsterdam
kien_registration_date:
required: false
range: date
slot_uri: dcterms:created
description: 'Date when this heritage form was added to the Dutch National
Inventory of Intangible Cultural Heritage (maintained by KIEN).
'
examples:
- value: '2019-04-15'
unesco_list_status:
required: false
range: UNESCOListStatusEnum
slot_uri: schema:additionalType
description: 'Status on UNESCO intangible heritage lists.
UNESCO maintains three lists:
1. Representative List of ICH of Humanity
2. List of ICH in Need of Urgent Safeguarding
3. Register of Good Safeguarding Practices
NULL = Not inscribed on any UNESCO list (national recognition only)
'
examples:
- value: REPRESENTATIVE_LIST
description: For internationally recognized heritage
unesco_inscription_year:
required: false
range: integer
description: 'Year when inscribed on UNESCO list (if applicable).
'
examples:
- value: 2017
geographic_scope:
required: false
range: string
multivalued: true
slot_uri: dcterms:spatial
description: 'Geographic areas where this heritage form is practiced.
Can be specific locations or broader regions.
'
examples:
- value:
- Amsterdam
@ -282,18 +210,12 @@ classes:
origin_location:
required: false
range: string
description: 'Location where this heritage form originated.
'
examples:
- value: Amsterdam
- value: Brielle
origin_period:
required: false
range: TimeSpan
description: 'Time period when this heritage form originated or first appeared.
'
examples:
- value:
begin_of_the_begin: '1996-01-01'
@ -303,60 +225,23 @@ classes:
range: Custodian
multivalued: true
inlined: false
slot_uri: crm:P109i_is_current_or_former_curator_of
description: "Heritage custodian organizations that safeguard this heritage form.\n\nLinks to Custodian entities (usually\
\ with institution_type = I for \nintangible heritage groups).\n\nCIDOC-CRM: P109 is_current_or_former_curator_of\
\ (inverse relationship).\n"
examples:
- value: https://nde.nl/ontology/hc/custodian/nl/amsterdam-gay-pride
description: Stichting Amsterdam Gay Pride safeguards Pride Amsterdam
has_or_had_transmission_method:
required: false
range: string
slot_uri: schema:teaches
description: 'How knowledge and skills of this heritage form are transmitted
between generations.
Examples: Master-apprentice, community workshops, family teaching,
formal education, festival participation.
'
examples:
- value: Community participation, annual festival organization, volunteer training
viability_status:
required: false
range: ICHViabilityStatusEnum
description: 'Current viability/health of this heritage form.
Based on UNESCO ICH assessment criteria:
- THRIVING: Active practice, strong transmission, stable community
- VULNERABLE: Declining practice or transmission challenges
- ENDANGERED: At risk of disappearing without intervention
- DORMANT: No longer actively practiced (historical record)
'
examples:
- value: THRIVING
threat:
required: false
range: string
multivalued: true
description: 'Factors that threaten the viability of this heritage form.
Common threats: urbanization, globalization, loss of practitioners,
lack of funding, climate change, political instability.
'
examples:
- value:
- Aging practitioner community
@ -365,15 +250,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: crm:P33_used_specific_technique
description: 'Actions taken to ensure viability and transmission of this heritage.
Per UNESCO, measures include: identification, documentation, research,
preservation, protection, promotion, enhancement, transmission, revitalization.
'
examples:
- value:
- Annual festival organization
@ -384,23 +260,12 @@ classes:
range: IntangibleHeritageForm
multivalued: true
inlined: false
slot_uri: skos:related
description: 'Other heritage forms that are semantically related.
Examples: Different carnivals, related craft traditions, connected festivals.
'
examples:
- value: https://nde.nl/ontology/hc/heritage-form/carnaval-maastricht
wikidata_id:
required: false
range: string
pattern: ^Q[0-9]+$
slot_uri: schema:sameAs
description: 'Wikidata entity ID for this heritage form (if exists).
'
examples:
- value: Q478546
description: Pride Amsterdam
@ -408,10 +273,6 @@ classes:
required: false
range: uri
multivalued: true
slot_uri: rdfs:seeAlso
description: 'External links to documentation, videos, or other resources.
'
examples:
- value: https://www.pride.amsterdam
has_or_had_custodian_type:

View file

@ -236,38 +236,6 @@ classes:
- template_specificity
slot_usage:
ich_domain:
description: 'UNESCO intangible cultural heritage domain(s) represented.
Five UNESCO ICH domains per 2003 Convention:
1. Oral traditions and expressions (language as vehicle of ICH)
2. Performing arts (music, dance, theater)
3. Social practices, rituals, and festive events
4. Knowledge and practices concerning nature and the universe
5. Traditional craftsmanship
Groups may operate in multiple domains (e.g., festival organization = social practices + performing arts).
Examples:
- "Performing arts - Traditional dance"
- "Traditional craftsmanship - Textile weaving"
- "Social practices - Community festivals"
- "Oral traditions - Storytelling"
- "Nature knowledge - Traditional medicine"
'
range: string
multivalued: true
required: true
@ -279,38 +247,6 @@ classes:
- value: Social practices - Carnival traditions
description: Festival organization
ich_transmission_method:
description: 'How intangible heritage knowledge and skills are transmitted within the community.
Describes the pedagogical and social mechanisms for cultural continuity:
- Master-apprentice systems (one-on-one skill transmission)
- Community workshops and training programs
- Family transmission (intergenerational knowledge transfer)
- Ceremonial participation (learning through ritual practice)
- Peer learning (collaborative skill development)
- Documentation (video, audio, written records as transmission aids)
- Formal education integration (school programs incorporating ICH)
Critical for safeguarding sustainability - without transmission, ICH dies.
Examples:
- "Master-apprentice training, Community rehearsals, Ceremonial performances"
- "Family workshops, Annual training camps, Youth mentorship programs"
- "Ritual participation, Oral instruction, Hands-on practice"
'
range: string
required: true
examples:
@ -321,38 +257,6 @@ classes:
- value: Ceremonial participation, Oral instruction, Community festivals
description: Ritual practice transmission
practitioner_community:
description: 'Composition and size of the community practicing this intangible heritage.
Describes who carries the living tradition:
- Number of active practitioners (core bearers of knowledge)
- Age demographics (generational distribution, succession planning)
- Skill levels (masters, journeymen, apprentices, novices)
- Geographic distribution (local, regional, diaspora)
- Gender participation (male, female, mixed, gendered roles)
- Ethnic/linguistic has_or_had_affiliation (indigenous, minority, majority culture)
- Professionalization (full-time, part-time, volunteer, amateur)
Helps assess tradition vitality and sustainability.
Examples:
- "30 active musicians, 15 apprentices, 3 master teachers"
- "8 elder weavers (ages 60-85), 12 mid-career (ages 35-55), 20 learners"
- "25 dancers, predominantly female, ages 15-40, full-time professional"
'
range: string
required: true
examples:
@ -363,49 +267,6 @@ classes:
- value: 50 storytellers, 200 community participants
description: Oral narrative tradition
performance_repertoire:
description: 'Scope and content of the intangible heritage tradition maintained.
For performing arts:
- Repertoire breadth (number of pieces, styles, genres)
- Temporal range (ancient, historical, contemporary)
- Contextual uses (ceremonial, social, entertainment, commercial)
- Innovation vs. preservation (strict tradition vs. creative adaptation)
For traditional crafts:
- Product types (textiles, pottery, metalwork, etc.)
- Techniques preserved (weaving methods, firing techniques, etc.)
- Design vocabulary (patterns, motifs, color systems)
- Material knowledge (traditional vs. modern materials)
For social practices:
- Ritual calendar (annual, seasonal, life-cycle events)
- Ceremonial forms (processions, offerings, feast structures)
- Social roles (participants, organizers, ritual specialists)
Examples:
- "Gong Kebyar style, Ceremonial music (odalan), Contemporary compositions"
- "Traditional Ikat patterns, Natural dye techniques, Contemporary adaptations"
- "Annual Carnival parade, Summer solstice ritual, Harvest thanksgiving"
'
range: string
required: true
examples:
@ -416,38 +277,6 @@ classes:
- value: Annual carnival, Summer solstice, Harvest festival
description: Festival tradition repertoire
cultural_context:
description: 'Social, religious, and community contexts in which intangible heritage is practiced.
Describes the living ecosystem of the tradition:
- Religious/spiritual context (temple ceremonies, church festivals, indigenous rituals)
- Community function (social cohesion, identity expression, conflict resolution)
- Economic dimension (tourism, commercial sales, gift exchange, livelihood)
- Political significance (resistance, cultural autonomy, national identity)
- Lifecycle integration (births, weddings, funerals, initiations)
- Seasonal calendars (agricultural cycles, celestial events, historical commemorations)
- Diaspora contexts (heritage maintenance in migration, transnational practice)
Critical for understanding why ICH matters to communities.
Examples:
- "Balinese Hindu temple ceremonies, Community festivals, Tourist performances"
- "Wedding gifts, Market sales, Cultural pride, Income generation"
- "Easter processions, Summer village festivals, Migrant community gatherings"
'
range: string
required: true
examples:
@ -458,40 +287,6 @@ classes:
- value: Easter processions, Village festivals, Diaspora events
description: Carnival tradition cultural context
has_or_had_ich_safeguarding_measure:
description: 'Actions taken to ensure viability and intergenerational transmission of ICH.
Per UNESCO Safeguarding ICH Convention, measures include:
- Identification and documentation (inventories, archives, databases)
- Transmission support (training programs, workshops, apprenticeships)
- Promotion and valorization (festivals, exhibitions, media coverage)
- Revitalization (language revival, technique reconstruction, community mobilization)
- Protection (intellectual property, traditional knowledge rights)
- Sustainable practice (eco-friendly materials, ethical sourcing, fair compensation)
- Research and education (academic study, school curricula, public awareness)
- International cooperation (UNESCO listings, transnational networks, knowledge exchange)
Demonstrates organizational commitment to ICH continuity.
Examples:
- "Youth training program, Instrument maintenance, Repertoire documentation"
- "Apprenticeship scheme, Material sourcing network, Product certification"
- "Annual festival, School workshops, UNESCO nomination process"
'
range: string
required: true
examples:

View file

@ -90,21 +90,11 @@ classes:
identifier: true
required: true
range: uriorcurie
slot_uri: dcterms:identifier
description: 'Unique identifier for this heritage performance.
Format: https://nde.nl/ontology/hc/heritage-performance/{slug}
'
examples:
- value: https://nde.nl/ontology/hc/heritage-performance/gamelan-festival-2024-opening
performance_name:
required: true
range: string
slot_uri: schema:name
description: 'Name or title of this specific performance.
'
examples:
- value: Gamelan Opening Concert
- value: Cramignon Dance Performance
@ -112,10 +102,6 @@ classes:
performance_description:
required: false
range: string
slot_uri: schema:description
description: 'Description of this performance, including context and highlights.
'
examples:
- value: 'Traditional Gamelan Gong Kebyar performance featuring 25 musicians
@ -128,44 +114,22 @@ classes:
required: true
range: IntangibleHeritageForm
inlined: false
slot_uri: crm:P2_has_type
description: 'The heritage form this performance demonstrates/presents.
Links to the abstract performing arts tradition.
'
examples:
- value: https://nde.nl/ontology/hc/heritage-form/gamelan-music
part_of_event:
required: false
range: IntangibleHeritageEvent
inlined: false
slot_uri: schema:superEvent
description: 'The heritage event this performance is part of (if applicable).
Performances can be standalone or part of a larger festival.
'
examples:
- value: https://nde.nl/ontology/hc/heritage-event/indonesian-festival-2024
performance_datetime:
required: true
range: datetime
slot_uri: schema:startDate
description: 'Date and time of this performance.
'
examples:
- value: '2024-09-15T19:00:00+02:00'
performance_duration:
required: false
range: string
slot_uri: schema:duration
description: 'Duration of the performance in ISO 8601 duration format.
'
examples:
- value: PT90M
description: 90 minutes
@ -174,10 +138,6 @@ classes:
performance_location:
required: false
range: CustodianPlace
slot_uri: schema:location
description: 'Location where this performance takes place.
'
examples:
- value:
place_name: Muziekgebouw aan 't IJ
@ -185,10 +145,6 @@ classes:
performance_venue:
required: false
range: string
slot_uri: schema:locationCreated
description: 'Venue name for this performance.
'
examples:
- value: Concertgebouw, Amsterdam
- value: Open Air Stage, Museumplein
@ -197,26 +153,12 @@ classes:
range: Custodian
multivalued: true
inlined: false
slot_uri: schema:performer
description: 'Custodian organization(s) performing this heritage tradition.
Links to heritage groups (usually type I) that maintain the tradition.
'
examples:
- value: https://nde.nl/ontology/hc/custodian/nl/gamelan-gong-kebyar
performer:
required: false
range: string
multivalued: true
slot_uri: schema:actor
description: 'Names of individual performers (if known).
For master artists, tradition bearers, or notable performers.
'
examples:
- value:
- I Wayan Sudirana (master drummer)
@ -225,10 +167,6 @@ classes:
required: false
range: string
multivalued: true
slot_uri: schema:workPerformed
description: 'Specific pieces, songs, dances, or works performed.
'
examples:
- value:
- Tabuh Telu (ceremonial piece)
@ -236,52 +174,28 @@ classes:
has_audience_type:
required: false
range: string
slot_uri: schema:audience
description: 'Type of audience for this performance.
Values: General public, Specialists, Community members, Children, etc.
'
examples:
- value: General public
- value: Heritage community members
has_or_had_audience_size:
required: false
range: integer
description: 'Estimated or actual audience size for this performance.
'
examples:
- value: 500
recording_available:
required: false
range: boolean
description: 'Whether audio/video recording of this performance exists.
'
examples:
- value: true
recording_url:
required: false
range: uri
multivalued: true
slot_uri: schema:recordedAt
description: 'Links to recordings of this performance (audio, video).
'
examples:
- value: https://www.youtube.com/watch?v=gamelan2024
performance_note:
required: false
range: string
slot_uri: rdfs:comment
description: 'Additional notes about this performance.
Can include reception, notable moments, or contextual information.
'
examples:
- value: First public performance of this ensemble in the Netherlands.
has_or_had_custodian_type:

View file

@ -120,12 +120,6 @@ classes:
- was_generated_by
slot_usage:
device_id:
slot_uri: dcterms:identifier
description: 'Unique identifier for this IoT device or device network.
Format: URI following NDE Heritage Custodian ontology conventions.
'
range: uriorcurie
required: true
identifier: true
@ -133,13 +127,6 @@ classes:
- value: https://nde.nl/ontology/hc/iot/rijksmuseum-beacon-gallery-1
description: Beacon network in Gallery of Honour
device_name:
slot_uri: schema:name
description: 'Human-readable name for this IoT device or network.
Should be descriptive of location and purpose.
'
range: string
required: true
examples:
@ -148,22 +135,6 @@ classes:
- value: Depot Climate Monitoring System
description: Sensor network name
device_type:
slot_uri: dcterms:type
description: 'Type of IoT device using DigitalPresenceTypeEnum IoT values.
Types:
- IOT_BEACON: Bluetooth/NFC beacons for location services
- IOT_KIOSK: Interactive terminals/touch screens
- IOT_SENSOR: Environmental/monitoring sensors
Additional device categories may be added.
'
range: DigitalPresenceTypeEnum
required: true
examples:
@ -174,34 +145,11 @@ classes:
- value: IOT_KIOSK
description: Interactive kiosk
device_model:
slot_uri: schema:model
description: 'Model name/number of the device.
Schema.org: model for product model.
Examples:
- "Estimote Proximity Beacon"
- "Samsung Kiosk 24"
- "Sensirion SHT45 Climate Sensor"
'
range: string
examples:
- value: Estimote Proximity Beacon
description: Beacon model
device_manufacturer:
slot_uri: schema:manufacturer
description: 'Manufacturer of the IoT device.
Schema.org: manufacturer for producer.
'
range: string
examples:
- value: Estimote
@ -209,15 +157,6 @@ classes:
- value: Samsung
description: Kiosk manufacturer
device_count:
slot_uri: schema:numberOfItems
description: 'Number of devices in this device group/network.
For individual devices, value is 1.
For beacon networks or sensor arrays, value is total count.
'
range: integer
minimum_value: 1
examples:
@ -228,16 +167,6 @@ classes:
- value: 1
description: Single information kiosk
coverage_area:
slot_uri: schema:areaServed
description: 'Physical area covered by this device or device network.
Schema.org: areaServed for geographic coverage.
Can be room names, zones, or descriptions.
'
range: string
examples:
- value: Gallery of Honour (main wing)
@ -247,13 +176,6 @@ classes:
- value: Main entrance lobby
description: Specific location
purpose:
slot_uri: dcterms:description
description: 'Purpose and use case for this IoT device/network.
Dublin Core: description for purpose statement.
'
range: string
required: true
examples:
@ -264,49 +186,11 @@ classes:
- value: Self-service collection search for visitors
description: Kiosk purpose
technical_specification:
slot_uri: schema:description
description: 'Technical details about the device.
May include:
- Transmission range (for beacons)
- Measurement accuracy (for sensors)
- Screen resolution (for kiosks)
- Battery life
- Operating temperature range
'
range: string
examples:
- value: BLE 5.0, 50m range, 5-year battery, IP67 rated
description: Beacon specifications
connectivity_type:
slot_uri: schema:potentialAction
description: 'Type of connectivity used by the device.
Values:
- BLUETOOTH_LE: Bluetooth Low Energy (beacons)
- WIFI: WiFi network connection
- ETHERNET: Wired network connection
- LORAWAN: Long-range low-power IoT network
- NFC: Near-field communication
- ZIGBEE: Zigbee mesh network
- CELLULAR: 4G/5G cellular connection
'
range: string
multivalued: true
examples:
@ -315,23 +199,6 @@ classes:
- value: WIFI
description: Kiosk connectivity
power_source:
slot_uri: schema:fuelType
description: 'Power source for the device.
Values:
- BATTERY: Battery-powered
- MAINS: Mains electricity
- POE: Power over Ethernet
- SOLAR: Solar-powered
- USB: USB-powered
'
range: string
examples:
- value: BATTERY
@ -339,18 +206,6 @@ classes:
- value: MAINS
description: Mains-powered kiosk
publishes_to:
slot_uri: dcat:endpointURL
description: 'URL where device data is published (dashboard, API).
DCAT: endpointURL for data publication endpoint.
For sensors, this may be a monitoring dashboard.
For beacons, this may be analytics platform.
'
range: uri
examples:
- value: https://dashboard.museum.nl/climate
@ -358,59 +213,16 @@ classes:
- value: https://analytics.museum.nl/beacons
description: Beacon analytics platform
has_or_had_api_endpoint:
slot_uri: dcat:endpointURL
description: 'API endpoint for programmatic access to device data.
DCAT: endpointURL for API access.
'
range: uri
examples:
- value: https://api.museum.nl/sensors/v1/
description: Sensor data API
data_format:
slot_uri: dcterms:format
description: 'Format of data produced by the device.
Dublin Core: format for data format.
Examples:
- "JSON"
- "SensorML"
- "CSV"
- "MQTT payload"
'
range: string
examples:
- value: JSON
description: JSON data format
update_frequency:
slot_uri: dcterms:accrualPeriodicity
description: 'How often the device sends data/updates.
Dublin Core: accrualPeriodicity for frequency.
Examples:
- "Every 5 minutes"
- "On proximity trigger"
- "Hourly"
- "Real-time"
'
range: string
examples:
- value: Every 5 minutes
@ -418,84 +230,27 @@ classes:
- value: On proximity trigger
description: Beacon trigger frequency
installed_at_place:
slot_uri: schema:location
description: 'CustodianPlace where this device is installed.
Links to CustodianPlace for precise location.
Schema.org: location for physical location.
'
range: CustodianPlace
examples:
- value: https://nde.nl/ontology/hc/place/rijksmuseum-gallery-of-honour
description: Gallery location
installation_date:
slot_uri: schema:dateCreated
description: 'Date when the device was installed.
Schema.org: dateCreated for installation date.
'
range: date
examples:
- value: '2023-06-15'
description: Installation date
decommission_date:
slot_uri: schema:expires
description: 'Date when the device was or will be decommissioned.
NULL if still operational.
Schema.org: expires for end date.
'
range: date
examples:
- value: '2028-12-31'
description: Planned decommission date
temporal_extent:
slot_uri: crm:P4_has_time-span
description: 'Temporal period during which this device is operational.
CIDOC-CRM: P4_has_time-span for fuzzy temporal boundaries.
For temporary exhibition devices, captures exhibition dates.
'
range: TimeSpan
examples:
- value:
begin_of_the_begin: '2023-06-15'
description: Device operational since June 2023
operational_status:
slot_uri: schema:status
description: 'Current operational status of the device.
Values:
- ACTIVE: Currently operational
- MAINTENANCE: Under maintenance
- OFFLINE: Not currently functional
- DECOMMISSIONED: Permanently retired
- PLANNED: Not yet installed
Schema.org: status for current status.
'
range: string
examples:
- value: ACTIVE
@ -503,55 +258,18 @@ classes:
- value: MAINTENANCE
description: Device under maintenance
maintenance_schedule:
slot_uri: schema:maintenanceSchedule
description: 'Maintenance schedule for the device.
Examples:
- "Monthly battery check"
- "Quarterly calibration"
- "Annual hardware inspection"
'
range: string
examples:
- value: Monthly battery check
description: Beacon maintenance
was_derived_from:
slot_uri: prov:wasDerivedFrom
description: 'CustodianObservation(s) documenting this device.
PROV-O: wasDerivedFrom for observation provenance.
'
range: CustodianObservation
multivalued: true
required: false
was_generated_by:
slot_uri: prov:wasGeneratedBy
description: 'ReconstructionActivity that generated this device record.
PROV-O: wasGeneratedBy for generation activity.
'
range: ReconstructionActivity
required: false
refers_to_custodian:
slot_uri: dcterms:references
description: 'The Custodian hub that operates this IoT device (REQUIRED).
Links the IoT device to the custodian that owns/operates it.
Dublin Core: references for entity reference.
'
range: Custodian
required: true
examples:

View file

@ -8,153 +8,92 @@ prefixes:
lcc_cr: https://www.omg.org/spec/LCC/Countries/CountryRepresentation/
schema: http://schema.org/
imports:
- linkml:types
- ../metadata
- ./Country
- ./Subregion
- ./Settlement
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../enums/JurisdictionTypeEnum
- ../enums/LegalSystemTypeEnum
- ../slots/country
- ../slots/subregion
- ../slots/settlement
- ../slots/description
- ../slots/jurisdiction_id
- ../slots/jurisdiction_type
- ../slots/supranational_code
- ../slots/gleif_jurisdiction_code
- ../slots/legal_system_type
- ../slots/specificity_annotation
- ../slots/template_specificity
- linkml:types
- ../metadata
- ./Country
- ./Subregion
- ./Settlement
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../enums/JurisdictionTypeEnum
- ../enums/LegalSystemTypeEnum
- ../slots/country
- ../slots/subregion
- ../slots/settlement
- ../slots/description
- ../slots/jurisdiction_id
- ../slots/jurisdiction_type
- ../slots/supranational_code
- ../slots/gleif_jurisdiction_code
- ../slots/legal_system_type
- ../slots/specificity_annotation
- ../slots/template_specificity
classes:
Jurisdiction:
class_uri: lcc_cr:GeographicRegion
description: |
A distinct area subject to a government and set of laws.
**CRITICAL DISTINCTION: Jurisdiction vs ServiceArea**
Jurisdiction and ServiceArea are fundamentally different concepts:
| Aspect | Jurisdiction | ServiceArea |
|--------|--------------|-------------|
| **Definition** | Geographic area where specific LAWS AND POLICIES apply | Geographic area where a SPECIFIC custodian operates ("werkgebied") |
| **Scope** | Legal framework scope | Operational territory |
| **Sharing** | SHARED by multiple custodians operating under same legal framework | UNIQUE to each custodian |
| **Example** | Dutch national law creates a jurisdiction for all municipal archives in NL | Each municipal archive has its own municipality as service area |
**Key Example**:
A national law (e.g., Archiefwet) creates a JURISDICTION covering the entire Netherlands.
ALL Dutch municipal archives operate within this SAME jurisdiction - they share it!
But each municipal archive has a DIFFERENT ServiceArea (werkgebied) - typically
their own municipality or region.
- Noord-Hollands Archief: Jurisdiction = NL (Dutch national law), ServiceArea = Haarlem + surrounding municipalities
- Gemeentearchief Amsterdam: Jurisdiction = NL (same!), ServiceArea = Amsterdam municipality
- Regionaal Archief Tilburg: Jurisdiction = NL (same!), ServiceArea = Tilburg region
All three share the SAME jurisdiction but have DIFFERENT service areas.
**Purpose of Jurisdiction**:
Jurisdictions define the LEGAL scope of registration authorities and trade registers.
Unlike pure geographic classes (Country, Subregion, Settlement), Jurisdiction captures
the legal framework applicable to organizations - which laws govern their registration,
dissolution, governance, and archival obligations.
**Ontology Alignment:**
- lcc_cr:GeographicRegion - OMG Languages Countries and Codes (used by GLEIF)
- gleif_base:hasLegalJurisdiction - links entities to their jurisdiction of registration
- gleif_base:hasCoverageArea - geographic scope of registration authorities
**Types of Jurisdiction:**
1. **National Jurisdiction**: Entire country (e.g., Netherlands, Japan)
- Maps to Country class
- Most common for trade registers
2. **Subnational Jurisdiction**: State, province, region (e.g., Bavaria, New York)
- Maps to Subregion class
- Common for federal systems (USA, Germany, Canada, Australia)
3. **Municipal Jurisdiction**: City-level (e.g., City of London, Hong Kong)
- Maps to Settlement class
- For city-states and special administrative regions
4. **Supranational Jurisdiction**: Multi-country (e.g., European Union, OHADA)
- Represented via supranational identifier
- Relevant for EU-wide legal forms (SE, SCE, EEIG)
**GLEIF Integration:**
This class aligns with GLEIF ontology concepts:
- gleif_base:hasLegalJurisdiction - jurisdiction where entity is registered
- gleif_base:hasCoverageArea - geographic scope of registration authority
**Examples:**
- Netherlands (national): authority=KvK, covers all NL legal entities
- Bavaria (subnational): Handelsregister München, covers Bavarian businesses
- Hong Kong (special region): Companies Registry, covers HK companies
- European Union (supranational): European Company (SE) registration
See also:
- TradeRegister: Business registers operating within a jurisdiction
- RegistrationAuthority: Organizations maintaining registers
- LegalForm: Legal forms valid within specific jurisdictions
- **ServiceArea**: The operational territory ("werkgebied") of a specific custodian - NOT to be confused with Jurisdiction!
description: "A distinct area subject to a government and set of laws.\n\n**CRITICAL DISTINCTION: Jurisdiction vs ServiceArea**\n\
\nJurisdiction and ServiceArea are fundamentally different concepts:\n\n| Aspect | Jurisdiction | ServiceArea |\n|--------|--------------|-------------|\n\
| **Definition** | Geographic area where specific LAWS AND POLICIES apply | Geographic area where a SPECIFIC custodian\
\ operates (\"werkgebied\") |\n| **Scope** | Legal framework scope | Operational territory |\n| **Sharing** | SHARED\
\ by multiple custodians operating under same legal framework | UNIQUE to each custodian |\n| **Example** | Dutch national\
\ law creates a jurisdiction for all municipal archives in NL | Each municipal archive has its own municipality as service\
\ area |\n\n**Key Example**:\n\nA national law (e.g., Archiefwet) creates a JURISDICTION covering the entire Netherlands.\n\
ALL Dutch municipal archives operate within this SAME jurisdiction - they share it!\nBut each municipal archive has\
\ a DIFFERENT ServiceArea (werkgebied) - typically\ntheir own municipality or region.\n\n- Noord-Hollands Archief: Jurisdiction\
\ = NL (Dutch national law), ServiceArea = Haarlem + surrounding municipalities\n- Gemeentearchief Amsterdam: Jurisdiction\
\ = NL (same!), ServiceArea = Amsterdam municipality\n- Regionaal Archief Tilburg: Jurisdiction = NL (same!), ServiceArea\
\ = Tilburg region\n\nAll three share the SAME jurisdiction but have DIFFERENT service areas.\n\n**Purpose of Jurisdiction**:\n\
\nJurisdictions define the LEGAL scope of registration authorities and trade registers.\nUnlike pure geographic classes\
\ (Country, Subregion, Settlement), Jurisdiction captures\nthe legal framework applicable to organizations - which laws\
\ govern their registration,\ndissolution, governance, and archival obligations.\n\n**Ontology Alignment:**\n\n- lcc_cr:GeographicRegion\
\ - OMG Languages Countries and Codes (used by GLEIF)\n- gleif_base:hasLegalJurisdiction - links entities to their jurisdiction\
\ of registration\n- gleif_base:hasCoverageArea - geographic scope of registration authorities\n\n**Types of Jurisdiction:**\n\
\n1. **National Jurisdiction**: Entire country (e.g., Netherlands, Japan)\n - Maps to Country class\n - Most common\
\ for trade registers\n\n2. **Subnational Jurisdiction**: State, province, region (e.g., Bavaria, New York)\n - Maps\
\ to Subregion class\n - Common for federal systems (USA, Germany, Canada, Australia)\n\n3. **Municipal Jurisdiction**:\
\ City-level (e.g., City of London, Hong Kong)\n - Maps to Settlement class\n - For city-states and special administrative\
\ regions\n\n4. **Supranational Jurisdiction**: Multi-country (e.g., European Union, OHADA)\n - Represented via supranational\
\ identifier\n - Relevant for EU-wide legal forms (SE, SCE, EEIG)\n\n**GLEIF Integration:**\n\nThis class aligns with\
\ GLEIF ontology concepts:\n- gleif_base:hasLegalJurisdiction - jurisdiction where entity is registered\n- gleif_base:hasCoverageArea\
\ - geographic scope of registration authority\n\n**Examples:**\n\n- Netherlands (national): authority=KvK, covers all\
\ NL legal entities\n- Bavaria (subnational): Handelsregister München, covers Bavarian businesses\n- Hong Kong (special\
\ region): Companies Registry, covers HK companies\n- European Union (supranational): European Company (SE) registration\n\
\nSee also:\n- TradeRegister: Business registers operating within a jurisdiction\n- RegistrationAuthority: Organizations\
\ maintaining registers\n- LegalForm: Legal forms valid within specific jurisdictions\n- **ServiceArea**: The operational\
\ territory (\"werkgebied\") of a specific custodian - NOT to be confused with Jurisdiction!\n"
exact_mappings:
- lcc_cr:GeographicRegion
- lcc_cr:GeographicRegion
close_mappings:
- schema:AdministrativeArea
- schema:AdministrativeArea
related_mappings:
- gleif_base:hasLegalJurisdiction
- gleif_base:hasCoverageArea
- gleif_base:hasLegalJurisdiction
- gleif_base:hasCoverageArea
slots:
- country
- description
- gleif_jurisdiction_code
- jurisdiction_id
- jurisdiction_type
- legal_system_type
- settlement
- specificity_annotation
- subregion
- supranational_code
- template_specificity
- country
- description
- gleif_jurisdiction_code
- jurisdiction_id
- jurisdiction_type
- legal_system_type
- settlement
- specificity_annotation
- subregion
- supranational_code
- template_specificity
slot_usage:
jurisdiction_id:
identifier: true
required: true
description: Unique identifier for this jurisdiction record
jurisdiction_type:
required: true
description: Type of jurisdiction (national, subnational, municipal, supranational)
country:
required: false
description: |
Country for national/subnational/municipal jurisdictions.
Not applicable for supranational jurisdictions (e.g., EU).
subregion:
required: false
description: |
Subdivision for subnational jurisdictions.
Required when jurisdiction_type is SUBNATIONAL.
settlement:
required: false
description: |
Settlement for municipal jurisdictions.
Required when jurisdiction_type is MUNICIPAL.
supranational_code:
required: false
description: |
Code for supranational entities (EU, OHADA, etc.).
Required when jurisdiction_type is SUPRANATIONAL.
specificity_annotation:
range: SpecificityAnnotation
inlined: true
@ -162,11 +101,11 @@ classes:
range: TemplateSpecificityScores
inlined: true
comments:
- Jurisdiction is the geographic area where specific LAWS AND POLICIES apply
- SHARED by multiple custodians operating under the same legal framework
- 'Example: All Dutch municipal archives share the same NL jurisdiction (Archiefwet applies to all)'
- NOT to be confused with ServiceArea, which is the operational territory ('werkgebied') UNIQUE to each custodian
- 'Jurisdiction answers: ''Under which legal framework does this entity operate?'''
- 'ServiceArea answers: ''Which geographic area does this specific custodian serve?'''
- Jurisdiction is the geographic area where specific LAWS AND POLICIES apply
- SHARED by multiple custodians operating under the same legal framework
- 'Example: All Dutch municipal archives share the same NL jurisdiction (Archiefwet applies to all)'
- NOT to be confused with ServiceArea, which is the operational territory ('werkgebied') UNIQUE to each custodian
- 'Jurisdiction answers: ''Under which legal framework does this entity operate?'''
- 'ServiceArea answers: ''Which geographic area does this specific custodian serve?'''
see_also:
- https://www.gleif.org/en/about-lei/code-lists/registration-authorities-list
- https://www.gleif.org/en/about-lei/code-lists/registration-authorities-list

View file

@ -10,317 +10,180 @@ prefixes:
dct: http://purl.org/dc/terms/
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
- ../metadata
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../enums/LLMProviderEnum
- ../enums/FinishReasonEnum
- ../enums/ThinkingModeEnum
- ../slots/content
- ../slots/reasoning_content
- ../slots/model
- ../slots/provider
- ../slots/prompt_token
- ../slots/completion_token
- ../slots/total_token
- ../slots/cached_token
- ../slots/finish_reason
- ../slots/latency_ms
- ../slots/thinking_mode
- ../slots/clear_thinking
- ../slots/created
- ../slots/cost_usd
- ../slots/request_id
- ../slots/specificity_annotation
- ../slots/template_specificity
- linkml:types
- ../metadata
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../enums/LLMProviderEnum
- ../enums/FinishReasonEnum
- ../enums/ThinkingModeEnum
- ../slots/content
- ../slots/reasoning_content
- ../slots/model
- ../slots/provider
- ../slots/prompt_token
- ../slots/completion_token
- ../slots/total_token
- ../slots/cached_token
- ../slots/finish_reason
- ../slots/latency_ms
- ../slots/thinking_mode
- ../slots/clear_thinking
- ../slots/created
- ../slots/cost_usd
- ../slots/request_id
- ../slots/specificity_annotation
- ../slots/template_specificity
default_range: string
classes:
LLMResponse:
class_uri: prov:Activity
description: |
Provenance metadata for LLM API responses, including GLM 4.7 Thinking Modes.
Captures complete response metadata from LLM providers (ZhipuAI GLM, Anthropic,
OpenAI, etc.) for traceability and analysis. The key innovation is capturing
`reasoning_content` - the chain-of-thought reasoning that GLM 4.7 exposes
through its three thinking modes.
**GLM 4.7 Thinking Modes** (https://docs.z.ai/guides/capabilities/thinking-mode):
1. **Interleaved Thinking** (default, since GLM-4.5):
- Model thinks between tool calls and after receiving tool results
- Enables complex, step-by-step reasoning with tool chaining
- Returns `reasoning_content` alongside `content` in every response
2. **Preserved Thinking** (new in GLM-4.7):
- Retains reasoning_content from previous assistant turns in context
- Preserves reasoning continuity across multi-turn conversations
- Improves model performance and increases cache hit rates
- **Enabled by default on Coding Plan endpoint**
- Requires returning EXACT, UNMODIFIED reasoning_content back to API
- Set via: `"clear_thinking": false` (do NOT clear previous reasoning)
3. **Turn-level Thinking** (new in GLM-4.7):
- Control reasoning computation on a per-turn basis
- Enable/disable thinking independently for each request in a session
- Useful for balancing speed (simple queries) vs accuracy (complex tasks)
- Set via: `"thinking": {"type": "enabled"}` or `"thinking": {"type": "disabled"}`
**Critical Implementation Note for Preserved Thinking**:
When using Preserved Thinking with tool calls, thinking blocks MUST be:
1. Explicitly preserved in the messages array
2. Returned together with tool results
3. Kept in EXACT original sequence (no reordering/editing)
**PROV-O Alignment**:
- LLMResponse IS a prov:Activity (the inference process)
- content IS prov:Entity (the generated output)
- model/provider IS prov:Agent (the AI system)
- reasoning_content documents the prov:Plan (how the agent reasoned)
- prompt (input) IS prov:used (input to the activity)
**Use Cases**:
- DSPy RAG responses with reasoning traces
- Heritage institution extraction provenance
- LinkML schema conformity validation
- Ontology mapping decision logs
- Multi-turn agent conversations with preserved context
description: "Provenance metadata for LLM API responses, including GLM 4.7 Thinking Modes.\n\nCaptures complete response\
\ metadata from LLM providers (ZhipuAI GLM, Anthropic,\nOpenAI, etc.) for traceability and analysis. The key innovation\
\ is capturing\n`reasoning_content` - the chain-of-thought reasoning that GLM 4.7 exposes\nthrough its three thinking\
\ modes.\n\n**GLM 4.7 Thinking Modes** (https://docs.z.ai/guides/capabilities/thinking-mode):\n\n1. **Interleaved Thinking**\
\ (default, since GLM-4.5):\n - Model thinks between tool calls and after receiving tool results\n - Enables complex,\
\ step-by-step reasoning with tool chaining\n - Returns `reasoning_content` alongside `content` in every response\n\
\n2. **Preserved Thinking** (new in GLM-4.7):\n - Retains reasoning_content from previous assistant turns in context\n\
\ - Preserves reasoning continuity across multi-turn conversations\n - Improves model performance and increases\
\ cache hit rates\n - **Enabled by default on Coding Plan endpoint**\n - Requires returning EXACT, UNMODIFIED reasoning_content\
\ back to API\n - Set via: `\"clear_thinking\": false` (do NOT clear previous reasoning)\n\n3. **Turn-level Thinking**\
\ (new in GLM-4.7):\n - Control reasoning computation on a per-turn basis\n - Enable/disable thinking independently\
\ for each request in a session\n - Useful for balancing speed (simple queries) vs accuracy (complex tasks)\n -\
\ Set via: `\"thinking\": {\"type\": \"enabled\"}` or `\"thinking\": {\"type\": \"disabled\"}`\n\n**Critical Implementation\
\ Note for Preserved Thinking**:\nWhen using Preserved Thinking with tool calls, thinking blocks MUST be:\n1. Explicitly\
\ preserved in the messages array\n2. Returned together with tool results\n3. Kept in EXACT original sequence (no reordering/editing)\n\
\n**PROV-O Alignment**:\n- LLMResponse IS a prov:Activity (the inference process)\n- content IS prov:Entity (the generated\
\ output)\n- model/provider IS prov:Agent (the AI system)\n- reasoning_content documents the prov:Plan (how the agent\
\ reasoned)\n- prompt (input) IS prov:used (input to the activity)\n\n**Use Cases**:\n- DSPy RAG responses with reasoning\
\ traces\n- Heritage institution extraction provenance\n- LinkML schema conformity validation\n- Ontology mapping decision\
\ logs\n- Multi-turn agent conversations with preserved context\n"
exact_mappings:
- prov:Activity
- prov:Activity
close_mappings:
- schema:Action
- schema:CreativeWork
- schema:Action
- schema:CreativeWork
slots:
- cached_token
- clear_thinking
- completion_token
- content
- cost_usd
- created
- finish_reason
- latency_ms
- model
- prompt_token
- provider
- reasoning_content
- request_id
- specificity_annotation
- template_specificity
- thinking_mode
- total_token
- cached_token
- clear_thinking
- completion_token
- content
- cost_usd
- created
- finish_reason
- latency_ms
- model
- prompt_token
- provider
- reasoning_content
- request_id
- specificity_annotation
- template_specificity
- thinking_mode
- total_token
slot_usage:
content:
description: |
The final LLM response text (message.content from API response).
PROV-O: prov:generated - the entity produced by this activity.
This is the primary output shown to users and used for downstream processing.
slot_uri: prov:generated
range: string
required: true
examples:
- value: The Rijksmuseum is a national museum in Amsterdam dedicated to Dutch
arts and history.
description: Extracted heritage institution description
- value: The Rijksmuseum is a national museum in Amsterdam dedicated to Dutch arts and history.
description: Extracted heritage institution description
reasoning_content:
description: |
Interleaved Thinking - the model's chain-of-thought reasoning.
PROV-O: prov:hadPlan - documents HOW the agent reasoned.
**GLM 4.7 Interleaved Thinking**:
GLM 4.7 returns `reasoning_content` in every response, exposing the
model's step-by-step reasoning process. This enables:
1. **Schema Validation**: Model reasons about LinkML constraints before generating output
2. **Ontology Mapping**: Explicit reasoning about CIDOC-CRM, CPOV, TOOI class mappings
3. **RDF Quality**: Chain-of-thought validates triple construction
4. **Transparency**: Full audit trail of extraction decisions
May be null for providers that don't expose reasoning (Claude, GPT-4).
slot_uri: prov:hadPlan
range: string
required: false
examples:
- value: 'The user is asking about Dutch heritage institutions. I need to
identify: 1) Institution name: Rijksmuseum, 2) Type: Museum (maps to InstitutionTypeEnum.MUSEUM),
3) Location: Amsterdam (city in Noord-Holland province)...'
description: GLM 4.7 interleaved thinking showing explicit schema reasoning
- value: 'The user is asking about Dutch heritage institutions. I need to identify: 1) Institution name: Rijksmuseum,
2) Type: Museum (maps to InstitutionTypeEnum.MUSEUM), 3) Location: Amsterdam (city in Noord-Holland province)...'
description: GLM 4.7 interleaved thinking showing explicit schema reasoning
model:
description: |
The LLM model identifier from the API response.
PROV-O: Part of prov:wasAssociatedWith - identifies the specific model version.
Common values:
- glm-4.7: ZhipuAI GLM 4.7 (with Interleaved Thinking)
- glm-4.6: ZhipuAI GLM 4.6
- claude-3-opus-20240229: Anthropic Claude Opus
- gpt-4-turbo: OpenAI GPT-4 Turbo
slot_uri: schema:softwareVersion
range: string
required: true
examples:
- value: glm-4.7
description: ZhipuAI GLM 4.7 with Interleaved Thinking
- value: glm-4.7
description: ZhipuAI GLM 4.7 with Interleaved Thinking
provider:
description: |
The LLM provider/platform.
PROV-O: prov:wasAssociatedWith - the agent (organization) providing the model.
Used by DSPy to route requests and track provider-specific behavior.
slot_uri: prov:wasAssociatedWith
range: LLMProviderEnum
required: true
examples:
- value: zai
description: ZhipuAI (Z.AI) - GLM models
- value: zai
description: ZhipuAI (Z.AI) - GLM models
request_id:
description: |
Unique request ID from the LLM provider API (for tracing/debugging).
Enables correlation with provider logs for troubleshooting.
slot_uri: dct:identifier
range: string
required: false
examples:
- value: req_8f3a2b1c4d5e6f7g
description: Provider-assigned request identifier
- value: req_8f3a2b1c4d5e6f7g
description: Provider-assigned request identifier
created:
description: |
Timestamp when the LLM response was generated (from API response).
PROV-O: prov:endedAtTime - when the inference activity completed.
slot_uri: prov:endedAtTime
range: datetime
required: true
examples:
- value: '2025-12-23T10:30:00Z'
description: UTC timestamp of response generation
- value: '2025-12-23T10:30:00Z'
description: UTC timestamp of response generation
prompt_token:
description: |
Number of tokens in the input prompt.
From API response: usage.prompt_tokens
slot_uri: schema:value
range: integer
minimum_value: 0
examples:
- value: 150
description: 150 tokens in the input prompt
- value: 150
description: 150 tokens in the input prompt
completion_token:
description: |
Number of tokens in the model's response (content + reasoning_content).
From API response: usage.completion_tokens
Note: For GLM 4.7, this includes tokens from both content and reasoning_content.
slot_uri: schema:value
range: integer
minimum_value: 0
examples:
- value: 450
description: 450 tokens in the completion (content + reasoning)
- value: 450
description: 450 tokens in the completion (content + reasoning)
total_token:
description: |
Total tokens used (prompt + completion).
From API response: usage.total_tokens
slot_uri: schema:value
range: integer
minimum_value: 0
examples:
- value: 600
description: 600 total tokens (150 prompt + 450 completion)
- value: 600
description: 600 total tokens (150 prompt + 450 completion)
cached_token:
description: |
Number of prompt tokens served from cache (if provider supports caching).
From API response: usage.prompt_tokens_details.cached_tokens
Cached tokens typically have reduced cost and latency.
slot_uri: schema:value
range: integer
minimum_value: 0
required: false
examples:
- value: 50
description: 50 tokens served from provider's prompt cache
- value: 50
description: 50 tokens served from provider's prompt cache
finish_reason:
description: |
Why the model stopped generating (from API response).
Common values:
- stop: Natural completion (hit stop token)
- length: Hit max_tokens limit
- tool_calls: Model invoked a tool (function calling)
- content_filter: Response filtered for safety
slot_uri: schema:status
range: FinishReasonEnum
required: false
examples:
- value: stop
description: Model completed naturally
- value: stop
description: Model completed naturally
latency_ms:
description: |
Response latency in milliseconds (time from request to response).
Measured client-side (includes network time).
slot_uri: schema:duration
range: integer
minimum_value: 0
required: false
examples:
- value: 1250
description: 1.25 seconds total response time
- value: 1250
description: 1.25 seconds total response time
cost_usd:
description: |
Estimated cost in USD for this LLM call.
For Z.AI Coding Plan: $0.00 (free tier for GLM models)
For other providers: calculated from token counts and pricing
slot_uri: schema:price
range: float
minimum_value: 0.0
required: false
examples:
- value: 0.0
description: Free (Z.AI Coding Plan)
- value: 0.015
description: OpenAI GPT-4 Turbo cost estimate
- value: 0.0
description: Free (Z.AI Coding Plan)
- value: 0.015
description: OpenAI GPT-4 Turbo cost estimate
thinking_mode:
description: |
The GLM 4.7 thinking mode used for this request.
**Available Modes**:
- **enabled**: Thinking enabled (default) - model reasons before responding
- **disabled**: Thinking disabled - faster responses, no reasoning_content
- **interleaved**: Interleaved thinking - think between tool calls (default behavior)
- **preserved**: Preserved thinking - retain reasoning across turns (Coding Plan default)
slot_uri: schema:actionOption
range: ThinkingModeEnum
required: false
examples:
- value: preserved
description: Preserved thinking for multi-turn agent conversations
- value: interleaved
description: Default interleaved thinking between tool calls
- value: disabled
description: Disabled for fast, simple queries
- value: preserved
description: Preserved thinking for multi-turn agent conversations
- value: interleaved
description: Default interleaved thinking between tool calls
- value: disabled
description: Disabled for fast, simple queries
clear_thinking:
description: |
Whether to clear previous reasoning_content from context.
**Preserved Thinking Control**:
- **false**: Preserved Thinking enabled (keep reasoning, better cache hits)
- **true**: Clear previous reasoning (default for standard API)
**Z.AI Coding Plan**: Default is `false` (Preserved Thinking enabled)
**Critical Implementation Note**:
When clear_thinking is false, you MUST return the EXACT, UNMODIFIED
reasoning_content back to the API in subsequent turns.
slot_uri: schema:Boolean
range: boolean
required: false
examples:
- value: false
description: Keep reasoning for Preserved Thinking (recommended)
- value: true
description: Clear previous reasoning (fresh context each turn)
- value: false
description: Keep reasoning for Preserved Thinking (recommended)
- value: true
description: Clear previous reasoning (fresh context each turn)
specificity_annotation:
range: SpecificityAnnotation
inlined: true
@ -328,12 +191,12 @@ classes:
range: TemplateSpecificityScores
inlined: true
comments:
- reasoning_content is the key field for Interleaved Thinking (GLM 4.7)
- Store reasoning_content for debugging, auditing, and DSPy optimization
- 'Z.AI Coding Plan endpoint: https://api.z.ai/api/coding/paas/v4/chat/completions'
- 'For DSPy: use LLMResponse to track all LLM calls in the pipeline'
- See AGENTS.md Rule 11 for Z.AI API configuration
- reasoning_content is the key field for Interleaved Thinking (GLM 4.7)
- Store reasoning_content for debugging, auditing, and DSPy optimization
- 'Z.AI Coding Plan endpoint: https://api.z.ai/api/coding/paas/v4/chat/completions'
- 'For DSPy: use LLMResponse to track all LLM calls in the pipeline'
- See AGENTS.md Rule 11 for Z.AI API configuration
see_also:
- https://www.w3.org/TR/prov-o/
- https://api.z.ai/docs
- https://dspy-docs.vercel.app/
- https://www.w3.org/TR/prov-o/
- https://api.z.ai/docs
- https://dspy-docs.vercel.app/

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