feat: Introduce new slots and classes for enhanced heritage data modeling

- Added `has_or_had_place_of_birth` slot to capture structured birth place information with historical context.
- Introduced `has_or_had_quantity` slot for capturing quantified values with units and provenance.
- Created `has_or_had_service_area` slot to define geographic service areas for heritage custodians.
- Implemented `is_or_was_approximate` slot to indicate uncertainty in values (dates, quantities).
- Added `is_or_was_asserted_by` slot to track the agent responsible for assertions.
- Introduced `Asserter` class to model agents making assertions, including types like human, automated, and AI.
- Created `Quantity` class to represent quantified values with optional units and types.
- Added enums for `AsserterTypeEnum` and `QuantityTypeEnum` to standardize types of asserters and quantities.
- Archived outdated slots and replaced them with new structured alternatives following RiC-O conventions.
This commit is contained in:
kempersc 2026-01-14 16:54:10 +01:00
parent 4acdab5b4e
commit 6da794ee38
70 changed files with 4086 additions and 445 deletions

View file

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

View file

@ -0,0 +1,180 @@
id: https://nde.nl/ontology/hc/class/Asserter
name: Asserter
title: Asserter Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov#
foaf: http://xmlns.com/foaf/0.1/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
imports:
- linkml:types
- ../enums/AsserterTypeEnum
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
default_prefix: hc
classes:
Asserter:
class_uri: prov:Agent
description: >-
An agent (person, organization, or system) responsible for making
an assertion about a heritage entity.
**PROV-O ALIGNMENT**:
Maps to `prov:Agent` - "An agent is something that bears some form
of responsibility for an activity taking place, for the existence
of an entity, or for another agent's activity."
**TYPES OF ASSERTERS**:
| Type | Description | Example |
|------|-------------|---------|
| HUMAN_ANALYST | Expert making judgment | "jane.doe@nde.nl" |
| AUTOMATED_SYSTEM | Software system | "primary-presence-classifier/1.0" |
| AI_AGENT | AI/ML model | "claude-opus-4", "opencode-claude-sonnet-4" |
| ORGANIZATION | Institution | "Noord-Hollands Archief" |
**USE CASES**:
1. **Attribution Tracking**: Who made this assertion about primary presence?
2. **Provenance Chain**: Trace assertions back to their source agent.
3. **Quality Assessment**: Different asserters may have different reliability.
4. **Accountability**: Identify responsible party for each assertion.
**EXAMPLE**:
```yaml
Asserter:
asserter_id: https://nde.nl/ontology/hc/asserter/claude-opus-4
asserter_name: Claude Opus 4
asserter_type: AI_AGENT
asserter_description: Anthropic Claude AI model used for assertion generation
asserter_version: "claude-opus-4-20250514"
```
exact_mappings:
- prov:Agent
close_mappings:
- foaf:Agent
- dcterms:Agent
related_mappings:
- schema:Person
- schema:Organization
slots:
- has_or_had_identifier
- has_or_had_label
- has_or_had_description
- asserter_type
- asserter_version
- asserter_contact
- specificity_annotation
- template_specificity
slot_usage:
has_or_had_identifier:
range: uriorcurie
required: true
identifier: true
description: >-
Unique identifier for this asserter.
examples:
- value: https://nde.nl/ontology/hc/asserter/claude-opus-4
description: AI agent asserter
- value: https://nde.nl/ontology/hc/asserter/jane-doe-nde
description: Human analyst asserter
has_or_had_label:
range: string
required: true
description: >-
Name of the asserter.
examples:
- value: Claude Opus 4
description: AI model name
- value: Dr. Jane Doe
description: Human analyst name
- value: primary-presence-classifier
description: Automated system name
has_or_had_description:
range: string
required: false
description: >-
Description of the asserter and their role in the assertion process.
examples:
- value: Anthropic Claude AI model used for heritage data assertions
- value: Senior digital heritage analyst at NDE
asserter_type:
range: AsserterTypeEnum
required: true
description: >-
The type of agent making the assertion.
examples:
- value: AI_AGENT
- value: HUMAN_ANALYST
- value: AUTOMATED_SYSTEM
asserter_version:
range: string
required: false
description: >-
Version identifier for software agents.
examples:
- value: "claude-opus-4-20250514"
- value: "1.2.3"
asserter_contact:
range: string
required: false
description: >-
Contact information for human or organizational asserters.
examples:
- value: jane.doe@nde.nl
- value: heritage-team@museum.nl
comments:
- Asserter models the agent responsible for making assertions
- Supports tracking of human, automated, and AI-based assertions
- Uses PROV-O Agent as primary ontology mapping
- Version tracking particularly important for AI/ML agents
see_also:
- https://www.w3.org/TR/prov-o/#Agent
- https://xmlns.com/foaf/spec/#term_Agent
examples:
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/asserter/claude-opus-4
has_or_had_label: Claude Opus 4
asserter_type: AI_AGENT
has_or_had_description: Anthropic Claude AI model used for heritage data assertions
asserter_version: "claude-opus-4-20250514"
description: AI agent asserter
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/asserter/jane-doe-nde
has_or_had_label: Dr. Jane Doe
asserter_type: HUMAN_ANALYST
has_or_had_description: Senior digital heritage analyst at NDE
asserter_contact: jane.doe@nde.nl
description: Human analyst asserter
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/asserter/primary-presence-classifier
has_or_had_label: primary-presence-classifier
asserter_type: AUTOMATED_SYSTEM
has_or_had_description: Automated system for classifying primary digital presence
asserter_version: "1.0.0"
description: Automated system asserter
slots:
asserter_type:
description: >-
The type of agent making the assertion (human, automated, AI, organization).
range: AsserterTypeEnum
slot_uri: hc:asserterType
asserter_version:
description: >-
Version identifier for software agents (automated systems or AI).
range: string
slot_uri: hc:asserterVersion
asserter_contact:
description: >-
Contact information for human or organizational asserters.
range: string
slot_uri: hc:asserterContact

View file

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

View file

@ -0,0 +1,217 @@
id: https://nde.nl/ontology/hc/class/BirthDate
name: birth_date_class
title: Birth Date Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
crm: http://www.cidoc-crm.org/cidoc-crm/
time: http://www.w3.org/2006/time#
pico: https://personsincontext.org/model#
dcterms: http://purl.org/dc/terms/
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
- ../metadata
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
default_prefix: hc
classes:
BirthDate:
class_uri: schema:Date
description: >-
Structured representation of a person's birth date with support for
uncertainty, incomplete dates, and provenance tracking.
**PURPOSE**:
BirthDate replaces simple string birth_date slots to provide:
- EDTF (Extended Date/Time Format) support for uncertain/incomplete dates
- Provenance tracking for inferred dates (Rule 45)
- Confidence scoring
- Source preservation (original format from documents)
**EDTF NOTATION** (Rule 44):
| Pattern | Meaning | Example |
|---------|---------|---------|
| `YYYY` | Year only | `1970` |
| `YYYY-MM` | Year and month | `1970-08` |
| `YYYY-MM-DD` | Full date | `1970-08-15` |
| `YYYX` | Decade | `197X` (1970s) |
| `YYXX` | Century | `19XX` (1900s) |
| `YYYY~` | Approximate | `1985~` (circa 1985) |
| `YYYY?` | Uncertain | `1985?` (possibly 1985) |
| `XXXX` | Unknown | Must have search provenance |
**INFERRED DATA** (Rule 45):
When birth date is inferred (e.g., from earliest education date):
- Store in `inferred_birth_date` with full inference chain
- Set `is_inferred: true`
- Document inference method and sources
**ONTOLOGY ALIGNMENT**:
| Ontology | Mapping | Usage |
|----------|---------|-------|
| **Schema.org** | `schema:Date` | Primary class |
| **CIDOC-CRM** | `crm:E52_Time-Span` | Temporal extent |
| **PiCo** | Birth date observation | Source fidelity |
| **TIME** | `time:Instant` | Point in time |
**EXAMPLE**:
```yaml
has_or_had_date_of_birth:
birth_edtf: "1970-08-15"
birth_iso_date: "1970-08-15"
is_inferred: false
confidence: high
```
exact_mappings:
- schema:Date
close_mappings:
- crm:E52_Time-Span
- time:Instant
related_mappings:
- pico:PersonObservation
slots:
- birth_edtf
- birth_iso_date
- birth_source_text
- is_inferred
- inference_provenance
- confidence
- specificity_annotation
- template_specificity
slot_usage:
birth_edtf:
range: string
required: true
description: >-
Birth date in EDTF notation (Extended Date/Time Format).
Supports incomplete dates, uncertainty, and approximation.
examples:
- value: "1970-08-15"
description: Full date known
- value: "1970-08"
description: Year and month known
- value: "1970"
description: Only year known
- value: "197X"
description: Decade known (1970s)
- value: "1970~"
description: Approximate (circa 1970)
- value: "XXXX"
description: Unknown (requires search provenance)
birth_iso_date:
range: date
required: false
description: >-
Birth date as ISO 8601 date (YYYY-MM-DD) when full date is known.
Optional - use birth_edtf for partial/uncertain dates.
examples:
- value: "1970-08-15"
birth_source_text:
range: string
required: false
description: >-
Original date text from source document, preserved verbatim.
Useful for archival/historical sources with non-standard notation.
examples:
- value: "born in the year of our Lord 1823"
- value: "ca. 1750"
- value: "late 18th century"
is_inferred:
range: boolean
required: false
ifabsent: "false"
description: >-
Whether this birth date was inferred (vs. directly extracted).
If true, inference_provenance MUST be provided per Rule 45.
inference_provenance:
range: string
required: false
description: >-
JSON string documenting inference chain per Rule 45.
Required when is_inferred is true.
examples:
- value: '{"method": "earliest_education_heuristic", "inference_chain": [...]}'
confidence:
range: BirthDateConfidenceEnum
required: false
description: >-
Confidence level in the birth date value.
comments:
- "Replaces simple birth_date string slot (Rule 53)"
- "EDTF notation enables uncertain/incomplete date representation"
- "Inference provenance required when is_inferred=true (Rule 45)"
- "Source text preservation supports archival/historical research"
see_also:
- https://www.loc.gov/standards/datetime/
- https://schema.org/birthDate
examples:
- value:
birth_edtf: "1970-08-15"
birth_iso_date: "1970-08-15"
is_inferred: false
confidence: HIGH
description: Full date known with high confidence
- value:
birth_edtf: "197X"
is_inferred: true
inference_provenance: '{"method": "earliest_education_heuristic", "source_field": "education[0].start_year"}'
confidence: LOW
description: Decade inferred from education start year
- value:
birth_edtf: "1823"
birth_source_text: "born in the year of our Lord 1823"
is_inferred: false
confidence: MEDIUM
description: Year extracted from historical document
annotations:
specificity_score: 0.45
specificity_rationale: >-
Birth dates are relevant for person research across all heritage sectors.
slots:
birth_edtf:
description: Birth date in EDTF notation.
range: string
slot_uri: dcterms:date
birth_iso_date:
description: Birth date as ISO 8601 date when full date is known.
range: date
slot_uri: schema:birthDate
birth_source_text:
description: Original date text from source document.
range: string
slot_uri: hc:sourceText
is_inferred:
description: Whether this date was inferred.
range: boolean
slot_uri: hc:isInferred
inference_provenance:
description: JSON documenting inference chain.
range: string
slot_uri: hc:inferenceProvenance
confidence:
description: Confidence level in the date value.
range: string
slot_uri: hc:confidence
enums:
BirthDateConfidenceEnum:
description: Confidence levels for birth date values.
permissible_values:
HIGH:
description: Full date from authoritative source (e.g., birth certificate)
MEDIUM:
description: Date from reliable source (e.g., official biography)
LOW:
description: Date inferred or from uncertain source
VERY_LOW:
description: Decade/century estimated from indirect evidence

View file

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

View file

@ -9,8 +9,15 @@ imports:
- ../slots/has_or_had_description
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/branch_service_area
- ../slots/branch_staff_count
# REMOVED - migrated to has_or_had_service_area (Rule 53)
# - ../slots/branch_service_area
- ../slots/has_or_had_service_area
- ./ServiceArea
# REMOVED - migrated to has_or_had_quantity (Rule 53)
# - ../slots/branch_staff_count
- ../slots/has_or_had_quantity
- ./Quantity
- ../enums/QuantityTypeEnum
- ../slots/has_local_collection
- ../slots/is_public_facing
- ../slots/operating_hour
@ -69,8 +76,12 @@ classes:
- has_or_had_description
- has_or_had_identifier
- has_or_had_label
- branch_service_area
- branch_staff_count
# REMOVED - migrated to has_or_had_service_area (Rule 53)
# - branch_service_area
- has_or_had_service_area
# REMOVED - migrated to has_or_had_quantity (Rule 53)
# - branch_staff_count
- has_or_had_quantity
- has_local_collection
- is_public_facing
- operating_hour
@ -115,13 +126,27 @@ classes:
- 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:
range: string
# REMOVED - migrated to has_or_had_service_area (Rule 53)
# branch_service_area:
# range: string
# examples:
# - value: Zaanstreek-Waterland region
# description: Regional coverage
# - value: Amsterdam Schiphol Airport travelers
# description: Specific community served
has_or_had_service_area:
range: ServiceArea
inlined: true
description: >-
Geographic area or community served by this branch.
MIGRATED from branch_service_area (Rule 53) - changed from string to
ServiceArea class for richer geographic modeling.
examples:
- value: Zaanstreek-Waterland region
description: Regional coverage
- value: Amsterdam Schiphol Airport travelers
description: Specific community served
- value:
service_area_id: https://nde.nl/ontology/hc/servicearea/zaanstreek-waterland
service_area_name: Zaanstreek-Waterland region
service_area_type: REGIONAL
description: Regional coverage as structured ServiceArea
is_public_facing:
range: boolean
required: true
@ -144,11 +169,28 @@ classes:
examples:
- value: Tu-Th 09:00-17:00
description: Limited weekday hours
branch_staff_count:
range: integer
# REMOVED - migrated to has_or_had_quantity (Rule 53)
# branch_staff_count:
# range: integer
# examples:
# - value: 3
# description: Small branch staff
has_or_had_quantity:
range: Quantity
inlined: true
description: >-
Quantified values associated with this branch office (e.g., staff count).
MIGRATED from branch_staff_count (Rule 53) - changed from integer to
Quantity class for richer measurement context (units, dates, estimates).
examples:
- value: 3
description: Small branch staff
- value:
quantity_value: 3
quantity_type: STAFF_COUNT
quantity_unit: FTE
has_or_had_description: Staff assigned to this branch
quantity_date: '2025-01-01'
is_estimate: false
description: Branch staff count as structured Quantity
has_local_collection:
range: boolean
examples:
@ -177,14 +219,21 @@ classes:
has_or_had_label: Noord-Hollands Archief - Zaanstreek-Waterland
has_or_had_description: Regional branch serving Zaanstreek-Waterland area. Holds municipal records from Zaandam,
Wormerland, Purmerend.
branch_service_area: Zaanstreek-Waterland region
has_or_had_service_area:
service_area_id: https://nde.nl/ontology/hc/servicearea/zaanstreek-waterland
service_area_name: Zaanstreek-Waterland region
service_area_type: REGIONAL
is_public_facing: true
services_offered:
- Archival research access
- Genealogical consultations
- Local history reference
operating_hours: Tu-Th 09:00-17:00
branch_staff_count: 3
has_or_had_quantity:
quantity_value: 3
quantity_type: STAFF_COUNT
quantity_unit: FTE
has_or_had_description: Staff assigned to Zaanstreek-Waterland branch
has_local_collection: true
description: Regional archive branch
- value:
@ -192,12 +241,19 @@ classes:
has_or_had_label: Rijksmuseum Schiphol
has_or_had_description: Exhibition space at Schiphol Airport featuring rotating highlights from the Rijksmuseum
collection. Free admission.
branch_service_area: Amsterdam Schiphol Airport travelers
has_or_had_service_area:
service_area_id: https://nde.nl/ontology/hc/servicearea/schiphol-travelers
service_area_name: Amsterdam Schiphol Airport travelers
service_area_type: COMMUNITY
is_public_facing: true
services_offered:
- Exhibition viewing
- Museum shop
operating_hours: Daily 07:00-20:00
branch_staff_count: 5
has_or_had_quantity:
quantity_value: 5
quantity_type: STAFF_COUNT
quantity_unit: FTE
has_or_had_description: Staff assigned to Schiphol branch
has_local_collection: false
description: Museum airport branch

View file

@ -250,9 +250,12 @@ classes:
has_approval_date:
range: date
required: false
is_or_was_is_or_was_approved_by: # MIGRATED: was was_approved_by (2026-01-15)
description: Agent (person/organization) that approved this budget
range: string
is_or_was_approved_by:
description: >-
Agent (person/organization) that approved this budget.
MIGRATED from approved_by (2026-01-15) per Rule 39.
Range changed from string to Approver class for structured approval tracking.
range: Approver
required: false
# MIGRATED from budget_status to has_or_had_status (Rule 53)
# budget_status:
@ -336,7 +339,8 @@ classes:
internal_funding: 25000000.0
endowment_draw: 5000000.0
approval_date: '2023-11-15'
is_or_was_approved_by: Board of Directors
is_or_was_approved_by:
approver_name: Board of Directors
has_or_had_status:
value: ACTIVE
effective_date: '2024-01-01'
@ -360,7 +364,8 @@ classes:
external_funding: 6000000.0
internal_funding: 2500000.0
approval_date: '2024-03-01'
is_or_was_approved_by: Province of Noord-Holland
is_or_was_approved_by:
approver_name: Province of Noord-Holland
has_or_had_status:
value: ACTIVE
effective_date: '2024-04-01'

View file

@ -14,7 +14,9 @@ imports:
- ./GeoSpatialPlace
- ../enums/PlaceSpecificityEnum
- ./ReconstructedEntity
- ../slots/auxiliary_places
# REMOVED - migrated to has_or_had_auxiliary_entities with range AuxiliaryPlace (Rule 53)
# - ../slots/auxiliary_places
- ../slots/has_or_had_auxiliary_entities
- ../slots/place_name
- ../slots/place_language
- ../slots/place_specificity
@ -65,7 +67,9 @@ classes:
- prov:Entity
- crm:E27_Site
slots:
- auxiliary_places
# MIGRATED from auxiliary_places to has_or_had_auxiliary_entities (Rule 53)
# - auxiliary_places
- has_or_had_auxiliary_entities
- country
- has_feature_type
- has_geospatial_location
@ -171,7 +175,11 @@ classes:
has_accuracy_in_meters: 50.0
spatial_resolution: NEIGHBORHOOD
description: Approximate location from neighborhood reference
has_auxiliary_place:
# MIGRATED from auxiliary_places / has_auxiliary_place (Rule 53)
has_or_had_auxiliary_entities:
description: |
MIGRATED from auxiliary_places (Rule 53).
Subordinate or auxiliary locations associated with this custodian place.
range: AuxiliaryPlace
multivalued: true
inlined_as_list: true
@ -211,7 +219,7 @@ classes:
- 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)'
- 'MIGRATED: auxiliary_places → has_or_had_auxiliary_entities for 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

View file

@ -18,7 +18,10 @@ imports:
- ../enums/DataTierEnum
- ../enums/DatePrecisionEnum
- ../enums/TimelineExtractionMethodEnum
- ../slots/approximate
# REMOVED - migrated to is_or_was_approximate (Rule 53)
# - ../slots/approximate
- ../slots/is_or_was_approximate
- ./ApproximationStatus
- ../slots/has_archive_path
- ../slots/data_tier
- ../slots/date_precision
@ -53,8 +56,8 @@ classes:
\ 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\
timeline_events:\n - event_type: FOUNDING\n event_date: \"2005-04-30\"\n date_precision: day\n is_or_was_approximate:\n\
\ approximation_level: EXACT\n description: >-\n Het RHC Drents Archief werd opgericht op 30 april 2005.\n Het is de voortzetting\
\ van het Rijksarchief in Drenthe (sinds 2000).\n source_url:\n - \"https://nl.wikipedia.org/wiki/Drents_Archief\"\
\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: \"\
@ -67,7 +70,9 @@ classes:
- tooi:Wijzigingsgebeurtenis
- schema:Event
slots:
- approximate
# REMOVED - migrated to is_or_was_approximate (Rule 53)
# - approximate
- is_or_was_approximate
- archive_path
- data_tier
- date_precision
@ -88,8 +93,26 @@ classes:
required: false
date_precision:
required: true
is_approximate:
# REMOVED - migrated to is_or_was_approximate (Rule 53)
# is_approximate:
# required: true
is_or_was_approximate:
range: ApproximationStatus
inlined: true
required: true
description: >-
Whether the event date is approximate or uncertain.
MIGRATED from approximate (Rule 53) - changed from boolean to
ApproximationStatus class for structured uncertainty modeling.
examples:
- value:
approximation_level: EXACT
description: Exact date known
- value:
approximation_level: APPROXIMATE
has_or_had_label: "circa 1880"
has_or_had_description: "Founding date known only to year"
description: Approximate date with explanation
description:
required: true
source_url:
@ -134,7 +157,8 @@ classes:
event_type: FOUNDING
event_date: '2005-04-30'
date_precision: day
approximate: false
is_or_was_approximate:
approximation_level: EXACT
description: Het RHC Drents Archief werd opgericht op 30 april 2005.
source_url:
- https://nl.wikipedia.org/wiki/Drents_Archief
@ -148,7 +172,8 @@ classes:
event_type: MERGER
event_date: '2005'
date_precision: year
approximate: false
is_or_was_approximate:
approximation_level: EXACT
description: In 2005 ging het Gemeentearchief Assen op in het Drents Archief.
source_url:
- https://nl.wikipedia.org/wiki/Drents_Archief
@ -160,7 +185,8 @@ classes:
event_type: FOUNDING
event_date: '1810'
date_precision: year
approximate: false
is_or_was_approximate:
approximation_level: EXACT
description: The Rijksmuseum was founded in 1810 as the Royal Museum.
source_url:
- https://www.wikidata.org/wiki/Q190804
@ -173,7 +199,8 @@ classes:
event_type: TRANSFER
event_date: '1885'
date_precision: year
approximate: false
is_or_was_approximate:
approximation_level: EXACT
description: The Rijksmuseum moved to its current building designed by Cuypers.
source_url:
- https://www.rijksmuseum.nl/en/about-us/what-we-do/history
@ -183,3 +210,16 @@ classes:
archive_path: web/0001/rijksmuseum.nl/about-us/rendered.html
data_tier: TIER_2_VERIFIED
description: Relocation event from institutional website
- value:
event_type: FOUNDING
event_date: '1880'
date_precision: year
is_or_was_approximate:
approximation_level: APPROXIMATE
has_or_had_label: "circa 1880"
has_or_had_description: "Founding date derived from secondary sources, exact year uncertain"
description: Museum founded around 1880, exact date unknown.
extraction_method: manual_research
extraction_timestamp: '2025-12-20T16:00:00Z'
data_tier: TIER_4_INFERRED
description: Founding event with approximate date

View file

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

View file

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

View file

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

View file

@ -10,7 +10,10 @@ imports:
- ../slots/confidence_score
- ../slots/superseded_by
- ../slots/is_or_was_about_digital_presence
- ../slots/asserted_by
# REMOVED - migrated to is_or_was_asserted_by (Rule 53)
# - ../slots/asserted_by
- ../slots/is_or_was_asserted_by
- ./Asserter
- ../slots/has_assertion_date
- ../slots/has_or_had_identifier
- ../slots/has_assertion_rationale
@ -91,7 +94,9 @@ classes:
- prov:wasGeneratedBy
slots:
- is_or_was_about_digital_presence
- asserted_by
# REMOVED - migrated to is_or_was_asserted_by (Rule 53)
# - asserted_by
- is_or_was_asserted_by
- has_assertion_date
- has_or_had_identifier
- has_assertion_rationale
@ -165,6 +170,27 @@ classes:
required: false
examples:
- value: '2025-11-29T14:30:00Z'
is_or_was_asserted_by:
range: Asserter
inlined: true
required: false
description: >-
The agent responsible for making this assertion.
MIGRATED from asserted_by (Rule 53) - changed from string to Asserter
class for richer provenance tracking.
examples:
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/asserter/primary-presence-analyzer
has_or_had_label: primary-presence-analyzer
asserter_type: AUTOMATED_SYSTEM
asserter_version: "1.0"
description: Automated system asserter
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/asserter/jane-doe
has_or_had_label: Jane Doe
asserter_type: HUMAN_ANALYST
asserter_contact: jane.doe@heritage-org.nl
description: Human analyst asserter
was_asserted_by:
range: string
required: false

View file

@ -0,0 +1,223 @@
id: https://nde.nl/ontology/hc/class/Quantity
name: Quantity
title: Quantity Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
qudt: http://qudt.org/schema/qudt/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
imports:
- linkml:types
- ../enums/QuantityTypeEnum
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
default_prefix: hc
classes:
Quantity:
class_uri: qudt:Quantity
description: >-
A quantified value with an optional unit of measurement and type.
**QUDT ALIGNMENT**:
Maps to `qudt:Quantity` - "A quantitative value expressed as a
number and a unit of measurement."
**TYPES OF QUANTITIES**:
| Type | Description | Example |
|------|-------------|---------|
| STAFF_COUNT | Number of employees | 42 employees |
| COLLECTION_SIZE | Number of items | 1.2 million objects |
| VISITOR_COUNT | Annual visitors | 2.5 million/year |
| BUDGET_AMOUNT | Financial value | €15 million |
| AREA | Physical space | 10,000 m² |
| DURATION | Time period | 6 months |
**USE CASES**:
1. **Staff Metrics**: Branch staff count, department size, FTE equivalents
2. **Collection Metrics**: Object counts, archive linear meters, digital items
3. **Visitor Metrics**: Annual attendance, daily capacity, peak visitors
4. **Financial Metrics**: Budget, revenue, acquisition costs
5. **Physical Metrics**: Floor area, gallery space, storage capacity
**WHY NOT JUST USE INTEGER?**
Simple integer fields like `branch_staff_count: 3` lose important context:
- What's the unit? (FTE? headcount? contractors included?)
- When was this measured? (provenance)
- Is this exact or estimated?
- What type of quantity is this?
The Quantity class captures this richness while remaining simple for basic use.
**EXAMPLE**:
```yaml
Quantity:
quantity_id: https://nde.nl/ontology/hc/quantity/nha-zaanstreek-staff-2025
quantity_value: 3
quantity_type: STAFF_COUNT
quantity_unit: FTE
quantity_description: Staff assigned to Zaanstreek-Waterland branch
quantity_date: 2025-01-01
```
exact_mappings:
- qudt:Quantity
close_mappings:
- schema:QuantitativeValue
related_mappings:
- schema:numberOfEmployees
- schema:floorSize
- dcterms:extent
slots:
- has_or_had_identifier
- quantity_value
- quantity_type
- quantity_unit
- has_or_had_description
- quantity_date
- is_estimate
- specificity_annotation
- template_specificity
slot_usage:
has_or_had_identifier:
range: uriorcurie
required: false
identifier: true
description: >-
Optional identifier for this quantity measurement.
examples:
- value: https://nde.nl/ontology/hc/quantity/nha-zaanstreek-staff-2025
description: Branch staff count measurement
quantity_value:
range: float
required: true
description: >-
The numeric value of the quantity.
examples:
- value: 3
description: 3 staff members
- value: 1200000
description: 1.2 million collection items
- value: 2500000
description: 2.5 million annual visitors
quantity_type:
range: QuantityTypeEnum
required: false
description: >-
The type of quantity being measured.
examples:
- value: STAFF_COUNT
- value: COLLECTION_SIZE
- value: VISITOR_COUNT
quantity_unit:
range: string
required: false
description: >-
The unit of measurement (if applicable).
examples:
- value: FTE
description: Full-time equivalent employees
- value: headcount
description: Total number of people
- value: items
description: Collection item count
- value: linear meters
description: Archive extent
- value: EUR
description: Budget in euros
- value:
description: Floor area
has_or_had_description:
range: string
required: false
description: >-
Description of what this quantity represents.
examples:
- value: Staff assigned to Zaanstreek-Waterland branch
- value: Annual visitor count for 2024
quantity_date:
range: date
required: false
description: >-
Date when this quantity was measured or is valid.
examples:
- value: '2025-01-01'
is_estimate:
range: boolean
required: false
ifabsent: 'false'
description: >-
Whether this quantity is an estimate rather than an exact count.
examples:
- value: false
description: Exact count
- value: true
description: Estimated value
comments:
- Quantity models quantified values with units and provenance
- Replaces simple integer fields with richer structured data
- Uses QUDT Quantity as primary ontology mapping
- Supports various quantity types (staff, collection, visitor, budget)
see_also:
- http://qudt.org/schema/qudt/Quantity
- https://schema.org/QuantitativeValue
examples:
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/quantity/nha-zaanstreek-staff-2025
quantity_value: 3
quantity_type: STAFF_COUNT
quantity_unit: FTE
has_or_had_description: Staff assigned to Zaanstreek-Waterland branch
quantity_date: '2025-01-01'
is_estimate: false
description: Branch staff count
- value:
quantity_value: 1200000
quantity_type: COLLECTION_SIZE
quantity_unit: items
has_or_had_description: Total collection size including artworks, documents, and photographs
is_estimate: true
description: Estimated collection size
- value:
quantity_value: 2500000
quantity_type: VISITOR_COUNT
quantity_unit: visitors/year
has_or_had_description: Annual visitor count for 2024
quantity_date: '2024-12-31'
is_estimate: false
description: Annual visitor count
slots:
quantity_value:
description: >-
The numeric value of the quantity.
range: float
slot_uri: qudt:numericValue
quantity_type:
description: >-
The type of quantity being measured.
range: QuantityTypeEnum
slot_uri: hc:quantityType
quantity_unit:
description: >-
The unit of measurement (if applicable).
range: string
slot_uri: qudt:unit
quantity_date:
description: >-
Date when this quantity was measured or is valid.
range: date
slot_uri: dcterms:date
is_estimate:
description: >-
Whether this quantity is an estimate rather than an exact count.
range: boolean
slot_uri: hc:isEstimate

View file

@ -237,11 +237,20 @@ classes:
- value: '2020-01-01'
policy_effective_to:
range: date
policy_approved_by:
range: string
is_or_was_approved_by:
description: >-
Agent (person/organization) that approved this policy.
MIGRATED from policy_approved_by (2026-01-15) per Rule 39.
Range changed from string to Approver class for structured approval tracking.
range: Approver
required: false
examples:
- value: Collections Committee
- value: Director of Collections
- value:
approver_name: Collections Committee
description: Committee approval
- value:
approver_name: Director of Collections
description: Individual approval
policy_review_date:
range: date
examples:
@ -284,7 +293,8 @@ classes:
- EN_15757_2010
- EN_16893_2018
policy_effective_from: '2020-01-01'
policy_approved_by: Collections Committee
is_or_was_approved_by:
approver_name: Collections Committee
policy_review_date: '2025-12-31'
description: Museum art storage climate policy
- value:
@ -313,6 +323,7 @@ classes:
- IMAGE_PERMANENCE_INSTITUTE
- ISO_TR_19815_2018
policy_effective_from: '2015-06-01'
policy_approved_by: General Rijksarchivaris
is_or_was_approved_by:
approver_name: General Rijksarchivaris
policy_review_date: '2025-06-01'
description: Archive cold storage policy for photographic materials

View file

@ -195,12 +195,11 @@ classes:
unit_name: Archive Box 145 - WWII Ministry Records
unit_type: ARCHIVE_BOX
unit_description: 'Acid-free archive box containing Ministry of Defense
correspondence from 1940-1945. Handle with care.
'
correspondence from 1940-1945. Handle with care.'
row_number: '12'
bay_number: '3'
has_or_had_identifier:
- value: '3'
_type: BayNumber
shelf_number: 4
part_of_zone: https://nde.nl/ontology/hc/zone/na-depot-a-standard
valid_from: '2020-03-15'
@ -211,10 +210,7 @@ classes:
unit_name: Flat File Drawer 42 - Netherlands Maps
unit_type: FLAT_FILE_DRAWER
unit_description: 'Flat file drawer containing oversized maps of the
Netherlands, 1850-1920. Climate-controlled environment.
'
Netherlands, 1850-1920. Climate-controlled environment.'
drawer_number: 42
capacity_items: 50
current_item_count: 38

View file

@ -0,0 +1,31 @@
id: https://nde.nl/ontology/hc/enum/AsserterTypeEnum
name: AsserterTypeEnum
title: Asserter Type Enum
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov#
foaf: http://xmlns.com/foaf/0.1/
imports:
- linkml:types
default_prefix: hc
enums:
AsserterTypeEnum:
description: >-
Type of agent making an assertion.
enum_uri: hc:AsserterTypeEnum
permissible_values:
HUMAN_ANALYST:
description: Human expert or analyst making a judgment.
meaning: foaf:Person
AUTOMATED_SYSTEM:
description: Software system or script performing automated analysis.
meaning: prov:SoftwareAgent
AI_AGENT:
description: AI/ML model or agent making an assertion.
meaning: prov:SoftwareAgent
ORGANIZATION:
description: Organization or institution making a formal assertion.
meaning: foaf:Organization
UNKNOWN:
description: Asserter type is not specified or cannot be determined.

View file

@ -0,0 +1,43 @@
id: https://nde.nl/ontology/hc/enum/QuantityTypeEnum
name: QuantityTypeEnum
title: Quantity Type Enum
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
qudt: http://qudt.org/schema/qudt/
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
enums:
QuantityTypeEnum:
description: >-
Type of quantity being measured.
enum_uri: hc:QuantityTypeEnum
permissible_values:
STAFF_COUNT:
description: Number of staff members or employees.
meaning: schema:numberOfEmployees
COLLECTION_SIZE:
description: Number of items in a collection.
meaning: schema:size
VISITOR_COUNT:
description: Number of visitors (annual, daily, etc.).
meaning: schema:numberOfAttendees
BUDGET_AMOUNT:
description: Financial amount (budget, revenue, cost).
meaning: schema:amount
AREA:
description: Physical area or floor space.
meaning: schema:floorSize
DURATION:
description: Time duration or period.
meaning: schema:duration
LINEAR_EXTENT:
description: Linear measurement (e.g., archive meters).
meaning: qudt:Length
CAPACITY:
description: Maximum capacity (seats, storage, etc.).
meaning: schema:maximumAttendeeCapacity
OTHER:
description: Other type of quantity not listed.

View file

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

View file

@ -0,0 +1,32 @@
# ARCHIVED: 2026-01-15
# REASON: Migrated to is_or_was_approved_by + Approver class (Rule 39, Rule 53)
# REPLACEMENT: is_or_was_approved_by with range Approver
# MIGRATION: Migration 30 - approved_by family consolidation
#
# This slot was specific to StorageConditionPolicy. It has been replaced by
# the generic is_or_was_approved_by slot which uses the Approver class for
# structured approval tracking with temporal semantics.
#
# Original slot preserved below for reference.
id: https://nde.nl/ontology/hc/slot/policy_approved_by
name: policy_approved_by_slot
title: Policy Approved By Slot (ARCHIVED)
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
imports:
- linkml:types
default_prefix: hc
slots:
policy_approved_by:
description: |
ARCHIVED: 2026-01-15
REPLACEMENT: is_or_was_approved_by with range Approver
Original description:
Person or body that approved this policy.
range: string
slot_uri: hc:policyApprovedBy
deprecated: "Use is_or_was_approved_by with Approver class instead"
deprecated_element_has_exact_replacement: is_or_was_approved_by

View file

@ -0,0 +1,52 @@
# ARCHIVED: 2026-01-15
# REASON: Migrated to is_or_was_approved_by + Approver class (Rule 39, Rule 53)
# REPLACEMENT: is_or_was_approved_by with range Approver
# MIGRATION: Migration 30 - approved_by family consolidation
#
# This slot was used in Budget class. It has been replaced by the generic
# is_or_was_approved_by slot which uses the Approver class for structured
# approval tracking with temporal semantics following RiC-O naming conventions.
#
# Original slot preserved below for reference.
id: https://nde.nl/ontology/hc/slot/was_approved_by
name: was_approved_by_slot
title: Was Approved By Slot (ARCHIVED)
prefixes:
dcterms: http://purl.org/dc/terms/
hc: https://nde.nl/ontology/hc/
linkml: https://w3id.org/linkml/
prov: http://www.w3.org/ns/prov#
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
slots:
was_approved_by:
description: |
ARCHIVED: 2026-01-15
REPLACEMENT: is_or_was_approved_by with range Approver
Original description:
Governance body or authority that approved budget.
**Examples**:
- "Board of Directors"
- "Executive Committee"
- "Ministry of Culture"
- "City Council"
range: string
slot_uri: prov:wasAttributedTo
exact_mappings:
- prov:wasAttributedTo
close_mappings:
- dcterms:creator
- prov:wasInfluencedBy
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Applicable to all heritage custodian types.
custodian_types_primary: M
specificity_score: 0.5
specificity_rationale: Moderately specific slot.
deprecated: "Use is_or_was_approved_by with Approver class instead"
deprecated_element_has_exact_replacement: is_or_was_approved_by

View file

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

View file

@ -0,0 +1,58 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_auxiliary_entities
name: has_or_had_auxiliary_entities_slot
title: Has Or Had Auxiliary Entities Slot
description: |
Generic slot for auxiliary/supporting entities associated with a primary entity.
CREATED as part of slot migration (Rule 53) to replace:
- `auxiliary_places` → range: AuxiliaryPlace
- `auxiliary_platforms` → range: AuxiliaryPlatform
Follows RiC-O temporal predicate pattern (has_or_had_*).
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
rico: https://www.ica.org/standards/RiC/ontology#
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_auxiliary_entities:
description: >-
Auxiliary or supporting entities associated with the primary entity.
**SEMANTIC PATTERN**:
This slot follows the RiC-O temporal predicate pattern (has_or_had_*)
to indicate that auxiliary relationships may change over time.
**REPLACES**:
- `auxiliary_places` - Physical locations supporting the main entity
- `auxiliary_platforms` - Digital platforms supporting the main entity
**USE CASES**:
1. **Storage locations**: Off-site storage, external repositories
2. **Branch facilities**: Satellite offices, reading rooms
3. **Partner platforms**: External discovery services, aggregators
slot_uri: rico:hasOrHadPart
range: uriorcurie
multivalued: true
exact_mappings:
- rico:hasOrHadPart
close_mappings:
- schema:hasPart
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Applicable to all heritage custodian types.
custodian_types_primary: M
specificity_score: 0.4
specificity_rationale: Broadly applicable auxiliary entity relationship.
examples:
- value: "hc:auxiliary-place/rijksmuseum-depot-amersfoort"
description: Off-site storage depot
- value: "hc:auxiliary-platform/europeana-aggregation"
description: External discovery platform

View file

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

View file

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

View file

@ -0,0 +1,39 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_quantity
name: has_or_had_quantity_slot
title: Has Or Had Quantity Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
qudt: http://qudt.org/schema/qudt/
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_quantity:
description: >-
A quantified value associated with an entity. Uses RiC-O temporal
naming pattern to indicate the quantity may be current or historical.
QUDT: Quantity - "A quantitative value expressed as a number and
a unit of measurement."
Can represent staff counts, collection sizes, visitor numbers,
budget amounts, area measurements, and other quantifiable properties.
range: Quantity
slot_uri: qudt:Quantity
exact_mappings:
- qudt:Quantity
close_mappings:
- schema:QuantitativeValue
related_mappings:
- schema:numberOfEmployees
- schema:floorSize
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Quantities can be associated with any heritage custodian type.
custodian_types_primary: M
specificity_score: 0.3
specificity_rationale: >-
Generic quantity slot applicable across many contexts where
quantitative values need to be captured with units and provenance.

View file

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

View file

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

View file

@ -0,0 +1,38 @@
id: https://nde.nl/ontology/hc/slot/is_or_was_asserted_by
name: is_or_was_asserted_by_slot
title: Is Or Was Asserted By Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov#
dcterms: http://purl.org/dc/terms/
imports:
- linkml:types
default_prefix: hc
slots:
is_or_was_asserted_by:
description: >-
The agent (person, organization, or system) responsible for making
an assertion. Uses RiC-O temporal naming pattern to indicate the
relationship may be current or historical.
PROV-O: wasAttributedTo - "links an entity to an agent that it
may have been attributed to."
Can be a human analyst, automated system, or AI agent.
range: Asserter
slot_uri: prov:wasAttributedTo
exact_mappings:
- prov:wasAttributedTo
close_mappings:
- dcterms:creator
related_mappings:
- prov:wasAssociatedWith
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Assertions can be made about any heritage custodian type.
custodian_types_primary: M
specificity_score: 0.4
specificity_rationale: >-
Generic provenance slot applicable across many contexts where
attribution of assertions is needed.

View file

@ -1,16 +0,0 @@
id: https://nde.nl/ontology/hc/slot/policy_approved_by
name: policy_approved_by_slot
title: Policy Approved By Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
imports:
- linkml:types
default_prefix: hc
slots:
policy_approved_by:
description: 'Person or body that approved this policy.
'
range: string
slot_uri: hc:policyApprovedBy

View file

@ -421,10 +421,22 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/approved_by
processed:
status: false
timestamp: null
session: null
notes: "Requires Approver class creation"
status: true
timestamp: '2026-01-15T10:00:00Z'
session: "slot-migration-session-30"
notes: |
MIGRATED: approved_by family → is_or_was_approved_by + Approver (Migration 30)
This migration consolidated 3 related slots:
- approved_by (already archived 2026-01-14)
- was_approved_by → archived to archive/was_approved_by_archived_20260115.yaml
- policy_approved_by → archived to archive/policy_approved_by_archived_20260115.yaml
Classes updated:
- Budget.yaml: Fixed malformed slot name, updated slot_usage to use Approver range
- StorageConditionPolicy.yaml: Updated slots and slot_usage, migrated examples
All three slots now consolidated into is_or_was_approved_by with range Approver.
revision:
- label: is_or_was_approved_by
type: slot
@ -433,10 +445,10 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/approximate
processed:
status: false
timestamp: null
session: null
notes: "Requires ApproximationStatus class creation"
status: true
timestamp: "2026-01-14T12:45:00Z"
session: "slot-migration-session-20260114"
notes: "COMPLETED: Created is_or_was_approximate slot and ApproximationStatus class with ApproximationLevelEnum (EXACT, APPROXIMATE, ESTIMATED, UNCERTAIN, UNKNOWN). Also created approximation_level slot. Updated CustodianTimelineEvent.yaml imports, slots list, slot_usage with range ApproximationStatus, and examples (added 5th example showing approximate date). Archived approximate to archive/approximate_archived_20260114.yaml"
revision:
- label: is_or_was_approximate
type: slot
@ -445,10 +457,18 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/archived_at
processed:
status: false
timestamp: null
session: null
notes: "Maps to existing HeritageCustodianPlace class"
status: true
timestamp: '2026-01-15T09:00:00Z'
session: "slot-migration-session-29"
notes: |
MIGRATED: archived_at → is_or_was_archived_at (Migration 29)
Applied RiC-O temporal naming convention (Rule 39).
Updated classes:
- WebObservation.yaml
- AuxiliaryDigitalPlatform.yaml
Archived to modules/slots/archive/archived_at_archived_20260115.yaml
revision:
- label: is_or_was_archived_at
type: slot
@ -489,10 +509,10 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/asserted_by
processed:
status: false
timestamp: null
session: null
notes: "Requires Asserter class creation"
status: true
timestamp: '2026-01-14T23:30:00Z'
session: "session-2026-01-14-slot-migrations"
notes: "FULLY MIGRATED: Created is_or_was_asserted_by slot, Asserter class, and AsserterTypeEnum. PrimaryDigitalPresenceAssertion.yaml updated with new imports, slots, and slot_usage. Old asserted_by slot archived to archive/asserted_by_archived_20260114.yaml."
revision:
- label: is_or_was_asserted_by
type: slot
@ -546,10 +566,14 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/audio_event_segments
processed:
status: false
timestamp: null
session: null
notes: "Maps to existing AudioEventSegment class"
status: true
timestamp: "2026-01-14T10:30:00Z"
session: "slot-migration-session-8"
notes: |
MIGRATED: audio_event_segments → has_or_had_segment + AudioEventSegment
- Created AudioEventSegment.yaml class (hc:AudioEventSegment)
- Updated VideoAudioAnnotation.yaml: imports, slots, slot_usage
- Archived to modules/slots/archive/audio_event_segments_archived_20260114.yaml
revision:
- label: has_or_had_segment
type: slot
@ -570,10 +594,10 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/authors
processed:
status: false
timestamp: null
session: null
notes: "Requires Author class creation"
status: true
timestamp: '2026-01-14T15:30:00Z'
session: "session-2026-01-14-author-migration"
notes: "FULLY MIGRATED: ExhibitionCatalog.yaml - authors and has_author slots replaced with has_or_had_author (range: Author). Author class with AuthorRoleEnum created. Both authors.yaml and has_author.yaml archived."
revision:
- label: has_or_had_author
type: slot
@ -606,10 +630,15 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/auxiliary_places
processed:
status: false
timestamp: null
session: null
notes: "Maps to existing AuxiliaryPlace class"
status: true
timestamp: '2026-01-14T11:30:00Z'
session: "slot-migration-session-8"
notes: |
MIGRATED: auxiliary_places → has_or_had_auxiliary_entities + AuxiliaryPlace
- Created has_or_had_auxiliary_entities.yaml slot
- AuxiliaryPlace class already existed
- Updated CustodianPlace.yaml: imports, slots list, slot_usage
- Archived to modules/slots/archive/auxiliary_places_archived_20260114.yaml
revision:
- label: has_or_had_auxiliary_entities
type: slot
@ -630,10 +659,15 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/auxiliary_platforms
processed:
status: false
timestamp: null
session: null
notes: "Maps to existing AuxiliaryPlatform class"
status: true
timestamp: '2026-01-14T11:45:00Z'
session: "slot-migration-session-8"
notes: |
MIGRATED: auxiliary_platforms → has_or_had_auxiliary_entities + AuxiliaryDigitalPlatform
- has_or_had_auxiliary_entities slot created earlier this session
- AuxiliaryDigitalPlatform class already existed
- Updated DigitalPlatform.yaml: imports, slots list, slot_usage
- Archived to modules/slots/archive/auxiliary_platforms_archived_20260114.yaml
revision:
- label: has_or_had_auxiliary_entities
type: slot
@ -686,10 +720,14 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/bay_number
processed:
status: false
timestamp: null
session: null
notes: "Requires BayNumber class creation"
status: true
timestamp: "2026-01-14T10:45:00Z"
session: "slot-migration-session-8"
notes: |
MIGRATED: bay_number → has_or_had_identifier + BayNumber
- Created BayNumber.yaml class (hc:BayNumber)
- Updated StorageUnit.yaml: imports, slots, slot_usage
- Archived to modules/slots/archive/bay_number_archived_20260114.yaml
revision:
- label: has_or_had_identifier
type: slot
@ -827,10 +865,10 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/birth_date
processed:
status: false
timestamp: null
session: null
notes: "Requires BirthDate class creation"
status: true
timestamp: '2026-01-14T16:00:00Z'
session: "session-2026-01-14-birth-date-migration"
notes: "FULLY MIGRATED: PersonObservation.yaml - birth_date replaced with has_or_had_date_of_birth (range: BirthDate). BirthDate class created with EDTF support, confidence enum, and inference provenance. birth_date.yaml archived."
revision:
- label: has_or_had_date_of_birth
type: slot
@ -839,10 +877,10 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/birth_place
processed:
status: false
timestamp: null
session: null
notes: "Requires BirthPlace class creation"
status: true
timestamp: '2026-01-14T16:15:00Z'
session: "session-2026-01-14-birth-place-migration"
notes: "FULLY MIGRATED: PersonObservation.yaml - birth_place replaced with has_or_had_place_of_birth (range: BirthPlace). BirthPlace class created with historical/modern place names, GeoNames/Wikidata integration. birth_place.yaml archived."
revision:
- label: has_or_had_place_of_birth
type: slot
@ -939,10 +977,14 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/box_number
processed:
status: false
timestamp: null
session: null
notes: "Requires BoxNumber class creation"
status: true
timestamp: "2026-01-14T10:45:00Z"
session: "slot-migration-session-8"
notes: |
MIGRATED: box_number → has_or_had_identifier + BoxNumber
- Created BoxNumber.yaml class (hc:BoxNumber)
- Updated StorageUnit.yaml: imports, slots, slot_usage
- Archived to modules/slots/archive/box_number_archived_20260114.yaml
revision:
- label: has_or_had_identifier
type: slot
@ -1035,10 +1077,10 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/branch_service_area
processed:
status: false
timestamp: null
session: null
notes: "Requires ServiceArea class creation"
status: true
timestamp: "2026-01-14T12:30:00Z"
session: "slot-migration-session-20260114"
notes: "COMPLETED: Created has_or_had_service_area slot with range ServiceArea. Updated BranchOffice.yaml imports, slots list, slot_usage, and examples. ServiceArea class already existed with full geographic modeling. Archived branch_service_area to archive/branch_service_area_archived_20260114.yaml"
revision:
- label: has_or_had_service_area
type: slot
@ -1047,10 +1089,10 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/branch_staff_count
processed:
status: false
timestamp: null
session: null
notes: "Maps to existing Quantity class"
status: true
timestamp: '2026-01-14T23:35:00Z'
session: "session-2026-01-14-slot-migrations"
notes: "FULLY MIGRATED: Created has_or_had_quantity slot, Quantity class, and QuantityTypeEnum. BranchOffice.yaml updated with new imports, slots, and slot_usage. Old branch_staff_count slot archived to archive/branch_staff_count_archived_20260114.yaml. Quantity class supports staff counts, collection sizes, visitor counts, budget amounts, etc."
revision:
- label: has_or_had_quantity
type: slot
@ -1177,10 +1219,14 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/budget_status
processed:
status: false
timestamp: null
session: null
notes: "Requires BudgetStatus class creation"
status: true
timestamp: '2026-01-14T11:00:00Z'
session: "slot-migration-session-8"
notes: |
MIGRATED: budget_status → has_or_had_status + BudgetStatus
- Created BudgetStatus.yaml class (hc:BudgetStatus)
- Updated Budget.yaml: imports, slots list, slot_usage, examples
- Archived to modules/slots/archive/budget_status_archived_20260114.yaml
revision:
- label: has_or_had_status
type: slot
@ -2128,7 +2174,53 @@ fixes:
type: slot
- label: ApprovalTimeTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/type_status
revision:
- label: has_or_had_status
type: slot
- label: TypeStatus
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/type_scope
revision:
- label: has_or_had_scope
type: slot
- label: Scope
type: class
- label: has_or_had_type
type: slot
- label: ScopeType
type: class
- label: includes_or_included
type: slot
- label: ScopeTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/type_label
revision:
- label: has_or_had_label
type: slot
- label: Label
type: class
- label: has_or_had_language
type: slot
- label: Language
type: class
- label: has_or_had_identifier
type: slot
- label: ISO639-3Identifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/type_id
revision:
- label: has_or_had_identifier
type: slot
- label: Identifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/type_hypothesis
revision:
- label: has_or_had_provenance
type: slot
- label: Provenance
type: class
- label: asserts_or_asserted
type: slot
- label: Hypothesis
type: class

View file

@ -1,41 +0,0 @@
id: https://nde.nl/ontology/hc/slot/was_approved_by
name: was_approved_by_slot
title: Was Approved By Slot
prefixes:
dcterms: http://purl.org/dc/terms/
hc: https://nde.nl/ontology/hc/
linkml: https://w3id.org/linkml/
prov: http://www.w3.org/ns/prov#
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
slots:
was_approved_by:
description: 'Governance body or authority that approved budget.
**Examples**:
- "Board of Directors"
- "Executive Committee"
- "Ministry of Culture"
- "City Council"
'
range: string
slot_uri: prov:wasAttributedTo
exact_mappings:
- prov:wasAttributedTo
close_mappings:
- dcterms:creator
- prov:wasInfluencedBy
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Applicable to all heritage custodian types.
custodian_types_primary: M
specificity_score: 0.5
specificity_rationale: Moderately specific slot.

View file

@ -1145,6 +1145,36 @@ export default function EntityReviewPage() {
<span className="divider-text">
{language === 'nl' ? 'of voeg handmatig toe' : 'or add manually'}
</span>
<Tooltip
position="bottom"
maxWidth={350}
content={
<div style={{ textAlign: 'left', fontSize: '12px', lineHeight: '1.5' }}>
<strong style={{ display: 'block', marginBottom: '6px' }}>
{language === 'nl' ? 'Profiel Ophalen Providers:' : 'Profile Fetching Providers:'}
</strong>
<div style={{ marginBottom: '8px' }}>
<strong>LinkedIn:</strong>{' '}
{language === 'nl'
? 'Exa API (werkt) Linkup API kan LinkedIn niet benaderen vanwege anti-scraping beveiliging'
: 'Exa API (works) Linkup API cannot access LinkedIn due to anti-scraping protections'}
</div>
<div style={{ marginBottom: '8px' }}>
<strong>Facebook:</strong>{' '}
{language === 'nl'
? 'Noch Exa noch Linkup kan Facebook profielen ophalen gespecialiseerde diensten (Apify, Bright Data) vereist'
: 'Neither Exa nor Linkup can access Facebook profiles specialized services (Apify, Bright Data) required'}
</div>
<div style={{ fontSize: '11px', opacity: 0.85, borderTop: '1px solid rgba(255,255,255,0.2)', paddingTop: '6px', marginTop: '4px' }}>
{language === 'nl'
? 'Wanneer u een LinkedIn URL toevoegt, haalt het systeem automatisch profielgegevens op via Exa.'
: 'When you add a LinkedIn URL, the system automatically fetches profile data using Exa.'}
</div>
</div>
}
>
<Info size={14} className="info-icon" style={{ marginLeft: '6px', opacity: 0.6, cursor: 'help' }} />
</Tooltip>
</div>
<div className="manual-linkedin-input-group">
<input

View file

@ -1,12 +1,12 @@
{
"generated": "2026-01-14T15:04:09.918Z",
"generated": "2026-01-14T15:54:10.748Z",
"schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 2883,
"totalFiles": 2888,
"categoryCounts": {
"main": 4,
"class": 683,
"enum": 147,
"slot": 2045,
"class": 689,
"enum": 149,
"slot": 2042,
"module": 4
},
"categories": [
@ -165,6 +165,11 @@
"path": "modules/classes/Approver.yaml",
"category": "class"
},
{
"name": "ApproximationStatus",
"path": "modules/classes/ApproximationStatus.yaml",
"category": "class"
},
{
"name": "ArchitecturalArchive",
"path": "modules/classes/ArchitecturalArchive.yaml",
@ -275,6 +280,11 @@
"path": "modules/classes/ArticlesOfAssociation.yaml",
"category": "class"
},
{
"name": "Asserter",
"path": "modules/classes/Asserter.yaml",
"category": "class"
},
{
"name": "AssociationArchive",
"path": "modules/classes/AssociationArchive.yaml",
@ -300,6 +310,11 @@
"path": "modules/classes/AudiovisualArchiveRecordSetTypes.yaml",
"category": "class"
},
{
"name": "Author",
"path": "modules/classes/Author.yaml",
"category": "class"
},
{
"name": "AutoGeneration",
"path": "modules/classes/AutoGeneration.yaml",
@ -380,6 +395,16 @@
"path": "modules/classes/BiologicalObject.yaml",
"category": "class"
},
{
"name": "BirthDate",
"path": "modules/classes/BirthDate.yaml",
"category": "class"
},
{
"name": "BirthPlace",
"path": "modules/classes/BirthPlace.yaml",
"category": "class"
},
{
"name": "BOLDIdentifier",
"path": "modules/classes/BOLDIdentifier.yaml",
@ -2430,6 +2455,11 @@
"path": "modules/classes/PublicationEntry.yaml",
"category": "class"
},
{
"name": "Quantity",
"path": "modules/classes/Quantity.yaml",
"category": "class"
},
{
"name": "RadioArchive",
"path": "modules/classes/RadioArchive.yaml",
@ -3486,6 +3516,11 @@
"path": "modules/enums/ArchiveProcessingStatusEnum.yaml",
"category": "enum"
},
{
"name": "AsserterTypeEnum",
"path": "modules/enums/AsserterTypeEnum.yaml",
"category": "enum"
},
{
"name": "AudioEventTypeEnum",
"path": "modules/enums/AudioEventTypeEnum.yaml",
@ -3991,6 +4026,11 @@
"path": "modules/enums/ProvenanceEventTypeEnum.yaml",
"category": "enum"
},
{
"name": "QuantityTypeEnum",
"path": "modules/enums/QuantityTypeEnum.yaml",
"category": "enum"
},
{
"name": "ReadingRoomAnnexReasonEnum",
"path": "modules/enums/ReadingRoomAnnexReasonEnum.yaml",
@ -4248,8 +4288,8 @@
"category": "slot"
},
{
"name": "approximate",
"path": "modules/slots/approximate.yaml",
"name": "approximation_level",
"path": "modules/slots/approximation_level.yaml",
"category": "slot"
},
{
@ -4262,26 +4302,6 @@
"path": "modules/slots/arrangement_notes.yaml",
"category": "slot"
},
{
"name": "asserted_by",
"path": "modules/slots/asserted_by.yaml",
"category": "slot"
},
{
"name": "authors",
"path": "modules/slots/authors.yaml",
"category": "slot"
},
{
"name": "auxiliary_places",
"path": "modules/slots/auxiliary_places.yaml",
"category": "slot"
},
{
"name": "auxiliary_platforms",
"path": "modules/slots/auxiliary_platforms.yaml",
"category": "slot"
},
{
"name": "available_caption_languages",
"path": "modules/slots/available_caption_languages.yaml",
@ -4322,16 +4342,6 @@
"path": "modules/slots/bio_type_classification.yaml",
"category": "slot"
},
{
"name": "birth_date",
"path": "modules/slots/birth_date.yaml",
"category": "slot"
},
{
"name": "birth_place",
"path": "modules/slots/birth_place.yaml",
"category": "slot"
},
{
"name": "borrower",
"path": "modules/slots/borrower.yaml",
@ -4352,16 +4362,6 @@
"path": "modules/slots/branch_head.yaml",
"category": "slot"
},
{
"name": "branch_service_area",
"path": "modules/slots/branch_service_area.yaml",
"category": "slot"
},
{
"name": "branch_staff_count",
"path": "modules/slots/branch_staff_count.yaml",
"category": "slot"
},
{
"name": "budget_currency",
"path": "modules/slots/budget_currency.yaml",
@ -7677,11 +7677,6 @@
"path": "modules/slots/has_authentication_required_flag.yaml",
"category": "slot"
},
{
"name": "has_author",
"path": "modules/slots/has_author.yaml",
"category": "slot"
},
{
"name": "has_authority_file_abbreviation",
"path": "modules/slots/has_authority_file_abbreviation.yaml",
@ -8147,6 +8142,16 @@
"path": "modules/slots/has_or_had_audit_status.yaml",
"category": "slot"
},
{
"name": "has_or_had_author",
"path": "modules/slots/has_or_had_author.yaml",
"category": "slot"
},
{
"name": "has_or_had_auxiliary_entities",
"path": "modules/slots/has_or_had_auxiliary_entities.yaml",
"category": "slot"
},
{
"name": "has_or_had_based_on_observation",
"path": "modules/slots/has_or_had_based_on_observation.yaml",
@ -8227,6 +8232,11 @@
"path": "modules/slots/has_or_had_data_service_endpoint.yaml",
"category": "slot"
},
{
"name": "has_or_had_date_of_birth",
"path": "modules/slots/has_or_had_date_of_birth.yaml",
"category": "slot"
},
{
"name": "has_or_had_depositing_organization",
"path": "modules/slots/has_or_had_depositing_organization.yaml",
@ -8537,6 +8547,11 @@
"path": "modules/slots/has_or_had_period.yaml",
"category": "slot"
},
{
"name": "has_or_had_place_of_birth",
"path": "modules/slots/has_or_had_place_of_birth.yaml",
"category": "slot"
},
{
"name": "has_or_had_portal_data_source",
"path": "modules/slots/has_or_had_portal_data_source.yaml",
@ -8582,6 +8597,11 @@
"path": "modules/slots/has_or_had_provenance_event.yaml",
"category": "slot"
},
{
"name": "has_or_had_quantity",
"path": "modules/slots/has_or_had_quantity.yaml",
"category": "slot"
},
{
"name": "has_or_had_registered_dataset",
"path": "modules/slots/has_or_had_registered_dataset.yaml",
@ -8672,6 +8692,11 @@
"path": "modules/slots/has_or_had_series.yaml",
"category": "slot"
},
{
"name": "has_or_had_service_area",
"path": "modules/slots/has_or_had_service_area.yaml",
"category": "slot"
},
{
"name": "has_or_had_short_code",
"path": "modules/slots/has_or_had_short_code.yaml",
@ -9492,6 +9517,11 @@
"path": "modules/slots/is_or_was_approved_by.yaml",
"category": "slot"
},
{
"name": "is_or_was_approximate",
"path": "modules/slots/is_or_was_approximate.yaml",
"category": "slot"
},
{
"name": "is_or_was_archive_department_of",
"path": "modules/slots/is_or_was_archive_department_of.yaml",
@ -9507,6 +9537,11 @@
"path": "modules/slots/is_or_was_archived_in.yaml",
"category": "slot"
},
{
"name": "is_or_was_asserted_by",
"path": "modules/slots/is_or_was_asserted_by.yaml",
"category": "slot"
},
{
"name": "is_or_was_associated_with",
"path": "modules/slots/is_or_was_associated_with.yaml",
@ -11437,11 +11472,6 @@
"path": "modules/slots/platform_url.yaml",
"category": "slot"
},
{
"name": "policy_approved_by",
"path": "modules/slots/policy_approved_by.yaml",
"category": "slot"
},
{
"name": "policy_authority",
"path": "modules/slots/policy_authority.yaml",
@ -14257,11 +14287,6 @@
"path": "modules/slots/warehouse_security_level.yaml",
"category": "slot"
},
{
"name": "was_approved_by",
"path": "modules/slots/was_approved_by.yaml",
"category": "slot"
},
{
"name": "was_archived_at",
"path": "modules/slots/was_archived_at.yaml",

View file

@ -0,0 +1,180 @@
id: https://nde.nl/ontology/hc/class/Asserter
name: Asserter
title: Asserter Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov#
foaf: http://xmlns.com/foaf/0.1/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
imports:
- linkml:types
- ../enums/AsserterTypeEnum
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
default_prefix: hc
classes:
Asserter:
class_uri: prov:Agent
description: >-
An agent (person, organization, or system) responsible for making
an assertion about a heritage entity.
**PROV-O ALIGNMENT**:
Maps to `prov:Agent` - "An agent is something that bears some form
of responsibility for an activity taking place, for the existence
of an entity, or for another agent's activity."
**TYPES OF ASSERTERS**:
| Type | Description | Example |
|------|-------------|---------|
| HUMAN_ANALYST | Expert making judgment | "jane.doe@nde.nl" |
| AUTOMATED_SYSTEM | Software system | "primary-presence-classifier/1.0" |
| AI_AGENT | AI/ML model | "claude-opus-4", "opencode-claude-sonnet-4" |
| ORGANIZATION | Institution | "Noord-Hollands Archief" |
**USE CASES**:
1. **Attribution Tracking**: Who made this assertion about primary presence?
2. **Provenance Chain**: Trace assertions back to their source agent.
3. **Quality Assessment**: Different asserters may have different reliability.
4. **Accountability**: Identify responsible party for each assertion.
**EXAMPLE**:
```yaml
Asserter:
asserter_id: https://nde.nl/ontology/hc/asserter/claude-opus-4
asserter_name: Claude Opus 4
asserter_type: AI_AGENT
asserter_description: Anthropic Claude AI model used for assertion generation
asserter_version: "claude-opus-4-20250514"
```
exact_mappings:
- prov:Agent
close_mappings:
- foaf:Agent
- dcterms:Agent
related_mappings:
- schema:Person
- schema:Organization
slots:
- has_or_had_identifier
- has_or_had_label
- has_or_had_description
- asserter_type
- asserter_version
- asserter_contact
- specificity_annotation
- template_specificity
slot_usage:
has_or_had_identifier:
range: uriorcurie
required: true
identifier: true
description: >-
Unique identifier for this asserter.
examples:
- value: https://nde.nl/ontology/hc/asserter/claude-opus-4
description: AI agent asserter
- value: https://nde.nl/ontology/hc/asserter/jane-doe-nde
description: Human analyst asserter
has_or_had_label:
range: string
required: true
description: >-
Name of the asserter.
examples:
- value: Claude Opus 4
description: AI model name
- value: Dr. Jane Doe
description: Human analyst name
- value: primary-presence-classifier
description: Automated system name
has_or_had_description:
range: string
required: false
description: >-
Description of the asserter and their role in the assertion process.
examples:
- value: Anthropic Claude AI model used for heritage data assertions
- value: Senior digital heritage analyst at NDE
asserter_type:
range: AsserterTypeEnum
required: true
description: >-
The type of agent making the assertion.
examples:
- value: AI_AGENT
- value: HUMAN_ANALYST
- value: AUTOMATED_SYSTEM
asserter_version:
range: string
required: false
description: >-
Version identifier for software agents.
examples:
- value: "claude-opus-4-20250514"
- value: "1.2.3"
asserter_contact:
range: string
required: false
description: >-
Contact information for human or organizational asserters.
examples:
- value: jane.doe@nde.nl
- value: heritage-team@museum.nl
comments:
- Asserter models the agent responsible for making assertions
- Supports tracking of human, automated, and AI-based assertions
- Uses PROV-O Agent as primary ontology mapping
- Version tracking particularly important for AI/ML agents
see_also:
- https://www.w3.org/TR/prov-o/#Agent
- https://xmlns.com/foaf/spec/#term_Agent
examples:
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/asserter/claude-opus-4
has_or_had_label: Claude Opus 4
asserter_type: AI_AGENT
has_or_had_description: Anthropic Claude AI model used for heritage data assertions
asserter_version: "claude-opus-4-20250514"
description: AI agent asserter
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/asserter/jane-doe-nde
has_or_had_label: Dr. Jane Doe
asserter_type: HUMAN_ANALYST
has_or_had_description: Senior digital heritage analyst at NDE
asserter_contact: jane.doe@nde.nl
description: Human analyst asserter
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/asserter/primary-presence-classifier
has_or_had_label: primary-presence-classifier
asserter_type: AUTOMATED_SYSTEM
has_or_had_description: Automated system for classifying primary digital presence
asserter_version: "1.0.0"
description: Automated system asserter
slots:
asserter_type:
description: >-
The type of agent making the assertion (human, automated, AI, organization).
range: AsserterTypeEnum
slot_uri: hc:asserterType
asserter_version:
description: >-
Version identifier for software agents (automated systems or AI).
range: string
slot_uri: hc:asserterVersion
asserter_contact:
description: >-
Contact information for human or organizational asserters.
range: string
slot_uri: hc:asserterContact

View file

@ -13,7 +13,11 @@ imports:
# - ../slots/branch_service_area
- ../slots/has_or_had_service_area
- ./ServiceArea
- ../slots/branch_staff_count
# REMOVED - migrated to has_or_had_quantity (Rule 53)
# - ../slots/branch_staff_count
- ../slots/has_or_had_quantity
- ./Quantity
- ../enums/QuantityTypeEnum
- ../slots/has_local_collection
- ../slots/is_public_facing
- ../slots/operating_hour
@ -75,7 +79,9 @@ classes:
# REMOVED - migrated to has_or_had_service_area (Rule 53)
# - branch_service_area
- has_or_had_service_area
- branch_staff_count
# REMOVED - migrated to has_or_had_quantity (Rule 53)
# - branch_staff_count
- has_or_had_quantity
- has_local_collection
- is_public_facing
- operating_hour
@ -163,11 +169,28 @@ classes:
examples:
- value: Tu-Th 09:00-17:00
description: Limited weekday hours
branch_staff_count:
range: integer
# REMOVED - migrated to has_or_had_quantity (Rule 53)
# branch_staff_count:
# range: integer
# examples:
# - value: 3
# description: Small branch staff
has_or_had_quantity:
range: Quantity
inlined: true
description: >-
Quantified values associated with this branch office (e.g., staff count).
MIGRATED from branch_staff_count (Rule 53) - changed from integer to
Quantity class for richer measurement context (units, dates, estimates).
examples:
- value: 3
description: Small branch staff
- value:
quantity_value: 3
quantity_type: STAFF_COUNT
quantity_unit: FTE
has_or_had_description: Staff assigned to this branch
quantity_date: '2025-01-01'
is_estimate: false
description: Branch staff count as structured Quantity
has_local_collection:
range: boolean
examples:
@ -206,7 +229,11 @@ classes:
- Genealogical consultations
- Local history reference
operating_hours: Tu-Th 09:00-17:00
branch_staff_count: 3
has_or_had_quantity:
quantity_value: 3
quantity_type: STAFF_COUNT
quantity_unit: FTE
has_or_had_description: Staff assigned to Zaanstreek-Waterland branch
has_local_collection: true
description: Regional archive branch
- value:
@ -223,6 +250,10 @@ classes:
- Exhibition viewing
- Museum shop
operating_hours: Daily 07:00-20:00
branch_staff_count: 5
has_or_had_quantity:
quantity_value: 5
quantity_type: STAFF_COUNT
quantity_unit: FTE
has_or_had_description: Staff assigned to Schiphol branch
has_local_collection: false
description: Museum airport branch

View file

@ -250,9 +250,12 @@ classes:
has_approval_date:
range: date
required: false
is_or_was_is_or_was_approved_by: # MIGRATED: was was_approved_by (2026-01-15)
description: Agent (person/organization) that approved this budget
range: string
is_or_was_approved_by:
description: >-
Agent (person/organization) that approved this budget.
MIGRATED from approved_by (2026-01-15) per Rule 39.
Range changed from string to Approver class for structured approval tracking.
range: Approver
required: false
# MIGRATED from budget_status to has_or_had_status (Rule 53)
# budget_status:
@ -336,7 +339,8 @@ classes:
internal_funding: 25000000.0
endowment_draw: 5000000.0
approval_date: '2023-11-15'
is_or_was_approved_by: Board of Directors
is_or_was_approved_by:
approver_name: Board of Directors
has_or_had_status:
value: ACTIVE
effective_date: '2024-01-01'
@ -360,7 +364,8 @@ classes:
external_funding: 6000000.0
internal_funding: 2500000.0
approval_date: '2024-03-01'
is_or_was_approved_by: Province of Noord-Holland
is_or_was_approved_by:
approver_name: Province of Noord-Holland
has_or_had_status:
value: ACTIVE
effective_date: '2024-04-01'

View file

@ -8,7 +8,7 @@ imports:
- ./ReconstructionActivity
- ../enums/EducationProviderTypeEnum
- ../slots/has_or_had_accessibility_feature
- ../slots/annual_participants
# REMOVED 2026-01-15: ../slots/annual_participants - migrated to has_or_had_annual_participant_count
# REMOVED 2026-01-15: ../slots/booking_required - migrated to is_or_was_required
- ../slots/is_or_was_required
- ../slots/classroom_count
@ -79,7 +79,8 @@ classes:
- schema:Course
slots:
- has_or_had_accessibility_feature
- annual_participants
# REMOVED 2026-01-15: annual_participants - migrated to has_or_had_annual_participant_count
- has_or_had_annual_participant_count
# REMOVED 2026-01-15: booking_required - migrated to is_or_was_required
- is_or_was_required
- classroom_count
@ -255,7 +256,7 @@ classes:
has_or_had_accessibility_feature:
- Wheelchair accessible
- Hearing loop
annual_participants: 75000
has_or_had_annual_participant_count: 75000
staff_count: 12
is_or_was_required: true
education_contact_email: educatie@rijksmuseum.nl

View file

@ -20,7 +20,8 @@ imports:
- ../slots/extraction_confidence
- ../slots/extraction_note
- ../slots/observed_in
- ../slots/applies_to_call
# REMOVED 2026-01-15: ../slots/applies_to_call - migrated to applies_or_applied_to_call
- ../slots/applies_or_applied_to_call
- ../slots/is_mandatory
- ../slots/requirement_id
- ../slots/requirement_text
@ -95,7 +96,8 @@ classes:
- schema:eligibleQuantity
- prov:wasDerivedFrom
slots:
- applies_to_call
# REMOVED 2026-01-15: applies_to_call - migrated to applies_or_applied_to_call
- applies_or_applied_to_call
- extraction_confidence
- extraction_note
- is_mandatory
@ -240,7 +242,7 @@ classes:
requirement_value: '3'
requirement_unit: partners
is_mandatory: true
applies_to_call: https://nde.nl/ontology/hc/call/ec/cl2-2025-heritage-01
applies_or_applied_to_call: https://nde.nl/ontology/hc/call/ec/cl2-2025-heritage-01
observed_in: https://nde.nl/ontology/hc/observation/web/2025-11-29/eu-horizon-cl2-heritage
source_section: Section 2 - Eligibility Conditions
extraction_confidence: 0.98
@ -254,7 +256,7 @@ classes:
requirement_value: '30'
requirement_unit: percent
is_mandatory: true
applies_to_call: https://nde.nl/ontology/hc/call/ec/cl2-2025-heritage-01
applies_or_applied_to_call: https://nde.nl/ontology/hc/call/ec/cl2-2025-heritage-01
observed_in: https://nde.nl/ontology/hc/observation/web/2025-11-29/eu-horizon-cl2-heritage
source_section: Section 3 - Financial Conditions
extraction_confidence: 0.95
@ -268,7 +270,7 @@ classes:
requirement_value: immediate
requirement_unit: null
is_mandatory: true
applies_to_call: https://nde.nl/ontology/hc/call/ec/cl2-2025-heritage-01
applies_or_applied_to_call: https://nde.nl/ontology/hc/call/ec/cl2-2025-heritage-01
observed_in: https://nde.nl/ontology/hc/observation/web/2025-11-29/eu-horizon-cl2-heritage
source_section: Section 4.2 - Open Science
extraction_confidence: 0.99
@ -282,7 +284,7 @@ classes:
requirement_value: UK
requirement_unit: country
is_mandatory: true
applies_to_call: https://nde.nl/ontology/hc/call/nlhf/medium-grants-2025-q4
applies_or_applied_to_call: https://nde.nl/ontology/hc/call/nlhf/medium-grants-2025-q4
observed_in: https://nde.nl/ontology/hc/observation/web/2025-11-28/nlhf-medium-grants
source_section: Eligibility
extraction_confidence: 0.99
@ -296,7 +298,7 @@ classes:
requirement_value: non-profit
requirement_unit: organization-type
is_mandatory: true
applies_to_call: https://nde.nl/ontology/hc/call/nlhf/medium-grants-2025-q4
applies_or_applied_to_call: https://nde.nl/ontology/hc/call/nlhf/medium-grants-2025-q4
observed_in: https://nde.nl/ontology/hc/observation/web/2025-11-28/nlhf-medium-grants
source_section: Who can apply
extraction_confidence: 0.95

View file

@ -10,7 +10,10 @@ imports:
- ../slots/confidence_score
- ../slots/superseded_by
- ../slots/is_or_was_about_digital_presence
- ../slots/asserted_by
# REMOVED - migrated to is_or_was_asserted_by (Rule 53)
# - ../slots/asserted_by
- ../slots/is_or_was_asserted_by
- ./Asserter
- ../slots/has_assertion_date
- ../slots/has_or_had_identifier
- ../slots/has_assertion_rationale
@ -91,7 +94,9 @@ classes:
- prov:wasGeneratedBy
slots:
- is_or_was_about_digital_presence
- asserted_by
# REMOVED - migrated to is_or_was_asserted_by (Rule 53)
# - asserted_by
- is_or_was_asserted_by
- has_assertion_date
- has_or_had_identifier
- has_assertion_rationale
@ -165,6 +170,27 @@ classes:
required: false
examples:
- value: '2025-11-29T14:30:00Z'
is_or_was_asserted_by:
range: Asserter
inlined: true
required: false
description: >-
The agent responsible for making this assertion.
MIGRATED from asserted_by (Rule 53) - changed from string to Asserter
class for richer provenance tracking.
examples:
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/asserter/primary-presence-analyzer
has_or_had_label: primary-presence-analyzer
asserter_type: AUTOMATED_SYSTEM
asserter_version: "1.0"
description: Automated system asserter
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/asserter/jane-doe
has_or_had_label: Jane Doe
asserter_type: HUMAN_ANALYST
asserter_contact: jane.doe@heritage-org.nl
description: Human analyst asserter
was_asserted_by:
range: string
required: false

View file

@ -0,0 +1,223 @@
id: https://nde.nl/ontology/hc/class/Quantity
name: Quantity
title: Quantity Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
qudt: http://qudt.org/schema/qudt/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
imports:
- linkml:types
- ../enums/QuantityTypeEnum
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
default_prefix: hc
classes:
Quantity:
class_uri: qudt:Quantity
description: >-
A quantified value with an optional unit of measurement and type.
**QUDT ALIGNMENT**:
Maps to `qudt:Quantity` - "A quantitative value expressed as a
number and a unit of measurement."
**TYPES OF QUANTITIES**:
| Type | Description | Example |
|------|-------------|---------|
| STAFF_COUNT | Number of employees | 42 employees |
| COLLECTION_SIZE | Number of items | 1.2 million objects |
| VISITOR_COUNT | Annual visitors | 2.5 million/year |
| BUDGET_AMOUNT | Financial value | €15 million |
| AREA | Physical space | 10,000 m² |
| DURATION | Time period | 6 months |
**USE CASES**:
1. **Staff Metrics**: Branch staff count, department size, FTE equivalents
2. **Collection Metrics**: Object counts, archive linear meters, digital items
3. **Visitor Metrics**: Annual attendance, daily capacity, peak visitors
4. **Financial Metrics**: Budget, revenue, acquisition costs
5. **Physical Metrics**: Floor area, gallery space, storage capacity
**WHY NOT JUST USE INTEGER?**
Simple integer fields like `branch_staff_count: 3` lose important context:
- What's the unit? (FTE? headcount? contractors included?)
- When was this measured? (provenance)
- Is this exact or estimated?
- What type of quantity is this?
The Quantity class captures this richness while remaining simple for basic use.
**EXAMPLE**:
```yaml
Quantity:
quantity_id: https://nde.nl/ontology/hc/quantity/nha-zaanstreek-staff-2025
quantity_value: 3
quantity_type: STAFF_COUNT
quantity_unit: FTE
quantity_description: Staff assigned to Zaanstreek-Waterland branch
quantity_date: 2025-01-01
```
exact_mappings:
- qudt:Quantity
close_mappings:
- schema:QuantitativeValue
related_mappings:
- schema:numberOfEmployees
- schema:floorSize
- dcterms:extent
slots:
- has_or_had_identifier
- quantity_value
- quantity_type
- quantity_unit
- has_or_had_description
- quantity_date
- is_estimate
- specificity_annotation
- template_specificity
slot_usage:
has_or_had_identifier:
range: uriorcurie
required: false
identifier: true
description: >-
Optional identifier for this quantity measurement.
examples:
- value: https://nde.nl/ontology/hc/quantity/nha-zaanstreek-staff-2025
description: Branch staff count measurement
quantity_value:
range: float
required: true
description: >-
The numeric value of the quantity.
examples:
- value: 3
description: 3 staff members
- value: 1200000
description: 1.2 million collection items
- value: 2500000
description: 2.5 million annual visitors
quantity_type:
range: QuantityTypeEnum
required: false
description: >-
The type of quantity being measured.
examples:
- value: STAFF_COUNT
- value: COLLECTION_SIZE
- value: VISITOR_COUNT
quantity_unit:
range: string
required: false
description: >-
The unit of measurement (if applicable).
examples:
- value: FTE
description: Full-time equivalent employees
- value: headcount
description: Total number of people
- value: items
description: Collection item count
- value: linear meters
description: Archive extent
- value: EUR
description: Budget in euros
- value:
description: Floor area
has_or_had_description:
range: string
required: false
description: >-
Description of what this quantity represents.
examples:
- value: Staff assigned to Zaanstreek-Waterland branch
- value: Annual visitor count for 2024
quantity_date:
range: date
required: false
description: >-
Date when this quantity was measured or is valid.
examples:
- value: '2025-01-01'
is_estimate:
range: boolean
required: false
ifabsent: 'false'
description: >-
Whether this quantity is an estimate rather than an exact count.
examples:
- value: false
description: Exact count
- value: true
description: Estimated value
comments:
- Quantity models quantified values with units and provenance
- Replaces simple integer fields with richer structured data
- Uses QUDT Quantity as primary ontology mapping
- Supports various quantity types (staff, collection, visitor, budget)
see_also:
- http://qudt.org/schema/qudt/Quantity
- https://schema.org/QuantitativeValue
examples:
- value:
has_or_had_identifier: https://nde.nl/ontology/hc/quantity/nha-zaanstreek-staff-2025
quantity_value: 3
quantity_type: STAFF_COUNT
quantity_unit: FTE
has_or_had_description: Staff assigned to Zaanstreek-Waterland branch
quantity_date: '2025-01-01'
is_estimate: false
description: Branch staff count
- value:
quantity_value: 1200000
quantity_type: COLLECTION_SIZE
quantity_unit: items
has_or_had_description: Total collection size including artworks, documents, and photographs
is_estimate: true
description: Estimated collection size
- value:
quantity_value: 2500000
quantity_type: VISITOR_COUNT
quantity_unit: visitors/year
has_or_had_description: Annual visitor count for 2024
quantity_date: '2024-12-31'
is_estimate: false
description: Annual visitor count
slots:
quantity_value:
description: >-
The numeric value of the quantity.
range: float
slot_uri: qudt:numericValue
quantity_type:
description: >-
The type of quantity being measured.
range: QuantityTypeEnum
slot_uri: hc:quantityType
quantity_unit:
description: >-
The unit of measurement (if applicable).
range: string
slot_uri: qudt:unit
quantity_date:
description: >-
Date when this quantity was measured or is valid.
range: date
slot_uri: dcterms:date
is_estimate:
description: >-
Whether this quantity is an estimate rather than an exact count.
range: boolean
slot_uri: hc:isEstimate

View file

@ -237,11 +237,20 @@ classes:
- value: '2020-01-01'
policy_effective_to:
range: date
policy_approved_by:
range: string
is_or_was_approved_by:
description: >-
Agent (person/organization) that approved this policy.
MIGRATED from policy_approved_by (2026-01-15) per Rule 39.
Range changed from string to Approver class for structured approval tracking.
range: Approver
required: false
examples:
- value: Collections Committee
- value: Director of Collections
- value:
approver_name: Collections Committee
description: Committee approval
- value:
approver_name: Director of Collections
description: Individual approval
policy_review_date:
range: date
examples:
@ -284,7 +293,8 @@ classes:
- EN_15757_2010
- EN_16893_2018
policy_effective_from: '2020-01-01'
policy_approved_by: Collections Committee
is_or_was_approved_by:
approver_name: Collections Committee
policy_review_date: '2025-12-31'
description: Museum art storage climate policy
- value:
@ -313,6 +323,7 @@ classes:
- IMAGE_PERMANENCE_INSTITUTE
- ISO_TR_19815_2018
policy_effective_from: '2015-06-01'
policy_approved_by: General Rijksarchivaris
is_or_was_approved_by:
approver_name: General Rijksarchivaris
policy_review_date: '2025-06-01'
description: Archive cold storage policy for photographic materials

View file

@ -195,12 +195,11 @@ classes:
unit_name: Archive Box 145 - WWII Ministry Records
unit_type: ARCHIVE_BOX
unit_description: 'Acid-free archive box containing Ministry of Defense
correspondence from 1940-1945. Handle with care.
'
correspondence from 1940-1945. Handle with care.'
row_number: '12'
bay_number: '3'
has_or_had_identifier:
- value: '3'
_type: BayNumber
shelf_number: 4
part_of_zone: https://nde.nl/ontology/hc/zone/na-depot-a-standard
valid_from: '2020-03-15'
@ -211,10 +210,7 @@ classes:
unit_name: Flat File Drawer 42 - Netherlands Maps
unit_type: FLAT_FILE_DRAWER
unit_description: 'Flat file drawer containing oversized maps of the
Netherlands, 1850-1920. Climate-controlled environment.
'
Netherlands, 1850-1920. Climate-controlled environment.'
drawer_number: 42
capacity_items: 50
current_item_count: 38

View file

@ -0,0 +1,31 @@
id: https://nde.nl/ontology/hc/enum/AsserterTypeEnum
name: AsserterTypeEnum
title: Asserter Type Enum
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov#
foaf: http://xmlns.com/foaf/0.1/
imports:
- linkml:types
default_prefix: hc
enums:
AsserterTypeEnum:
description: >-
Type of agent making an assertion.
enum_uri: hc:AsserterTypeEnum
permissible_values:
HUMAN_ANALYST:
description: Human expert or analyst making a judgment.
meaning: foaf:Person
AUTOMATED_SYSTEM:
description: Software system or script performing automated analysis.
meaning: prov:SoftwareAgent
AI_AGENT:
description: AI/ML model or agent making an assertion.
meaning: prov:SoftwareAgent
ORGANIZATION:
description: Organization or institution making a formal assertion.
meaning: foaf:Organization
UNKNOWN:
description: Asserter type is not specified or cannot be determined.

View file

@ -0,0 +1,43 @@
id: https://nde.nl/ontology/hc/enum/QuantityTypeEnum
name: QuantityTypeEnum
title: Quantity Type Enum
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
qudt: http://qudt.org/schema/qudt/
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
enums:
QuantityTypeEnum:
description: >-
Type of quantity being measured.
enum_uri: hc:QuantityTypeEnum
permissible_values:
STAFF_COUNT:
description: Number of staff members or employees.
meaning: schema:numberOfEmployees
COLLECTION_SIZE:
description: Number of items in a collection.
meaning: schema:size
VISITOR_COUNT:
description: Number of visitors (annual, daily, etc.).
meaning: schema:numberOfAttendees
BUDGET_AMOUNT:
description: Financial amount (budget, revenue, cost).
meaning: schema:amount
AREA:
description: Physical area or floor space.
meaning: schema:floorSize
DURATION:
description: Time duration or period.
meaning: schema:duration
LINEAR_EXTENT:
description: Linear measurement (e.g., archive meters).
meaning: qudt:Length
CAPACITY:
description: Maximum capacity (seats, storage, etc.).
meaning: schema:maximumAttendeeCapacity
OTHER:
description: Other type of quantity not listed.

View file

@ -1,15 +0,0 @@
id: https://nde.nl/ontology/hc/slot/annual_participants
name: annual_participants_slot
title: Annual Participants Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
slots:
annual_participants:
description: "[AUTO-GENERATED STUB] Annual Participants"
range: string
slot_uri: hc:annualParticipants

View file

@ -0,0 +1,33 @@
id: https://nde.nl/ontology/hc/slot/applies_or_applied_to_call
name: applies_or_applied_to_call_slot
title: Applies Or Applied To Call Slot
prefixes:
dcterms: http://purl.org/dc/terms/
hc: https://nde.nl/ontology/hc/
linkml: https://w3id.org/linkml/
schema: http://schema.org/
rico: https://www.ica.org/standards/RiC/ontology#
imports:
- linkml:types
default_prefix: hc
slots:
applies_or_applied_to_call:
description: >-
The funding call or opportunity that this requirement applies (or applied) to.
Uses RiC-O style temporal naming to indicate the relationship may be
current or historical.
range: uriorcurie
slot_uri: rico:appliesOrAppliedTo
exact_mappings:
- schema:isRelatedTo
close_mappings:
- dcterms:relation
- rico:isOrWasRelatedTo
annotations:
custodian_types: '["*"]'
custodian_types_rationale: >-
Applicable to all heritage custodian types for funding requirements.
custodian_types_primary: M
specificity_score: 0.6
specificity_rationale: >-
Moderately specific slot for funding requirement tracking.

View file

@ -1,28 +0,0 @@
id: https://nde.nl/ontology/hc/slot/applies_to_call
name: applies_to_call_slot
title: Applies To Call Slot
prefixes:
dcterms: http://purl.org/dc/terms/
hc: https://nde.nl/ontology/hc/
linkml: https://w3id.org/linkml/
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
slots:
applies_to_call:
description: >-
Call or announcement that something applies to.
range: string
slot_uri: schema:isRelatedTo
close_mappings:
- schema:isRelatedTo
- dcterms:relation
annotations:
custodian_types: '["*"]'
custodian_types_rationale: >-
Applicable to all heritage custodian types.
custodian_types_primary: M
specificity_score: 0.5
specificity_rationale: >-
Moderately specific slot.

View file

@ -0,0 +1,21 @@
# ARCHIVED 2026-01-15: Migrated to has_or_had_annual_participant_count
# Reason: RiC-O style temporal naming convention (Rule 39)
# Replacement: has_or_had_annual_participant_count
# Affected classes: EducationCenter
id: https://nde.nl/ontology/hc/slot/annual_participants
name: annual_participants_slot
title: Annual Participants Slot (ARCHIVED)
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
slots:
annual_participants:
description: "[ARCHIVED] Annual Participants - Use has_or_had_annual_participant_count instead"
range: string
slot_uri: hc:annualParticipants
deprecated: true
deprecated_element_has_exact_replacement: has_or_had_annual_participant_count

View file

@ -0,0 +1,27 @@
# ARCHIVED 2026-01-15: Migrated to applies_or_applied_to_call
# Reason: RiC-O style temporal naming convention (Rule 39)
# Replacement: applies_or_applied_to_call
# Affected classes: FundingRequirement
id: https://nde.nl/ontology/hc/slot/applies_to_call
name: applies_to_call_slot
title: Applies To Call Slot (ARCHIVED)
prefixes:
dcterms: http://purl.org/dc/terms/
hc: https://nde.nl/ontology/hc/
linkml: https://w3id.org/linkml/
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
slots:
applies_to_call:
description: >-
[ARCHIVED] Call or announcement that something applies to.
Use applies_or_applied_to_call instead.
range: string
slot_uri: schema:isRelatedTo
deprecated: true
deprecated_element_has_exact_replacement: applies_or_applied_to_call
close_mappings:
- schema:isRelatedTo
- dcterms:relation

View file

@ -0,0 +1,32 @@
# ARCHIVED: 2026-01-15
# REASON: Migrated to is_or_was_approved_by + Approver class (Rule 39, Rule 53)
# REPLACEMENT: is_or_was_approved_by with range Approver
# MIGRATION: Migration 30 - approved_by family consolidation
#
# This slot was specific to StorageConditionPolicy. It has been replaced by
# the generic is_or_was_approved_by slot which uses the Approver class for
# structured approval tracking with temporal semantics.
#
# Original slot preserved below for reference.
id: https://nde.nl/ontology/hc/slot/policy_approved_by
name: policy_approved_by_slot
title: Policy Approved By Slot (ARCHIVED)
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
imports:
- linkml:types
default_prefix: hc
slots:
policy_approved_by:
description: |
ARCHIVED: 2026-01-15
REPLACEMENT: is_or_was_approved_by with range Approver
Original description:
Person or body that approved this policy.
range: string
slot_uri: hc:policyApprovedBy
deprecated: "Use is_or_was_approved_by with Approver class instead"
deprecated_element_has_exact_replacement: is_or_was_approved_by

View file

@ -0,0 +1,52 @@
# ARCHIVED: 2026-01-15
# REASON: Migrated to is_or_was_approved_by + Approver class (Rule 39, Rule 53)
# REPLACEMENT: is_or_was_approved_by with range Approver
# MIGRATION: Migration 30 - approved_by family consolidation
#
# This slot was used in Budget class. It has been replaced by the generic
# is_or_was_approved_by slot which uses the Approver class for structured
# approval tracking with temporal semantics following RiC-O naming conventions.
#
# Original slot preserved below for reference.
id: https://nde.nl/ontology/hc/slot/was_approved_by
name: was_approved_by_slot
title: Was Approved By Slot (ARCHIVED)
prefixes:
dcterms: http://purl.org/dc/terms/
hc: https://nde.nl/ontology/hc/
linkml: https://w3id.org/linkml/
prov: http://www.w3.org/ns/prov#
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
slots:
was_approved_by:
description: |
ARCHIVED: 2026-01-15
REPLACEMENT: is_or_was_approved_by with range Approver
Original description:
Governance body or authority that approved budget.
**Examples**:
- "Board of Directors"
- "Executive Committee"
- "Ministry of Culture"
- "City Council"
range: string
slot_uri: prov:wasAttributedTo
exact_mappings:
- prov:wasAttributedTo
close_mappings:
- dcterms:creator
- prov:wasInfluencedBy
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Applicable to all heritage custodian types.
custodian_types_primary: M
specificity_score: 0.5
specificity_rationale: Moderately specific slot.
deprecated: "Use is_or_was_approved_by with Approver class instead"
deprecated_element_has_exact_replacement: is_or_was_approved_by

View file

@ -0,0 +1,39 @@
id: https://nde.nl/ontology/hc/slot/has_or_had_quantity
name: has_or_had_quantity_slot
title: Has Or Had Quantity Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
qudt: http://qudt.org/schema/qudt/
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
slots:
has_or_had_quantity:
description: >-
A quantified value associated with an entity. Uses RiC-O temporal
naming pattern to indicate the quantity may be current or historical.
QUDT: Quantity - "A quantitative value expressed as a number and
a unit of measurement."
Can represent staff counts, collection sizes, visitor numbers,
budget amounts, area measurements, and other quantifiable properties.
range: Quantity
slot_uri: qudt:Quantity
exact_mappings:
- qudt:Quantity
close_mappings:
- schema:QuantitativeValue
related_mappings:
- schema:numberOfEmployees
- schema:floorSize
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Quantities can be associated with any heritage custodian type.
custodian_types_primary: M
specificity_score: 0.3
specificity_rationale: >-
Generic quantity slot applicable across many contexts where
quantitative values need to be captured with units and provenance.

View file

@ -0,0 +1,38 @@
id: https://nde.nl/ontology/hc/slot/is_or_was_asserted_by
name: is_or_was_asserted_by_slot
title: Is Or Was Asserted By Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov#
dcterms: http://purl.org/dc/terms/
imports:
- linkml:types
default_prefix: hc
slots:
is_or_was_asserted_by:
description: >-
The agent (person, organization, or system) responsible for making
an assertion. Uses RiC-O temporal naming pattern to indicate the
relationship may be current or historical.
PROV-O: wasAttributedTo - "links an entity to an agent that it
may have been attributed to."
Can be a human analyst, automated system, or AI agent.
range: Asserter
slot_uri: prov:wasAttributedTo
exact_mappings:
- prov:wasAttributedTo
close_mappings:
- dcterms:creator
related_mappings:
- prov:wasAssociatedWith
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Assertions can be made about any heritage custodian type.
custodian_types_primary: M
specificity_score: 0.4
specificity_rationale: >-
Generic provenance slot applicable across many contexts where
attribution of assertions is needed.

View file

@ -10,10 +10,9 @@
"is_or_was_real.yaml",
"allocates_or_allocated.yaml",
"allows_or_allowed.yaml",
"annual_participants.yaml",
"api_available.yaml",
"api_documentation.yaml",
"applies_to_call.yaml",
"applies_or_applied_to_call.yaml",
"approved_by.yaml",
"approximate.yaml",
"archive_branches.yaml",

View file

@ -1,16 +0,0 @@
id: https://nde.nl/ontology/hc/slot/policy_approved_by
name: policy_approved_by_slot
title: Policy Approved By Slot
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
imports:
- linkml:types
default_prefix: hc
slots:
policy_approved_by:
description: 'Person or body that approved this policy.
'
range: string
slot_uri: hc:policyApprovedBy

View file

@ -329,23 +329,13 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/annual_participants
processed:
status: false
timestamp: null
session: null
notes: "Complex - requires Participant, Quantity, TimeInterval classes"
status: true
timestamp: '2026-01-15T00:00:00Z'
session: "slot-migration-session-20260115"
notes: "COMPLETE: Migrated to has_or_had_annual_participant_count. EducationCenter.yaml updated - removed annual_participants import and slot reference, updated examples. Slot archived to modules/slots/archive/annual_participants_archived_20260115.yaml."
revision:
- label: has_or_had_participant
- label: has_or_had_annual_participant_count
type: slot
- label: Participant
type: class
- label: has_or_had_quantity
type: slot
- label: Quantity
type: class
- label: has_or_had_time_interval
type: slot
- label: TimeInterval
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/api_available
processed:
@ -383,19 +373,13 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/applies_to_call
processed:
status: false
timestamp: null
session: null
notes: "Requires CallType/CallTypes class creation"
status: true
timestamp: '2026-01-15T00:00:00Z'
session: "slot-migration-session-20260115"
notes: "COMPLETE: Migrated to applies_or_applied_to_call. FundingRequirement.yaml updated - imports, slots list, and all 5 examples updated. Slot archived to modules/slots/archive/applies_to_call_archived_20260115.yaml."
revision:
- label: applies_or_applied_to
- label: applies_or_applied_to_call
type: slot
- label: CallType
type: class
- label: includes_or_included
type: slot
- label: CallTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/appointment_required
processed:
@ -422,14 +406,21 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/approved_by
processed:
status: true
timestamp: '2026-01-14T11:15:00Z'
session: "slot-migration-session-8"
timestamp: '2026-01-15T10:00:00Z'
session: "slot-migration-session-30"
notes: |
MIGRATED: approved_by → is_or_was_approved_by + Approver
- is_or_was_approved_by slot already existed
- Approver class already existed
- Budget.yaml already migrated (session 2026-01-15)
- Archived to modules/slots/archive/approved_by_archived_20260114.yaml
MIGRATED: approved_by family → is_or_was_approved_by + Approver (Migration 30)
This migration consolidated 3 related slots:
- approved_by (already archived 2026-01-14)
- was_approved_by → archived to archive/was_approved_by_archived_20260115.yaml
- policy_approved_by → archived to archive/policy_approved_by_archived_20260115.yaml
Classes updated:
- Budget.yaml: Fixed malformed slot name, updated slot_usage to use Approver range
- StorageConditionPolicy.yaml: Updated slots and slot_usage, migrated examples
All three slots now consolidated into is_or_was_approved_by with range Approver.
revision:
- label: is_or_was_approved_by
type: slot
@ -450,10 +441,18 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/archived_at
processed:
status: false
timestamp: null
session: null
notes: "Maps to existing HeritageCustodianPlace class"
status: true
timestamp: '2026-01-15T09:00:00Z'
session: "slot-migration-session-29"
notes: |
MIGRATED: archived_at → is_or_was_archived_at (Migration 29)
Applied RiC-O temporal naming convention (Rule 39).
Updated classes:
- WebObservation.yaml
- AuxiliaryDigitalPlatform.yaml
Archived to modules/slots/archive/archived_at_archived_20260115.yaml
revision:
- label: is_or_was_archived_at
type: slot
@ -494,10 +493,10 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/asserted_by
processed:
status: false
timestamp: null
session: null
notes: "Requires Asserter class creation"
status: true
timestamp: '2026-01-14T23:30:00Z'
session: "session-2026-01-14-slot-migrations"
notes: "FULLY MIGRATED: Created is_or_was_asserted_by slot, Asserter class, and AsserterTypeEnum. PrimaryDigitalPresenceAssertion.yaml updated with new imports, slots, and slot_usage. Old asserted_by slot archived to archive/asserted_by_archived_20260114.yaml."
revision:
- label: is_or_was_asserted_by
type: slot
@ -1074,10 +1073,10 @@ fixes:
- original_slot_id: https://nde.nl/ontology/hc/slot/branch_staff_count
processed:
status: false
timestamp: null
session: null
notes: "Maps to existing Quantity class"
status: true
timestamp: '2026-01-14T23:35:00Z'
session: "session-2026-01-14-slot-migrations"
notes: "FULLY MIGRATED: Created has_or_had_quantity slot, Quantity class, and QuantityTypeEnum. BranchOffice.yaml updated with new imports, slots, and slot_usage. Old branch_staff_count slot archived to archive/branch_staff_count_archived_20260114.yaml. Quantity class supports staff counts, collection sizes, visitor counts, budget amounts, etc."
revision:
- label: has_or_had_quantity
type: slot
@ -1347,3 +1346,850 @@ fixes:
type: slot
- label: TimeSpan
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/xpath_matched_text
revision:
- label: has_or_had_text
type: slot
- label: TextSegment
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/xpath_match_score
revision:
- label: has_or_had_score
type: slot
- label: XPathScore
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/xpath
revision:
- label: has_or_had_provenance
type: slot
- label: Provenance
type: class
- label: has_or_had_provenance_path
type: slot
- label: XPath
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/writing_system
revision:
- label: has_or_had_writing_system
type: slot
- label: WritingSystem
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/worldcat_id
revision:
- label: has_or_had_identifier
type: slot
- label: WorldCatIdentifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/workshop_space
revision:
- label: has_or_had_quantity
type: slot
- label: Quantity
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/work_location
revision:
- label: has_or_had_location
type: slot
- label: Location
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/word_count
revision:
- label: has_or_had_quantity
type: slot
- label: WordCount
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/within_place
revision:
- label: is_or_was_located_within
type: slot
- label: Place
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/within_auxiliary_place
revision:
- label: is_or_was_located_within
type: slot
- label: Place
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/wikidata_mapping_rationale
revision:
- label: has_or_had_rationale
type: slot
- label: Rationale
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/wikidata_mapping
revision:
- label: is_or_was_related_to
type: slot
- label: WikiDataEntry
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/wikidata_id
revision:
- label: has_or_had_identifier
type: slot
- label: WikiDataIdentifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/wikidata_equivalent
revision:
- label: is_or_was_equivalent_to
type: slot
- label: WikiDataEntry
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/wikidata_entity_label
revision:
- label: has_or_had_label
type: slot
- label: Label
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/wikidata_entity_id
revision:
- label: has_or_had_identifier
type: slot
- label: WikiDataIdentifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/wikidata_entity
revision:
- label: has_or_had_identifier
type: slot
- label: WikiDataIdentifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/wikidata_class
revision:
- label: is_or_was_instance_of
type: slot
- label: WikiDataEntry
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/wikidata_alignment
revision:
- label: is_or_was_related_to
type: slot
- label: WikiDataEntry
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/wikidata
revision:
- label: is_or_was_instance_of
type: slot
- label: WikiDataEntry
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/whatsapp_enrichment
revision:
- label: has_or_had_contact_details
type: slot
- label: WhatsAppProfile
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/whatsapp_business_likelihood
revision:
- label: has_or_had_likelihood_score
type: slot
- label: LikelihoodScore
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/website
revision:
- label: has_or_had_url
type: slot
- label: URL
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/web_observation
revision:
- label: has_or_had_provenance
type: slot
- label: WebObservation
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/was_revision_of
revision:
- label: is_or_was_revision_of
type: slot
- label: WorkRevision
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/was_generated_by
revision:
- label: is_or_was_generated_by
type: slot
- label: ReconstructionActivity
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/was_derived_from
revision:
- label: is_or_was_derived_from
type: slot
- label: SourceWork
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/was_asserted_by
revision:
- label: is_or_was_asserted_by
type: slot
- label: Assertor
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/was_archived_at
revision:
- label: is_or_was_webarchived_at
type: slot
- label: URL
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/was_approved_by
revision:
- label: is_or_was_approved_by
type: slot
- label: Approver
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/warehouse_security_level
revision:
- label: has_or_had_security_level
type: slot
- label: SecurityLevel
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/warehouse_name
revision:
- label: has_or_had_label
type: slot
- label: Label
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/warehouse_managed_by
revision:
- label: is_or_was_managed_by
type: slot
- label: Group
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/warehouse_id
revision:
- label: has_or_had_identifier
type: slot
- label: Identifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/warehouse_floor_area_sqm
revision:
- label: has_or_had_area
type: slot
- label: Area
type: class
- label: has_or_had_unit
type: slot
- label: MeasureUnit
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/warehouse_description
revision:
- label: has_or_had_description
type: slot
- label: Description
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/volunteer_program
revision:
- label: has_or_had_program
type: slot
- label: Program
type: class
- label: has_or_had_type
type: slot
- label: ProgramType
type: class
- label: includes_or_included
type: slot
- label: ProgramTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/visitor_service
revision:
- label: has_or_had_service
type: slot
- label: Service
type: class
- label: has_or_had_type
type: slot
- label: ServiceType
type: class
- label: includes_or_included
type: slot
- label: ServiceTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/visitor_facility
revision:
- label: has_or_had_facility
type: slot
- label: Facility
type: class
- label: has_or_had_type
type: slot
- label: FacilityType
type: class
- label: includes_or_included
type: slot
- label: FacilityTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/visitor_count
revision:
- label: has_or_had_quantity
type: slot
- label: Quantity
type: class
- label: has_or_had_measurement_unit
type: slot
link_branch: 1
- label: MeasureUnit
type: class
value:
- visitors
link_branch: 1
- label: temporal_extent
type: slot
link_branch: 2
- label: TimeSpan
type: class
link_branch: 2
- original_slot_id: https://nde.nl/ontology/hc/slot/visitor_conversion_rate
revision:
- label: has_or_had_conversion_rate
type: slot
- label: ConversionRate
type: class
- label: has_or_had_type
type: slot
link_branch: 1
- label: ConversionRateType
type: class
link_branch: 1
- label: includes_or_included
type: slot
link_branch: 1
- label: ConversionRateTypes
type: class
link_branch: 1
- label: temporal_extent
type: slot
link_branch: 2
- label: TimeSpan
type: class
link_branch: 2
- original_slot_id: https://nde.nl/ontology/hc/slot/visiting_hour
revision:
- label: has_or_had_opening_hour
type: slot
- label: OpeningHour
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/view_count
revision:
- label: has_or_had_quantity
type: slot
- label: Quantity
type: class
- label: has_or_had_measurement_unit
type: slot
link_branch: 1
- label: MeasureUnit
type: class
value:
- views
link_branch: 1
- label: temporal_extent
type: slot
link_branch: 2
- label: TimeSpan
type: class
link_branch: 2
- original_slot_id: https://nde.nl/ontology/hc/slot/video_id
revision:
- label: has_or_had_identifier
type: slot
- label: VideoIdentifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/video_comment
revision:
- label: has_or_had_comment
type: slot
- label: Comment
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/video_category_id
revision:
- label: has_or_had_identifier
type: slot
- label: VideoCategoryIdentifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/viability_status
revision:
- label: has_or_had_status
type: slot
- label: ViabilityStatus
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/version_number
revision:
- label: has_or_had_version
type: slot
- label: VersionNumber
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/verified_by
revision:
- label: is_or_was_verified_by
type: slot
- label: Verifier
type: class
- label: had_or_had_identifier
type: slot
- label: Identifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/verified
revision:
- label: has_or_had_verification_status
type: slot
- label: VerificationStatus
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/verification_date
revision:
- label: temporal_extent
type: slot
- label: TimeSpan
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/vendor_url
revision:
- label: has_or_had_url
type: slot
- label: URL
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/vendor_name
revision:
- label: has_or_had_label
type: slot
- label: Label
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/variant_of_name
revision:
- label: is_or_was_alternative_form_of
type: slot
- label: Label
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/validity_period
revision:
- label: temporal_extent
type: slot
- label: TimeSpan
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/validation_status
revision:
- label: has_or_had_status
type: slot
- label: ValidationStatus
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/valid_to_geo
revision:
- label: temporal_extent
type: slot
- label: TimeSpan
type: class
- label: end_of_the_end
type: slot
- label: Timestamp
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/valid_to
revision:
- label: temporal_extent
type: slot
- label: TimeSpan
type: class
- label: end_of_the_end
type: slot
- label: Timestamp
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/valid_from_geo
revision:
- label: temporal_extent
type: slot
- label: TimeSpan
type: class
- label: begin_of_the_begin
type: slot
- label: Timestamp
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/valid_from
revision:
- label: temporal_extent
type: slot
- label: TimeSpan
type: class
- label: begin_of_the_begin
type: slot
- label: Timestamp
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/uv_filtered_required
revision:
- label: is_or_was_required
type: slot
- label: RequirementStatus
type: class
- label: has_or_had_type
type: slot
- label: RequirementType
type: class
- label: includes_or_included
type: slot
- label: RequirementTypes
type: class
value:
- UV Filtered lighting
- original_slot_id: https://nde.nl/ontology/hc/slot/user_community
revision:
- label: serves_or_served
type: slot
- label: UserCommunity
type: class
- label: has_or_had_type
type: slot
- label: UserCommunityType
type: class
- label: includes_or_included
type: slot
- label: UserCommunityTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/used_by_custodian
revision:
- label: is_or_was_used_by
type: slot
- label: Custodian
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/used_by
revision:
- label: provides_or_provided_provenance_to
type: slot
- label: Entity
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/used
revision:
- label: provides_or_provided_provenance_to
type: slot
- label: ReconstructionActivity
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/url
revision:
- label: has_or_had_url
type: slot
- label: URL
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/updated_at
revision:
- label: was_last_updated_at
type: slot
- label: TimeSpan
type: class
- label: end_of_the_end
type: slot
- label: Timestamp
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/update_frequency
revision:
- label: has_or_had_frequency
type: slot
- label: UpdateFrequency
type: class
- label: has_or_had_quantity
type: slot
link_branch: 1
- label: Quantity
type: class
link_branch: 1
- label: has_or_had_time_interval
type: slot
link_branch: 2
- label: TimeInterval
type: class
link_branch: 2
- original_slot_id: https://nde.nl/ontology/hc/slot/unit_type
revision:
- label: has_or_had_type
type: slot
- label: OrganizationalUnitType
type: class
- label: includes_or_included
type: slot
- label: OrganizationalUnitTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/unit_name
revision:
- label: has_or_had_label
type: slot
- label: Label
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/unit_identifier
revision:
- label: has_or_had_identifier
type: slot
- label: Identifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/unit_id
revision:
- label: has_or_had_identifier
type: slot
- label: Identifier
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/unit_description
revision:
- label: has_or_had_description
type: slot
- label: Description
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/unit_affiliation
revision:
- label: is_or_was_affiliated_with
type: slot
- label: OrganizationUnit
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/unique_object_count
revision:
- label: has_or_had_quantity
type: slot
- label: Quantity
type: class
- label: had_or_had_measurement_unit
type: slot
value:
- object
link_branch: 1
- label: MeasureUnit
type: class
link_branch: 1
- label: has_or_had_methodology
type: slot
link_branch: 2
- label: Methodology
type: class
value:
- entity_resolution
link_branch: 2
- original_slot_id: https://nde.nl/ontology/hc/slot/unique_face_count
revision:
- label: has_or_had_quantity
type: slot
- label: Quantity
type: class
- label: had_or_had_measurement_unit
type: slot
link_branch: 1
- label: MeasureUnit
type: class
value:
- face
link_branch: 1
- label: has_or_had_methodology
type: slot
link_branch: 2
- label: Methodology
type: class
value:
- entity_resolution
link_branch: 2
- original_slot_id: https://nde.nl/ontology/hc/slot/uniform_title
revision:
- label: has_or_had_label
type: slot
- label: Label
type: class
- label: has_or_had_type
type: slot
- label: TitleType
type: class
- label: includes_or_included
type: slot
- label: TitleTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/unesco_list_status
revision:
- label: has_or_had_status
type: slot
- label: UNESCOListStatus
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/unesco_inscription_year
revision:
- label: temporal_extent
type: slot
- label: TimeSpan
type: class
- label: begin_of_the_begin
type: slot
- label: Timestamp
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/unesco_domain
revision:
- label: is_or_was_categorized_as
type: slot
- label: UNESCODomain
type: class
- label: has_or_had_type
type: slot
- label: UNESCODomainType
type: class
- label: includes_or_included
type: slot
- label: UNESCODomainTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_technical_feature
revision:
- label: has_or_had_feature
type: slot
- label: TechnicalFeature
type: class
- label: has_or_had_type
type: slot
- label: TechnicalFeatureType
type: class
- label: includes_or_included
type: slot
- label: TechnicalFeatureTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_scope
revision:
- label: has_or_had_scope
type: slot
- label: Scope
type: class
- label: has_or_had_type
type: slot
- label: ScopeType
type: class
- label: includes_or_included
type: slot
- label: ScopeTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_responsibility
revision:
- label: has_or_had_responsibility
type: slot
- label: Responsibility
type: class
- label: has_or_had_type
type: slot
- label: ResponsibilityType
type: class
- label: includes_or_included
type: slot
- label: ResponsibilityTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_response_formats
revision:
- label: has_or_had_format
type: slot
- label: ResponseFormat
type: class
- label: has_or_had_type
type: slot
- label: ResponseFormatType
type: class
- label: includes_or_included
type: slot
- label: ResponseFormatTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_metadata_standard
revision:
- label: has_or_had_standard
type: slot
- label: MetadataStandard
type: class
- label: has_or_had_type
type: slot
- label: MetadataStandardType
type: class
- label: includes_or_included
type: slot
- label: MetadataStandardTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_http_methods
revision:
- label: has_or_had_method
type: slot
- label: HTTPMethod
type: class
- label: has_or_had_type
type: slot
- label: HTTPMethodType
type: class
- label: includes_or_included
type: slot
- label: HTTPMethodTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_grant_range
revision:
- label: has_or_had_range
type: slot
- label: GrantRange
type: class
- label: minimal_of_minimal
type: slot
link_branch: 1
- label: Quantity
type: class
link_branch: 1
- label: maximal_of_maximal
type: slot
link_branch: 2
- label: Quantity
type: class
link_branch: 2
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_domain
revision:
- label: has_or_had_domain
type: slot
- label: Domain
type: class
- label: has_or_had_type
type: slot
- label: DomainType
type: class
- label: includes_or_included
type: slot
- label: DomainTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_condition
revision:
- label: has_or_had_condition
type: slot
- label: Condition
type: class
- label: has_or_had_type
type: slot
- label: ConditionType
type: class
- label: includes_or_included
type: slot
- label: ConditionTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/typical_approval_time
revision:
- label: has_or_had_time_interval
type: slot
- label: TimeInterval
type: class
- label: has_or_had_type
type: slot
- label: ApprovalTimeType
type: class
- label: includes_or_included
type: slot
- label: ApprovalTimeTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/type_status
revision:
- label: has_or_had_status
type: slot
- label: TypeStatus
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/type_scope
revision:
- label: has_or_had_scope
type: slot
- label: Scope
type: class
- label: has_or_had_type
type: slot
- label: ScopeType
type: class
- label: includes_or_included
type: slot
- label: ScopeTypes
type: class
- original_slot_id: https://nde.nl/ontology/hc/slot/type_label
revision:
- label: has_or_had_label
type: slot
- label: Label
type: class
- label: has_or_had_language
type: slot
- label: Language
type: class
- label: has_or_had_identifier
type: slot
- label: ISO639-3Identifier
type: class
-

View file

@ -1,41 +0,0 @@
id: https://nde.nl/ontology/hc/slot/was_approved_by
name: was_approved_by_slot
title: Was Approved By Slot
prefixes:
dcterms: http://purl.org/dc/terms/
hc: https://nde.nl/ontology/hc/
linkml: https://w3id.org/linkml/
prov: http://www.w3.org/ns/prov#
schema: http://schema.org/
imports:
- linkml:types
default_prefix: hc
slots:
was_approved_by:
description: 'Governance body or authority that approved budget.
**Examples**:
- "Board of Directors"
- "Executive Committee"
- "Ministry of Culture"
- "City Council"
'
range: string
slot_uri: prov:wasAttributedTo
exact_mappings:
- prov:wasAttributedTo
close_mappings:
- dcterms:creator
- prov:wasInfluencedBy
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Applicable to all heritage custodian types.
custodian_types_primary: M
specificity_score: 0.5
specificity_rationale: Moderately specific slot.