Compare commits
12 commits
4acdab5b4e
...
d4493580ea
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d4493580ea | ||
|
|
53c6dbc2d9 | ||
|
|
9f9c69f7b8 | ||
|
|
13ba8fb09b | ||
|
|
a981bb7ca3 | ||
|
|
853419d6c2 | ||
|
|
e64b5653bf | ||
|
|
bdf3ceafb8 | ||
|
|
913a1a41a7 | ||
|
|
ad281c507a | ||
|
|
8902f0e082 | ||
|
|
6da794ee38 |
330 changed files with 27340 additions and 5619 deletions
|
|
@ -31,10 +31,112 @@ The `slot_fixes.yaml` file has been **manually curated** to specify the exact re
|
|||
- ✅ Follow the `revision` section TO THE LETTER
|
||||
- ✅ Use EXACTLY the slots and classes specified
|
||||
- ✅ Apply ALL components of the revision (both slots AND classes)
|
||||
- ✅ Interpret `link_branch` fields correctly (see below)
|
||||
- ✅ Update `processed.status: true` after completing migration
|
||||
|
||||
---
|
||||
|
||||
## Understanding `link_branch` in Revision Plans
|
||||
|
||||
🚨 **CRITICAL**: The `link_branch` field in revision plans indicates **nested class attributes**. Items with `link_branch: N` are slots/classes that belong TO the primary class, not standalone replacements.
|
||||
|
||||
### How to Interpret `link_branch`
|
||||
|
||||
| Revision Item | Meaning |
|
||||
|---------------|---------|
|
||||
| Items **WITHOUT** `link_branch` | **PRIMARY** slot and class to create |
|
||||
| Items **WITH** `link_branch: 1` | First attribute branch that the primary class needs |
|
||||
| Items **WITH** `link_branch: 2` | Second attribute branch that the primary class needs |
|
||||
| Items **WITH** `link_branch: N` | Nth attribute branch for the primary class |
|
||||
|
||||
### Example: `visitor_count` Revision
|
||||
|
||||
```yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/visitor_count
|
||||
revision:
|
||||
- label: has_or_had_quantity # PRIMARY SLOT (no link_branch)
|
||||
type: slot
|
||||
- label: Quantity # PRIMARY CLASS (no link_branch)
|
||||
type: class
|
||||
- label: has_or_had_measurement_unit # Quantity needs this slot
|
||||
type: slot
|
||||
link_branch: 1 # ← Branch 1: unit attribute
|
||||
- label: MeasureUnit # Range of has_or_had_measurement_unit
|
||||
type: class
|
||||
value:
|
||||
- visitors
|
||||
link_branch: 1
|
||||
- label: temporal_extent # Quantity needs this slot too
|
||||
type: slot
|
||||
link_branch: 2 # ← Branch 2: time attribute
|
||||
- label: TimeSpan # Range of temporal_extent
|
||||
type: class
|
||||
link_branch: 2
|
||||
```
|
||||
|
||||
**Interpretation**: This creates:
|
||||
1. **Primary**: `has_or_had_quantity` slot → `Quantity` class
|
||||
2. **Branch 1**: `Quantity.has_or_had_measurement_unit` → `MeasureUnit` (with value "visitors")
|
||||
3. **Branch 2**: `Quantity.temporal_extent` → `TimeSpan`
|
||||
|
||||
### Resulting Class Structure
|
||||
|
||||
```yaml
|
||||
# The Quantity class should have these slots:
|
||||
Quantity:
|
||||
slots:
|
||||
- has_or_had_measurement_unit # From link_branch: 1
|
||||
- temporal_extent # From link_branch: 2
|
||||
```
|
||||
|
||||
### Complex Example: `visitor_conversion_rate`
|
||||
|
||||
```yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/visitor_conversion_rate
|
||||
revision:
|
||||
- label: has_or_had_conversion_rate # PRIMARY SLOT
|
||||
type: slot
|
||||
- label: ConversionRate # PRIMARY CLASS
|
||||
type: class
|
||||
- label: has_or_had_type # ConversionRate.has_or_had_type
|
||||
type: slot
|
||||
link_branch: 1
|
||||
- label: ConversionRateType # Abstract type class
|
||||
type: class
|
||||
link_branch: 1
|
||||
- label: includes_or_included # ConversionRateType hierarchy slot
|
||||
type: slot
|
||||
link_branch: 1
|
||||
- label: ConversionRateTypes # Concrete subclasses file
|
||||
type: class
|
||||
link_branch: 1
|
||||
- label: temporal_extent # ConversionRate.temporal_extent
|
||||
type: slot
|
||||
link_branch: 2
|
||||
- label: TimeSpan # Range of temporal_extent
|
||||
type: class
|
||||
link_branch: 2
|
||||
```
|
||||
|
||||
**Interpretation**:
|
||||
1. **Primary**: `has_or_had_conversion_rate` → `ConversionRate`
|
||||
2. **Branch 1**: Type hierarchy with `ConversionRateType` (abstract) + `ConversionRateTypes` (concrete subclasses)
|
||||
3. **Branch 2**: Temporal tracking via `temporal_extent` → `TimeSpan`
|
||||
|
||||
### Migration Checklist for `link_branch` Revisions
|
||||
|
||||
- [ ] Create/verify PRIMARY slot exists
|
||||
- [ ] Create/verify PRIMARY class exists
|
||||
- [ ] For EACH `link_branch: N`:
|
||||
- [ ] Add the branch slot to PRIMARY class's `slots:` list
|
||||
- [ ] Import the branch slot file
|
||||
- [ ] Import the branch class file (if creating new class)
|
||||
- [ ] Verify range of branch slot points to branch class
|
||||
- [ ] Update consuming class to use PRIMARY slot (not deprecated slot)
|
||||
- [ ] Update examples to show nested structure
|
||||
|
||||
---
|
||||
|
||||
## Mandatory: Follow slot_fixes.yaml Revisions Exactly
|
||||
|
||||
**The `revision` section in `slot_fixes.yaml` is AUTHORITATIVE.** Do not substitute different slots based on your own judgment.
|
||||
|
|
|
|||
37
AGENTS.md
37
AGENTS.md
|
|
@ -1603,6 +1603,43 @@ The `revision` section in `slot_fixes.yaml` specifies the EXACT slots and classe
|
|||
- ❌ Partially apply revisions
|
||||
- ❌ Add deprecation notes (keeping both old and new)
|
||||
|
||||
**Understanding `link_branch` in Revisions**:
|
||||
|
||||
The `link_branch` field indicates **nested class attributes**:
|
||||
|
||||
| Revision Item | Meaning |
|
||||
|---------------|---------|
|
||||
| Items **WITHOUT** `link_branch` | PRIMARY slot and class to create |
|
||||
| Items **WITH** `link_branch: 1` | First attribute the primary class needs |
|
||||
| Items **WITH** `link_branch: 2` | Second attribute the primary class needs |
|
||||
|
||||
**Example - `visitor_count` with `link_branch`**:
|
||||
|
||||
```yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/visitor_count
|
||||
revision:
|
||||
- label: has_or_had_quantity # PRIMARY SLOT
|
||||
type: slot
|
||||
- label: Quantity # PRIMARY CLASS
|
||||
type: class
|
||||
- label: has_or_had_measurement_unit # Quantity.has_or_had_measurement_unit
|
||||
type: slot
|
||||
link_branch: 1 # ← Branch 1
|
||||
- label: MeasureUnit # Range of branch 1 slot
|
||||
type: class
|
||||
link_branch: 1
|
||||
- label: temporal_extent # Quantity.temporal_extent
|
||||
type: slot
|
||||
link_branch: 2 # ← Branch 2
|
||||
- label: TimeSpan # Range of branch 2 slot
|
||||
type: class
|
||||
link_branch: 2
|
||||
```
|
||||
|
||||
**Interpretation**: Create `Quantity` class with TWO slots:
|
||||
- `has_or_had_measurement_unit` → `MeasureUnit` (branch 1)
|
||||
- `temporal_extent` → `TimeSpan` (branch 2)
|
||||
|
||||
**Example - Following slot_fixes.yaml**:
|
||||
|
||||
```yaml
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,68 @@
|
|||
# Alpha2Code - ISO 3166-1 alpha-2 country code
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: alpha_2
|
||||
# Creation date: 2026-01-14
|
||||
# Rule compliance: 50 (ontology mapping)
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/Alpha2Code
|
||||
name: Alpha2Code
|
||||
title: ISO 3166-1 Alpha-2 Country Code
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_or_had_code
|
||||
|
||||
classes:
|
||||
Alpha2Code:
|
||||
class_uri: skos:Concept
|
||||
description: |
|
||||
ISO 3166-1 alpha-2 country code (two-letter code).
|
||||
|
||||
**DEFINITION**:
|
||||
|
||||
A two-letter country code as defined by ISO 3166-1 alpha-2 standard.
|
||||
Used for representing countries and dependent territories.
|
||||
|
||||
**EXAMPLES**:
|
||||
- NL = Netherlands
|
||||
- BE = Belgium
|
||||
- DE = Germany
|
||||
- US = United States
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
- SKOS Concept: Codes are concepts in ISO 3166-1 vocabulary
|
||||
- Schema.org: addressCountry can use alpha-2 codes
|
||||
|
||||
slots:
|
||||
- has_or_had_code
|
||||
|
||||
slot_usage:
|
||||
has_or_had_code:
|
||||
pattern: "^[A-Z]{2}$"
|
||||
required: true
|
||||
description: Two-letter ISO 3166-1 alpha-2 country code
|
||||
examples:
|
||||
- value: "NL"
|
||||
description: Netherlands
|
||||
- value: "BE"
|
||||
description: Belgium
|
||||
|
||||
exact_mappings:
|
||||
- skos:Concept
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.30"
|
||||
specificity_rationale: "Low specificity - standard country codes used broadly."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
has_or_had_code: "NL"
|
||||
description: Netherlands country code
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
# Alpha3Code - ISO 3166-1 alpha-3 country code
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: alpha_3
|
||||
# Creation date: 2026-01-14
|
||||
# Rule compliance: 50 (ontology mapping)
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/Alpha3Code
|
||||
name: Alpha3Code
|
||||
title: ISO 3166-1 Alpha-3 Country Code
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_or_had_code
|
||||
|
||||
classes:
|
||||
Alpha3Code:
|
||||
class_uri: skos:Concept
|
||||
description: |
|
||||
ISO 3166-1 alpha-3 country code (three-letter code).
|
||||
|
||||
**DEFINITION**:
|
||||
|
||||
A three-letter country code as defined by ISO 3166-1 alpha-3 standard.
|
||||
Used for representing countries and dependent territories with more
|
||||
recognizable abbreviations.
|
||||
|
||||
**EXAMPLES**:
|
||||
- NLD = Netherlands
|
||||
- BEL = Belgium
|
||||
- DEU = Germany
|
||||
- USA = United States
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
- SKOS Concept: Codes are concepts in ISO 3166-1 vocabulary
|
||||
|
||||
slots:
|
||||
- has_or_had_code
|
||||
|
||||
slot_usage:
|
||||
has_or_had_code:
|
||||
pattern: "^[A-Z]{3}$"
|
||||
required: true
|
||||
description: Three-letter ISO 3166-1 alpha-3 country code
|
||||
examples:
|
||||
- value: "NLD"
|
||||
description: Netherlands
|
||||
- value: "BEL"
|
||||
description: Belgium
|
||||
|
||||
exact_mappings:
|
||||
- skos:Concept
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.30"
|
||||
specificity_rationale: "Low specificity - standard country codes used broadly."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
has_or_had_code: "NLD"
|
||||
description: Netherlands country code
|
||||
|
|
@ -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
|
||||
|
|
@ -0,0 +1,195 @@
|
|||
id: https://nde.nl/ontology/hc/class/area
|
||||
name: area_class
|
||||
title: Area Class
|
||||
description: >-
|
||||
Class representing an area measurement with value, unit, and context.
|
||||
|
||||
**RULE 53 COMPLIANT**: This is the authoritative class for area measurements,
|
||||
replacing domain-specific float slots like area_hectares, building_floor_area_sqm,
|
||||
and has_area_in_hectare.
|
||||
|
||||
**REPLACES**:
|
||||
- area_hectares (OutdoorSite) - float in hectares
|
||||
- building_floor_area_sqm (HistoricBuilding) - float in square meters
|
||||
- has_area_in_hectare (bespoke, incorrectly created)
|
||||
|
||||
**ADVANTAGES OVER SIMPLE FLOAT**:
|
||||
- Explicit unit specification (no ambiguity between m² and hectares)
|
||||
- Temporal context (measurement date for historic facilities)
|
||||
- Provenance (measurement method, source)
|
||||
- Estimation flag (is_estimate for approximate values)
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
qudt: http://qudt.org/schema/qudt/
|
||||
geosparql: http://www.opengis.net/ont/geosparql#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ./MeasureUnit
|
||||
- ../slots/has_or_had_unit
|
||||
- ../slots/has_or_had_label
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
Area:
|
||||
description: >-
|
||||
A measurement of spatial extent (area) with value, unit, and metadata.
|
||||
|
||||
Captures area measurements for heritage facilities including outdoor sites,
|
||||
buildings, rooms, and storage areas. Supports multiple units (m², hectares,
|
||||
acres) with explicit unit specification.
|
||||
|
||||
**TEMPORAL ASPECT**: Areas can change over time (building extensions,
|
||||
site acquisitions). The measurement_date captures when the area was measured.
|
||||
|
||||
**ESTIMATION SUPPORT**: Heritage facilities often have estimated areas,
|
||||
especially for historic buildings. The is_estimate flag indicates uncertainty.
|
||||
class_uri: qudt:QuantityValue
|
||||
exact_mappings:
|
||||
- qudt:QuantityValue
|
||||
close_mappings:
|
||||
- schema:QuantitativeValue
|
||||
- geosparql:hasArea
|
||||
slots:
|
||||
- area_value
|
||||
- has_or_had_unit
|
||||
- measurement_date
|
||||
- is_estimate
|
||||
- measurement_method
|
||||
- has_or_had_label
|
||||
slot_usage:
|
||||
area_value:
|
||||
description: >-
|
||||
The numeric value of the area measurement.
|
||||
MIGRATED from area_hectares, building_floor_area_sqm (Rule 53).
|
||||
range: float
|
||||
required: true
|
||||
examples:
|
||||
- value: 25.0
|
||||
description: 25 hectares (outdoor site)
|
||||
- value: 5000.0
|
||||
description: 5000 square meters (building)
|
||||
has_or_had_unit:
|
||||
description: >-
|
||||
The unit of measurement for this area.
|
||||
MIGRATED from implicit unit assumptions (Rule 53).
|
||||
range: MeasureUnit
|
||||
required: true
|
||||
inlined: true
|
||||
examples:
|
||||
- value:
|
||||
unit_type: HECTARE
|
||||
unit_symbol: "ha"
|
||||
description: Hectare unit for outdoor site
|
||||
- value:
|
||||
unit_type: SQUARE_METER
|
||||
unit_symbol: "m²"
|
||||
description: Square meter unit for building floor
|
||||
measurement_date:
|
||||
description: >-
|
||||
Date when the area was measured or recorded.
|
||||
range: date
|
||||
required: false
|
||||
examples:
|
||||
- value: "2024-01-15"
|
||||
description: Recent measurement
|
||||
- value: "1985-06-01"
|
||||
description: Historic measurement
|
||||
is_estimate:
|
||||
description: >-
|
||||
Whether the area is an estimate (true) or precise measurement (false).
|
||||
range: boolean
|
||||
required: false
|
||||
examples:
|
||||
- value: true
|
||||
description: Estimated area for historic building
|
||||
- value: false
|
||||
description: Precise surveyed measurement
|
||||
measurement_method:
|
||||
description: >-
|
||||
Method used to measure the area (survey, GIS, historical records, etc.).
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: "GIS analysis"
|
||||
description: Geographic Information System measurement
|
||||
- value: "Land survey"
|
||||
description: Professional survey
|
||||
- value: "Historical records"
|
||||
description: From archival documents
|
||||
has_or_had_label:
|
||||
description: >-
|
||||
Human-readable label for the area measurement.
|
||||
range: string
|
||||
examples:
|
||||
- value: "Total site area"
|
||||
description: Label for outdoor site
|
||||
- value: "Building floor area"
|
||||
description: Label for building
|
||||
examples:
|
||||
- value:
|
||||
area_value: 25.0
|
||||
has_or_had_unit:
|
||||
unit_type: HECTARE
|
||||
unit_symbol: "ha"
|
||||
has_or_had_label: "Sculpture garden area"
|
||||
description: Outdoor site area in hectares (replaces area_hectares)
|
||||
- value:
|
||||
area_value: 5000.0
|
||||
has_or_had_unit:
|
||||
unit_type: SQUARE_METER
|
||||
unit_symbol: "m²"
|
||||
measurement_date: "2023-03-15"
|
||||
is_estimate: false
|
||||
measurement_method: "Architectural survey"
|
||||
has_or_had_label: "Total floor area"
|
||||
description: Building floor area in square meters (replaces building_floor_area_sqm)
|
||||
- value:
|
||||
area_value: 650.0
|
||||
has_or_had_unit:
|
||||
unit_type: HECTARE
|
||||
unit_symbol: "ha"
|
||||
is_estimate: true
|
||||
measurement_method: "Historical records"
|
||||
has_or_had_label: "Estate grounds"
|
||||
description: Historic estate grounds with estimated area
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Area measurements applicable to all heritage custodian types.
|
||||
specificity_score: 0.4
|
||||
specificity_rationale: >-
|
||||
Broadly useful class - area measurements relevant for site planning,
|
||||
collection storage, visitor capacity, and facility management.
|
||||
|
||||
slots:
|
||||
area_value:
|
||||
description: >-
|
||||
The numeric value of an area measurement.
|
||||
range: float
|
||||
slot_uri: qudt:numericValue
|
||||
exact_mappings:
|
||||
- qudt:numericValue
|
||||
- schema:value
|
||||
|
||||
measurement_date:
|
||||
description: >-
|
||||
Date when a measurement was taken or recorded.
|
||||
range: date
|
||||
slot_uri: schema:dateCreated
|
||||
|
||||
is_estimate:
|
||||
description: >-
|
||||
Whether a value is an estimate (true) or precise measurement (false).
|
||||
range: boolean
|
||||
slot_uri: hc:isEstimate
|
||||
|
||||
measurement_method:
|
||||
description: >-
|
||||
Method used to obtain a measurement.
|
||||
range: string
|
||||
slot_uri: hc:measurementMethod
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -13,7 +13,10 @@ imports:
|
|||
- ../slots/has_approval_date
|
||||
- ../slots/has_or_had_acquisition_budget
|
||||
- ../slots/is_or_was_approved_by # MIGRATED: was ../slots/approved_by (2026-01-15)
|
||||
- ../slots/budget_currency
|
||||
# REMOVED - migrated to has_or_had_currency (Rule 53)
|
||||
# - ../slots/budget_currency
|
||||
- ../slots/has_or_had_currency
|
||||
- ./Currency
|
||||
- ../slots/has_or_had_description
|
||||
- ../slots/has_or_had_label
|
||||
# REMOVED - migrated to has_or_had_status with range BudgetStatus (Rule 53)
|
||||
|
|
@ -97,7 +100,9 @@ classes:
|
|||
- has_or_had_acquisition_budget
|
||||
- has_approval_date
|
||||
- is_or_was_approved_by # MIGRATED: was approved_by (2026-01-15)
|
||||
- budget_currency
|
||||
# REMOVED - migrated to has_or_had_currency (Rule 53)
|
||||
# - budget_currency
|
||||
- has_or_had_currency
|
||||
- has_or_had_description
|
||||
- has_or_had_label
|
||||
# MIGRATED from budget_status to has_or_had_status (Rule 53)
|
||||
|
|
@ -209,13 +214,33 @@ classes:
|
|||
examples:
|
||||
- value: 45000000.0
|
||||
description: EUR 45 million annual budget
|
||||
budget_currency:
|
||||
range: string
|
||||
# REMOVED - migrated to has_or_had_currency (Rule 53)
|
||||
# budget_currency:
|
||||
# range: string
|
||||
# required: true
|
||||
# examples:
|
||||
# - value: EUR
|
||||
# description: Euro currency
|
||||
# - value: USD
|
||||
# description: US Dollar currency
|
||||
has_or_had_currency:
|
||||
range: Currency
|
||||
inlined: true
|
||||
required: true
|
||||
description: >-
|
||||
Currency for all monetary amounts in this budget.
|
||||
MIGRATED from budget_currency (Rule 53) - changed from string to
|
||||
Currency class for richer currency metadata (ISO 4217 code, symbol, name).
|
||||
examples:
|
||||
- value: EUR
|
||||
description: Euro currency
|
||||
- value: USD
|
||||
- value:
|
||||
currency_code: EUR
|
||||
has_or_had_label: Euro
|
||||
currency_symbol: €
|
||||
description: Euro currency as structured Currency object
|
||||
- value:
|
||||
currency_code: USD
|
||||
has_or_had_label: US Dollar
|
||||
currency_symbol: $
|
||||
description: US Dollar currency
|
||||
operating_budget:
|
||||
range: decimal
|
||||
|
|
@ -250,9 +275,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:
|
||||
|
|
@ -324,7 +352,10 @@ classes:
|
|||
fiscal_year_start: '2024-01-01'
|
||||
fiscal_year_end: '2024-12-31'
|
||||
total_budget_amount: 45000000.0
|
||||
budget_currency: EUR
|
||||
has_or_had_currency:
|
||||
currency_code: EUR
|
||||
has_or_had_label: Euro
|
||||
currency_symbol: €
|
||||
operating_budget: 38000000.0
|
||||
capital_budget: 3000000.0
|
||||
acquisition_budget: 2000000.0
|
||||
|
|
@ -336,7 +367,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'
|
||||
|
|
@ -352,7 +384,10 @@ classes:
|
|||
fiscal_year_start: '2024-04-01'
|
||||
fiscal_year_end: '2025-03-31'
|
||||
total_budget_amount: 8500000.0
|
||||
budget_currency: EUR
|
||||
has_or_had_currency:
|
||||
currency_code: EUR
|
||||
has_or_had_label: Euro
|
||||
currency_symbol: €
|
||||
operating_budget: 7500000.0
|
||||
capital_budget: 500000.0
|
||||
personnel_budget: 5200000.0
|
||||
|
|
@ -360,7 +395,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'
|
||||
|
|
|
|||
|
|
@ -0,0 +1,189 @@
|
|||
# ConversionRate - Structured conversion rate measurement
|
||||
# Created per slot_fixes.yaml migration for: visitor_conversion_rate
|
||||
# Creation date: 2026-01-14
|
||||
#
|
||||
# REVISION FROM slot_fixes.yaml (lines 1646-1669):
|
||||
# - label: has_or_had_conversion_rate (slot)
|
||||
# - label: ConversionRate (class) ← THIS FILE
|
||||
# - link_branch 1: has_or_had_type → ConversionRateType → ConversionRateTypes
|
||||
# - link_branch 2: temporal_extent → TimeSpan
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/ConversionRate
|
||||
name: ConversionRate
|
||||
title: ConversionRate
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ./ConversionRateType
|
||||
- ./ConversionRateTypes
|
||||
- ./TimeSpan
|
||||
- ../slots/has_or_had_type
|
||||
- ../slots/temporal_extent
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
ConversionRate:
|
||||
description: >-
|
||||
Structured representation of a conversion rate metric for heritage institutions.
|
||||
|
||||
**WHY A DEDICATED CLASS?**
|
||||
|
||||
Conversion rates are more than simple floats - they need:
|
||||
- **Type**: What kind of conversion (visitor-to-purchase, visitor-to-member)
|
||||
- **Value**: The actual percentage (0.35 = 35%)
|
||||
- **Time Period**: When this rate was measured
|
||||
- **Context**: Comparison benchmarks, notes
|
||||
|
||||
**SLOT_FIXES.YAML REVISION** (lines 1646-1669):
|
||||
- Branch 1: has_or_had_type → ConversionRateType/ConversionRateTypes
|
||||
- Branch 2: temporal_extent → TimeSpan (measurement period)
|
||||
|
||||
**USE CASES**:
|
||||
- Gift shop performance: 35% visitor-to-purchase conversion
|
||||
- Membership drives: 5% visitor-to-member conversion
|
||||
- Digital engagement: 3% website-to-visit conversion
|
||||
|
||||
**ONTOLOGY MAPPING**:
|
||||
- class_uri: schema:QuantitativeValue (numeric measurement)
|
||||
- Uses schema:interactionStatistic for behavioral metrics
|
||||
|
||||
class_uri: schema:QuantitativeValue
|
||||
|
||||
exact_mappings:
|
||||
- schema:QuantitativeValue
|
||||
|
||||
close_mappings:
|
||||
- schema:interactionStatistic
|
||||
|
||||
slots:
|
||||
- has_or_had_type
|
||||
- temporal_extent
|
||||
|
||||
attributes:
|
||||
rate_value:
|
||||
range: float
|
||||
required: true
|
||||
description: >-
|
||||
The conversion rate as a decimal (0.35 = 35%).
|
||||
Always expressed as proportion between 0.0 and 1.0.
|
||||
minimum_value: 0.0
|
||||
maximum_value: 1.0
|
||||
|
||||
rate_percentage:
|
||||
range: float
|
||||
description: >-
|
||||
The conversion rate as a percentage (35 = 35%).
|
||||
Calculated field: rate_value × 100.
|
||||
minimum_value: 0.0
|
||||
maximum_value: 100.0
|
||||
|
||||
sample_size:
|
||||
range: integer
|
||||
description: >-
|
||||
The number of observations in the denominator (total visitors, emails sent, etc.).
|
||||
Required for statistical significance assessment.
|
||||
|
||||
converted_count:
|
||||
range: integer
|
||||
description: >-
|
||||
The number of successful conversions (numerator).
|
||||
Required for statistical significance assessment.
|
||||
|
||||
measurement_period_description:
|
||||
range: string
|
||||
description: >-
|
||||
Human-readable description of the measurement period.
|
||||
Examples: "Q1 2025", "Calendar Year 2024", "Exhibition period"
|
||||
|
||||
benchmark_comparison:
|
||||
range: string
|
||||
description: >-
|
||||
How this rate compares to industry benchmarks.
|
||||
Examples: "Above average", "Top quartile", "Below benchmark"
|
||||
|
||||
notes:
|
||||
range: string
|
||||
description: >-
|
||||
Additional context about this conversion rate measurement.
|
||||
Examples: Special circumstances, data collection methodology.
|
||||
|
||||
slot_usage:
|
||||
has_or_had_type:
|
||||
range: ConversionRateType
|
||||
inlined: true
|
||||
description: >-
|
||||
The type of conversion being measured.
|
||||
Use concrete types from ConversionRateTypes (VisitorToPurchaseConversion, etc.)
|
||||
examples:
|
||||
- value: |
|
||||
has_or_had_type:
|
||||
type_label: "Visitor to Purchase"
|
||||
source_population: "museum visitors"
|
||||
target_action: "made gift shop purchase"
|
||||
description: Visitor to purchase conversion type
|
||||
|
||||
temporal_extent:
|
||||
range: TimeSpan
|
||||
inlined: true
|
||||
description: >-
|
||||
The time period during which this conversion rate was measured.
|
||||
Use begin/end dates to specify the measurement window.
|
||||
examples:
|
||||
- value: |
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2024-01-01"
|
||||
end_of_the_end: "2024-12-31"
|
||||
description: Calendar year 2024 measurement period
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Conversion rates applicable to all custodian types with retail or engagement.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.45
|
||||
specificity_rationale: >-
|
||||
Moderate specificity - relevant to custodians tracking performance metrics.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
ConversionRate:
|
||||
rate_value: 0.35
|
||||
rate_percentage: 35.0
|
||||
sample_size: 500000
|
||||
converted_count: 175000
|
||||
has_or_had_type:
|
||||
type_label: "Visitor to Purchase"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2024-01-01"
|
||||
end_of_the_end: "2024-12-31"
|
||||
measurement_period_description: "Calendar Year 2024"
|
||||
benchmark_comparison: "Above average (industry avg 15-25%)"
|
||||
description: Gift shop 35% visitor-to-purchase conversion rate.
|
||||
|
||||
- value: |
|
||||
ConversionRate:
|
||||
rate_value: 0.05
|
||||
rate_percentage: 5.0
|
||||
sample_size: 100000
|
||||
converted_count: 5000
|
||||
has_or_had_type:
|
||||
type_label: "Visitor to Member"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2024-06-01"
|
||||
end_of_the_end: "2024-08-31"
|
||||
measurement_period_description: "Summer membership drive"
|
||||
benchmark_comparison: "Strong (industry avg 1-3%)"
|
||||
description: Summer membership campaign with 5% conversion.
|
||||
|
||||
comments:
|
||||
- Created from slot_fixes.yaml migration (2026-01-14)
|
||||
- Replaces simple float visitor_conversion_rate slot
|
||||
- Supports multiple conversion types with industry benchmarks
|
||||
- Temporal extent enables trend analysis over time
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
# ConversionRateType - Abstract base class for conversion rate types
|
||||
# Created per slot_fixes.yaml migration for: visitor_conversion_rate
|
||||
# Creation date: 2026-01-14
|
||||
#
|
||||
# NAMING CONVENTION (Rule 0b):
|
||||
# - ConversionRateType.yaml = Abstract base class (this file)
|
||||
# - ConversionRateTypes.yaml = Concrete subclasses
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/ConversionRateType
|
||||
name: ConversionRateType
|
||||
title: ConversionRateType
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
ConversionRateType:
|
||||
abstract: true
|
||||
description: >-
|
||||
Abstract base class for types of conversion rates measured in heritage contexts.
|
||||
|
||||
**TYPE TAXONOMY**:
|
||||
|
||||
Conversion rates measure the percentage of one group that performs a specific action:
|
||||
- **Visitor to Purchase**: Museum visitors who buy from gift shop
|
||||
- **Visitor to Member**: Visitors who become members
|
||||
- **Online to Visit**: Website visitors who visit physically
|
||||
- **Email to Click**: Email recipients who click links
|
||||
- **Social to Follower**: Social media viewers who follow
|
||||
|
||||
**NAMING CONVENTION** (Rule 0b):
|
||||
- This file: Abstract `ConversionRateType` base class
|
||||
- ConversionRateTypes.yaml: Concrete subclasses
|
||||
|
||||
**ONTOLOGY MAPPING**:
|
||||
- class_uri: skos:Concept (type taxonomy concept)
|
||||
- Part of SKOS-based classification scheme
|
||||
|
||||
class_uri: skos:Concept
|
||||
|
||||
exact_mappings:
|
||||
- skos:Concept
|
||||
|
||||
attributes:
|
||||
type_id:
|
||||
range: uriorcurie
|
||||
identifier: true
|
||||
description: Unique identifier for this conversion rate type.
|
||||
|
||||
type_label:
|
||||
range: string
|
||||
required: true
|
||||
description: Human-readable label for this conversion rate type.
|
||||
|
||||
type_description:
|
||||
range: string
|
||||
description: Detailed description of what this conversion rate measures.
|
||||
|
||||
source_population:
|
||||
range: string
|
||||
description: >-
|
||||
The group being measured (denominator).
|
||||
Examples: "museum visitors", "website visitors", "email recipients"
|
||||
|
||||
target_action:
|
||||
range: string
|
||||
description: >-
|
||||
The action being measured (numerator).
|
||||
Examples: "made purchase", "became member", "clicked link"
|
||||
|
||||
industry_benchmark_low:
|
||||
range: float
|
||||
description: Low end of industry benchmark for this conversion type.
|
||||
|
||||
industry_benchmark_high:
|
||||
range: float
|
||||
description: High end of industry benchmark for this conversion type.
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Conversion rate types applicable to all custodian types with retail or engagement metrics.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.45
|
||||
specificity_rationale: >-
|
||||
Moderate specificity - relevant to custodians tracking performance metrics.
|
||||
|
||||
comments:
|
||||
- Created from slot_fixes.yaml migration (2026-01-14)
|
||||
- Abstract base class - see ConversionRateTypes.yaml for concrete types
|
||||
- Used with ConversionRate class for structured metrics
|
||||
|
|
@ -0,0 +1,218 @@
|
|||
# ConversionRateTypes - Concrete subclasses of ConversionRateType
|
||||
# Created per slot_fixes.yaml migration for: visitor_conversion_rate
|
||||
# Creation date: 2026-01-14
|
||||
#
|
||||
# NAMING CONVENTION (Rule 0b):
|
||||
# - ConversionRateType.yaml = Abstract base class
|
||||
# - ConversionRateTypes.yaml = Concrete subclasses (this file)
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/ConversionRateTypes
|
||||
name: ConversionRateTypes
|
||||
title: ConversionRateTypes
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ./ConversionRateType
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
VisitorToPurchaseConversion:
|
||||
is_a: ConversionRateType
|
||||
description: >-
|
||||
Conversion rate measuring museum/archive visitors who make a gift shop purchase.
|
||||
|
||||
**INDUSTRY BENCHMARKS**:
|
||||
- Average: 15-25%
|
||||
- High performers: 30-40%
|
||||
- Blockbuster exhibitions: 40-60%
|
||||
|
||||
**CALCULATION**: (Purchasers / Total Visitors) × 100
|
||||
|
||||
class_uri: hc:VisitorToPurchaseConversion
|
||||
|
||||
attributes:
|
||||
type_label:
|
||||
range: string
|
||||
ifabsent: "string(Visitor to Purchase)"
|
||||
source_population:
|
||||
range: string
|
||||
ifabsent: "string(museum/venue visitors)"
|
||||
target_action:
|
||||
range: string
|
||||
ifabsent: "string(made gift shop purchase)"
|
||||
industry_benchmark_low:
|
||||
range: float
|
||||
ifabsent: "float(0.15)"
|
||||
industry_benchmark_high:
|
||||
range: float
|
||||
ifabsent: "float(0.40)"
|
||||
|
||||
VisitorToMemberConversion:
|
||||
is_a: ConversionRateType
|
||||
description: >-
|
||||
Conversion rate measuring visitors who become members/supporters.
|
||||
|
||||
**INDUSTRY BENCHMARKS**:
|
||||
- Average: 1-3%
|
||||
- Strong programs: 5-8%
|
||||
|
||||
**CALCULATION**: (New Members / Total Visitors) × 100
|
||||
|
||||
class_uri: hc:VisitorToMemberConversion
|
||||
|
||||
attributes:
|
||||
type_label:
|
||||
range: string
|
||||
ifabsent: "string(Visitor to Member)"
|
||||
source_population:
|
||||
range: string
|
||||
ifabsent: "string(museum/venue visitors)"
|
||||
target_action:
|
||||
range: string
|
||||
ifabsent: "string(became member/supporter)"
|
||||
industry_benchmark_low:
|
||||
range: float
|
||||
ifabsent: "float(0.01)"
|
||||
industry_benchmark_high:
|
||||
range: float
|
||||
ifabsent: "float(0.08)"
|
||||
|
||||
OnlineToPhysicalConversion:
|
||||
is_a: ConversionRateType
|
||||
description: >-
|
||||
Conversion rate measuring website visitors who subsequently visit physically.
|
||||
|
||||
**INDUSTRY BENCHMARKS**:
|
||||
- Average: 0.5-2%
|
||||
- Strong digital presence: 3-5%
|
||||
|
||||
**CALCULATION**: (Physical Visits from Web / Website Visitors) × 100
|
||||
|
||||
class_uri: hc:OnlineToPhysicalConversion
|
||||
|
||||
attributes:
|
||||
type_label:
|
||||
range: string
|
||||
ifabsent: "string(Online to Physical Visit)"
|
||||
source_population:
|
||||
range: string
|
||||
ifabsent: "string(website visitors)"
|
||||
target_action:
|
||||
range: string
|
||||
ifabsent: "string(visited venue physically)"
|
||||
industry_benchmark_low:
|
||||
range: float
|
||||
ifabsent: "float(0.005)"
|
||||
industry_benchmark_high:
|
||||
range: float
|
||||
ifabsent: "float(0.05)"
|
||||
|
||||
EmailToClickConversion:
|
||||
is_a: ConversionRateType
|
||||
description: >-
|
||||
Conversion rate measuring email recipients who click through.
|
||||
|
||||
**INDUSTRY BENCHMARKS** (Museum sector):
|
||||
- Average: 2-4%
|
||||
- Well-targeted: 5-10%
|
||||
|
||||
**CALCULATION**: (Clicks / Emails Delivered) × 100
|
||||
|
||||
class_uri: hc:EmailToClickConversion
|
||||
|
||||
attributes:
|
||||
type_label:
|
||||
range: string
|
||||
ifabsent: "string(Email to Click)"
|
||||
source_population:
|
||||
range: string
|
||||
ifabsent: "string(email recipients)"
|
||||
target_action:
|
||||
range: string
|
||||
ifabsent: "string(clicked link in email)"
|
||||
industry_benchmark_low:
|
||||
range: float
|
||||
ifabsent: "float(0.02)"
|
||||
industry_benchmark_high:
|
||||
range: float
|
||||
ifabsent: "float(0.10)"
|
||||
|
||||
SocialToFollowerConversion:
|
||||
is_a: ConversionRateType
|
||||
description: >-
|
||||
Conversion rate measuring social media viewers who become followers.
|
||||
|
||||
**INDUSTRY BENCHMARKS**:
|
||||
- Average: 1-3%
|
||||
- Viral content: 5-15%
|
||||
|
||||
**CALCULATION**: (New Followers / Content Views) × 100
|
||||
|
||||
class_uri: hc:SocialToFollowerConversion
|
||||
|
||||
attributes:
|
||||
type_label:
|
||||
range: string
|
||||
ifabsent: "string(Social to Follower)"
|
||||
source_population:
|
||||
range: string
|
||||
ifabsent: "string(social media content viewers)"
|
||||
target_action:
|
||||
range: string
|
||||
ifabsent: "string(became follower)"
|
||||
industry_benchmark_low:
|
||||
range: float
|
||||
ifabsent: "float(0.01)"
|
||||
industry_benchmark_high:
|
||||
range: float
|
||||
ifabsent: "float(0.15)"
|
||||
|
||||
TicketToReturnConversion:
|
||||
is_a: ConversionRateType
|
||||
description: >-
|
||||
Conversion rate measuring ticket buyers who return for another visit.
|
||||
|
||||
**INDUSTRY BENCHMARKS**:
|
||||
- Average: 20-30%
|
||||
- Strong loyalty programs: 40-60%
|
||||
|
||||
**CALCULATION**: (Return Visitors / Total Ticket Buyers) × 100
|
||||
|
||||
class_uri: hc:TicketToReturnConversion
|
||||
|
||||
attributes:
|
||||
type_label:
|
||||
range: string
|
||||
ifabsent: "string(Ticket to Return Visit)"
|
||||
source_population:
|
||||
range: string
|
||||
ifabsent: "string(ticket buyers)"
|
||||
target_action:
|
||||
range: string
|
||||
ifabsent: "string(made return visit within 12 months)"
|
||||
industry_benchmark_low:
|
||||
range: float
|
||||
ifabsent: "float(0.20)"
|
||||
industry_benchmark_high:
|
||||
range: float
|
||||
ifabsent: "float(0.60)"
|
||||
|
||||
OtherConversion:
|
||||
is_a: ConversionRateType
|
||||
description: >-
|
||||
Custom or other conversion rate type not covered by standard types.
|
||||
Use this when tracking novel metrics or institution-specific conversions.
|
||||
|
||||
class_uri: hc:OtherConversion
|
||||
|
||||
attributes:
|
||||
custom_type_name:
|
||||
range: string
|
||||
description: Name of the custom conversion type.
|
||||
|
|
@ -0,0 +1,173 @@
|
|||
id: https://nde.nl/ontology/hc/class/Currency
|
||||
name: Currency
|
||||
title: Currency Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
qudt: http://qudt.org/schema/qudt/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../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:
|
||||
Currency:
|
||||
class_uri: schema:Currency
|
||||
description: >-
|
||||
A currency used for monetary values.
|
||||
|
||||
**SCHEMA.ORG ALIGNMENT**:
|
||||
|
||||
Maps to `schema:Currency` - "A currency as defined by ISO 4217."
|
||||
|
||||
**ISO 4217 STANDARD**:
|
||||
|
||||
ISO 4217 defines three-letter currency codes:
|
||||
|
||||
| Code | Currency | Symbol |
|
||||
|------|----------|--------|
|
||||
| EUR | Euro | € |
|
||||
| USD | US Dollar | $ |
|
||||
| GBP | British Pound | £ |
|
||||
| JPY | Japanese Yen | ¥ |
|
||||
| CHF | Swiss Franc | CHF |
|
||||
|
||||
**WHY NOT JUST USE STRING?**
|
||||
|
||||
Simple string fields like `budget_currency: "EUR"` lose important context:
|
||||
- Symbol for display purposes
|
||||
- Full name for accessibility
|
||||
- Historical validity (currencies change over time)
|
||||
- Link to authoritative ISO 4217 standard
|
||||
|
||||
The Currency class captures this richness while remaining simple for basic use.
|
||||
|
||||
**HISTORICAL CURRENCIES**:
|
||||
|
||||
Heritage institutions often deal with historical currencies:
|
||||
- NLG (Dutch Guilder) - replaced by EUR in 2002
|
||||
- DEM (German Mark) - replaced by EUR in 2002
|
||||
- FRF (French Franc) - replaced by EUR in 2002
|
||||
|
||||
The temporal naming pattern (has_or_had_currency) accommodates this.
|
||||
|
||||
**EXAMPLE**:
|
||||
|
||||
```yaml
|
||||
Currency:
|
||||
currency_code: EUR
|
||||
currency_name: Euro
|
||||
currency_symbol: €
|
||||
```
|
||||
exact_mappings:
|
||||
- schema:Currency
|
||||
close_mappings:
|
||||
- qudt:CurrencyUnit
|
||||
slots:
|
||||
- has_or_had_identifier
|
||||
- currency_code
|
||||
- has_or_had_label
|
||||
- currency_symbol
|
||||
- has_or_had_description
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
slot_usage:
|
||||
has_or_had_identifier:
|
||||
range: uriorcurie
|
||||
required: false
|
||||
identifier: true
|
||||
description: >-
|
||||
Optional identifier for this currency.
|
||||
examples:
|
||||
- value: https://nde.nl/ontology/hc/currency/EUR
|
||||
description: Euro currency identifier
|
||||
currency_code:
|
||||
range: string
|
||||
required: true
|
||||
pattern: "^[A-Z]{3}$"
|
||||
description: >-
|
||||
ISO 4217 three-letter currency code.
|
||||
examples:
|
||||
- value: EUR
|
||||
description: Euro
|
||||
- value: USD
|
||||
description: US Dollar
|
||||
- value: GBP
|
||||
description: British Pound
|
||||
- value: NLG
|
||||
description: Dutch Guilder (historical)
|
||||
has_or_had_label:
|
||||
range: string
|
||||
required: false
|
||||
description: >-
|
||||
Full name of the currency.
|
||||
examples:
|
||||
- value: Euro
|
||||
- value: US Dollar
|
||||
- value: Dutch Guilder
|
||||
currency_symbol:
|
||||
range: string
|
||||
required: false
|
||||
description: >-
|
||||
Currency symbol for display.
|
||||
examples:
|
||||
- value: €
|
||||
description: Euro symbol
|
||||
- value: $
|
||||
description: Dollar symbol
|
||||
- value: £
|
||||
description: Pound symbol
|
||||
- value: ƒ
|
||||
description: Guilder symbol (historical)
|
||||
has_or_had_description:
|
||||
range: string
|
||||
required: false
|
||||
description: >-
|
||||
Additional information about the currency, such as historical context.
|
||||
examples:
|
||||
- value: Official currency of the Eurozone since 1999
|
||||
- value: Dutch national currency until replaced by Euro in 2002
|
||||
comments:
|
||||
- Currency models monetary unit with ISO 4217 code and metadata
|
||||
- Replaces simple string currency fields with structured data
|
||||
- Uses Schema.org Currency as primary ontology mapping
|
||||
- Supports both current and historical currencies
|
||||
see_also:
|
||||
- https://schema.org/Currency
|
||||
- https://www.iso.org/iso-4217-currency-codes.html
|
||||
examples:
|
||||
- value:
|
||||
currency_code: EUR
|
||||
has_or_had_label: Euro
|
||||
currency_symbol: €
|
||||
has_or_had_description: Official currency of the Eurozone
|
||||
description: Euro currency
|
||||
- value:
|
||||
currency_code: NLG
|
||||
has_or_had_label: Dutch Guilder
|
||||
currency_symbol: ƒ
|
||||
has_or_had_description: Dutch national currency until replaced by Euro in 2002
|
||||
description: Historical Dutch Guilder
|
||||
- value:
|
||||
currency_code: USD
|
||||
has_or_had_label: US Dollar
|
||||
currency_symbol: $
|
||||
description: US Dollar currency
|
||||
slots:
|
||||
currency_code:
|
||||
description: >-
|
||||
ISO 4217 three-letter currency code.
|
||||
range: string
|
||||
slot_uri: schema:currency
|
||||
currency_symbol:
|
||||
description: >-
|
||||
Currency symbol for display purposes.
|
||||
range: string
|
||||
slot_uri: hc:currencySymbol
|
||||
|
|
@ -27,7 +27,7 @@ imports:
|
|||
- ./Notes
|
||||
- ../slots/has_archive_description
|
||||
- ../slots/has_archive_name
|
||||
- ../slots/arrangement_notes
|
||||
# REMOVED 2026-01-15: ../slots/arrangement_notes - migrated to has_arrangement_note
|
||||
- ../slots/has_or_had_assigned_processor
|
||||
- ../slots/creating_agency
|
||||
- ../slots/has_or_had_custodian_type
|
||||
|
|
@ -79,7 +79,6 @@ classes:
|
|||
- has_or_had_notes
|
||||
- has_archive_description
|
||||
- has_archive_name
|
||||
- arrangement_notes
|
||||
- has_or_had_assigned_processor
|
||||
- creating_agency
|
||||
- has_or_had_custodian_type
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -0,0 +1,148 @@
|
|||
# Description class
|
||||
# Generic class for typed descriptions with language support
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 0 (LinkML single source of truth), 38 (slot centralization), 53 (slot_fixes.yaml authoritative)
|
||||
# Migration: Supports has_or_had_description slot (replaces binding_description, branch_description, etc.)
|
||||
#
|
||||
# This class supports 11 slot migrations per slot_fixes.yaml:
|
||||
# - binding_description
|
||||
# - branch_description
|
||||
# - branch_office_description
|
||||
# - budget_description
|
||||
# - zone_description
|
||||
# - warehouse_description
|
||||
# - unit_description
|
||||
# - type_description
|
||||
# - treatment_description (partial)
|
||||
# - transfer_location_text (partial)
|
||||
# - transfer_location (partial)
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/Description
|
||||
name: description_class
|
||||
title: Description Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
rdfs: http://www.w3.org/2000/01/rdf-schema#
|
||||
schema: http://schema.org/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/description_text
|
||||
- ../slots/description_type
|
||||
- ../slots/language
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
|
||||
classes:
|
||||
Description:
|
||||
class_uri: dcterms:description
|
||||
description: |
|
||||
A typed description with optional language tagging and type metadata.
|
||||
|
||||
**Purpose**:
|
||||
Description provides a reusable class for representing textual descriptions
|
||||
across the heritage custodian schema. Supports typed descriptions (binding,
|
||||
branch, budget, zone, etc.) with language tagging.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary**: `dcterms:description` - Dublin Core description
|
||||
- **Close**: `skos:definition` - formal definition
|
||||
- **Related**: `schema:description` - Schema.org description
|
||||
|
||||
**Use Cases**:
|
||||
- Binding descriptions for physical carriers
|
||||
- Branch/office descriptions for organizational units
|
||||
- Budget descriptions for financial records
|
||||
- Zone/warehouse descriptions for storage facilities
|
||||
- Type descriptions for classification explanations
|
||||
|
||||
**Replaces** (per slot_fixes.yaml):
|
||||
- `binding_description` (string)
|
||||
- `branch_description` (string)
|
||||
- `branch_office_description` (string)
|
||||
- `budget_description` (string)
|
||||
- `zone_description` (string)
|
||||
- `warehouse_description` (string)
|
||||
- `unit_description` (string)
|
||||
- `type_description` (string)
|
||||
|
||||
exact_mappings:
|
||||
- dcterms:description
|
||||
|
||||
close_mappings:
|
||||
- skos:definition
|
||||
- rdfs:comment
|
||||
|
||||
related_mappings:
|
||||
- schema:description
|
||||
|
||||
slots:
|
||||
- description_text
|
||||
- description_type
|
||||
- language
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
|
||||
slot_usage:
|
||||
description_text:
|
||||
description: |
|
||||
The textual content of the description.
|
||||
range: string
|
||||
required: true
|
||||
description_type:
|
||||
description: |
|
||||
The type of description (binding, branch, budget, zone, warehouse, unit, type, general).
|
||||
This allows distinguishing different kinds of descriptions when multiple
|
||||
apply to the same entity.
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: binding
|
||||
description: Physical binding description
|
||||
- value: branch
|
||||
description: Organizational branch description
|
||||
- value: budget
|
||||
description: Budget category description
|
||||
- value: zone
|
||||
description: Storage zone description
|
||||
language:
|
||||
description: |
|
||||
ISO 639-1 two-letter language code for this description.
|
||||
Examples: "en", "nl", "de", "fr"
|
||||
range: string
|
||||
required: false
|
||||
pattern: "^[a-z]{2}$"
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Generic description class applicable to all custodian types.
|
||||
custodian_types_primary: null
|
||||
specificity_score: 0.2
|
||||
specificity_rationale: Very broadly applicable generic class for textual descriptions.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
description_text: "Climate-controlled storage zone with dedicated HVAC for archival materials. Maintains 65°F and 35% RH."
|
||||
description_type: zone
|
||||
language: en
|
||||
description: "Zone description for archival storage facility"
|
||||
- value: |
|
||||
description_text: "Quarter leather binding with marbled boards, spine with five raised bands and gilt titling."
|
||||
description_type: binding
|
||||
language: en
|
||||
description: "Binding description for a rare book"
|
||||
- value: |
|
||||
description_text: "Regional branch serving Noord-Holland province with specialized genealogy and notarial collections."
|
||||
description_type: branch
|
||||
language: en
|
||||
description: "Branch description for organizational unit"
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -44,38 +44,46 @@ imports:
|
|||
classes:
|
||||
EnvironmentalZone:
|
||||
class_uri: hc:EnvironmentalZone
|
||||
description: "A climate-controlled area within a storage facility with specific\nenvironmental parameters (temperature,\
|
||||
\ relative humidity, light levels,\nair quality).\n\n**DEFINITION**:\n\nAn EnvironmentalZone represents a physically\
|
||||
\ distinct area within a\nstorage facility that maintains specific environmental conditions.\nDifferent collection types\
|
||||
\ require different zones based on their\nmaterial composition and preservation requirements.\n\nExamples include:\n\
|
||||
- Climate-controlled archive rooms (18°C, 50% RH)\n- Cold storage vaults for film (-5°C to +4°C)\n- Photographic materials\
|
||||
\ storage (15°C, 35% RH)\n- Textile storage (stable RH, low light)\n- General collection storage (ambient controlled)\n\
|
||||
\n**Wikidata Alignment**:\n- Q1759899 (climate control)\n\n**HC Ontology Extension (hc-storage.ttl)**:\n\nPrimary class:\
|
||||
\ `hc:EnvironmentalZone` (subclass of `crm:E27_Site`)\n\nThe HC ontology provides environmental preset instances:\n\
|
||||
- `hc:StandardArchiveEnvironment` - 18°C, 50% RH, 50 lux\n- `hc:PhotographicMaterialsEnvironment` - 15°C, 35% RH\n-\
|
||||
\ `hc:ColdStorageEnvironment` - -5°C, 30% RH\n- `hc:TextileStorageEnvironment` - 18°C, 50% RH, 15000 lux-hours/year\n\
|
||||
\nKey HC properties for zones:\n- `hc:hasStorageSection` - Links zone to storage units\n- `hc:hasEnvironmentalRequirement`\
|
||||
\ - Links to climate specs\n- `hc:meetsRequirement` - Indicates compliance\n- `hc:hasEnvironmentalObservation` - Links\
|
||||
\ to sensor readings\n- `hc:monitoredByPlatform` - Links to sensor systems\n\n**SOSA/SSN Integration**:\n\nEnvironmental\
|
||||
\ zones can be monitored using sensor networks:\n- Zone is a `sosa:FeatureOfInterest`\n- Observations are `hc:StorageEnvironmentObservation`\n\
|
||||
- Sensors are hosted on `hc:EnvironmentalSensorPlatform`\n\nSee: `frontend/public/ontology/hc-storage.ttl`\n\n**CIDOC-CRM\
|
||||
\ Alignment (v7.1.3)**:\n\nBase class: `crm:E27_Site` - Zones are physical locations.\n\nHierarchy:\n```\nStorageFacility\
|
||||
\ (hc:StorageFacility)\n └── P59 has_section → EnvironmentalZone (hc:EnvironmentalZone)\n ├── hc:hasEnvironmentalRequirement\
|
||||
\ → EnvironmentalRequirement\n ├── hc:hasEnvironmentalObservation → StorageEnvironmentObservation[]\n \
|
||||
\ └── P59 has_section → StorageUnit[]\n```\n\n**RELATIONSHIP TO OTHER CLASSES**:\n\n```\nStorage (facility)\n │\n \
|
||||
\ └── has_section → EnvironmentalZone[] (THIS CLASS)\n │\n ├── has_or_had_type (EnvironmentalZoneType - class\
|
||||
\ hierarchy)\n ├── environmental_requirement → StorageConditionPolicy\n ├── observations → StorageCondition[]\n\
|
||||
\ ├── monitoring_platform (sensor system info)\n │\n └── has_section → StorageUnit[]\n \
|
||||
\ └── stores_objects → HeritageObject[]\n```\n\n**ENVIRONMENTAL STANDARDS REFERENCE**:\n\n| Material Type | Temperature\
|
||||
\ | RH | Light | Standard |\n|---------------|------------|-----|-------|----------|\n| Paper/archives | 16-20°C | 45-55%\
|
||||
\ | <50 lux | ISO 11799 |\n| Photographs | 10-18°C | 30-40% | <50 lux | ISO 18934 |\n| Film (B&W) | -5°C | 30% | dark\
|
||||
\ | ISO 18911 |\n| Film (color) | -20°C | 30% | dark | ISO 18911 |\n| Textiles | 15-20°C | 45-55% | <50 lux | varies\
|
||||
\ |\n| Metals | 15-25°C | <35% | varies | varies |\n\n**USE CASES**:\n\n1. **Standard Archive Zone**:\n - zone_type:\
|
||||
\ ARCHIVE_STANDARD\n - target_temperature: 18°C\n - target_humidity: 50%\n - max_light: 50 lux\n - environmental_requirement:\
|
||||
\ hc:StandardArchiveEnvironment\n \n2. **Cold Storage Vault**:\n - zone_type: COLD_STORAGE\n - target_temperature:\
|
||||
\ -5°C\n - target_humidity: 30%\n - environmental_requirement: hc:ColdStorageEnvironment\n \n3. **Photographic\
|
||||
\ Materials Zone**:\n - zone_type: PHOTOGRAPHIC\n - target_temperature: 15°C\n - target_humidity: 35%\n - max_light:\
|
||||
\ 50 lux\n"
|
||||
description: >-
|
||||
A climate-controlled area within a storage facility with specific
|
||||
environmental parameters (temperature, relative humidity, light levels,
|
||||
air quality).
|
||||
|
||||
DEFINITION:
|
||||
An EnvironmentalZone represents a physically distinct area within a
|
||||
storage facility that maintains specific environmental conditions.
|
||||
Different collection types require different zones based on their
|
||||
material composition and preservation requirements.
|
||||
|
||||
Examples include climate-controlled archive rooms (18C, 50% RH),
|
||||
cold storage vaults for film (-5C to +4C), photographic materials
|
||||
storage (15C, 35% RH), textile storage (stable RH, low light),
|
||||
and general collection storage (ambient controlled).
|
||||
|
||||
Wikidata Alignment: Q1759899 (climate control).
|
||||
|
||||
HC Ontology Extension (hc-storage.ttl):
|
||||
Primary class hc:EnvironmentalZone (subclass of crm:E27_Site).
|
||||
Provides environmental preset instances including
|
||||
hc:StandardArchiveEnvironment (18C, 50% RH, 50 lux),
|
||||
hc:PhotographicMaterialsEnvironment (15C, 35% RH),
|
||||
hc:ColdStorageEnvironment (-5C, 30% RH),
|
||||
hc:TextileStorageEnvironment (18C, 50% RH, 15000 lux-hours/year).
|
||||
|
||||
Key HC properties: hc:hasStorageSection (links zone to storage units),
|
||||
hc:hasEnvironmentalRequirement (links to climate specs),
|
||||
hc:meetsRequirement (indicates compliance),
|
||||
hc:hasEnvironmentalObservation (links to sensor readings),
|
||||
hc:monitoredByPlatform (links to sensor systems).
|
||||
|
||||
SOSA/SSN Integration: Environmental zones can be monitored using
|
||||
sensor networks where Zone is a sosa:FeatureOfInterest,
|
||||
Observations are hc:StorageEnvironmentObservation, and
|
||||
Sensors are hosted on hc:EnvironmentalSensorPlatform.
|
||||
|
||||
CIDOC-CRM Alignment (v7.1.3): Base class crm:E27_Site - Zones are
|
||||
physical locations. StorageFacility has_section EnvironmentalZone
|
||||
which has_section StorageUnit.
|
||||
exact_mappings:
|
||||
- hc:EnvironmentalZone
|
||||
- crm:E27_Site
|
||||
|
|
|
|||
|
|
@ -45,7 +45,8 @@ imports:
|
|||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ../slots/traveling_venue
|
||||
- ../slots/visitor_count
|
||||
- ../slots/has_or_had_quantity
|
||||
- ./Quantity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
default_prefix: hc
|
||||
|
|
@ -72,7 +73,7 @@ classes:
|
|||
\ for CIDOC-CRM\n fuzzy temporal modeling (begin_of_the_begin, end_of_the_end, etc.)\n\n**Example**:\n\nThe \"Vermeer\"\
|
||||
\ exhibition at Rijksmuseum (Feb 10 - Jun 4, 2023):\n- exhibition_id: https://nde.nl/ontology/hc/exhibition/rijksmuseum-vermeer-2023\n\
|
||||
- exhibition_name: \"Vermeer\"\n- organized_by: [Rijksmuseum, Mauritshuis] (joint organization)\n- start_date: 2023-02-10\n\
|
||||
- end_date: 2023-06-04\n- exhibition_type: BLOCKBUSTER\n- visitor_count: 650000\n- featured_objects: [Girl with a Pearl\
|
||||
- end_date: 2023-06-04\n- exhibition_type: BLOCKBUSTER\n- has_or_had_quantity: (visitor count)\n- featured_objects: [Girl with a Pearl\
|
||||
\ Earring, The Milkmaid, View of Delft]\n- exhibition_catalogs: [Vermeer (2023) catalog]\n"
|
||||
exact_mappings:
|
||||
- schema:ExhibitionEvent
|
||||
|
|
@ -108,7 +109,7 @@ classes:
|
|||
- start_date
|
||||
- template_specificity
|
||||
- traveling_venue
|
||||
- visitor_count
|
||||
- has_or_had_quantity
|
||||
- wikidata_id
|
||||
slot_usage:
|
||||
exhibition_id:
|
||||
|
|
@ -213,12 +214,25 @@ classes:
|
|||
range: EventStatusEnum
|
||||
examples:
|
||||
- value: COMPLETED
|
||||
visitor_count:
|
||||
has_or_had_quantity:
|
||||
required: false
|
||||
range: integer
|
||||
range: Quantity
|
||||
inlined: true
|
||||
description: >-
|
||||
Visitor count for the exhibition. RULE 53: Replaces deprecated
|
||||
visitor_count integer slot with structured Quantity class.
|
||||
examples:
|
||||
- value: 650000
|
||||
description: Vermeer exhibition attendance
|
||||
- value:
|
||||
quantity_value: 650000
|
||||
quantity_type: VISITOR_COUNT
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: VISITOR
|
||||
unit_symbol: "visitors"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2023-02-10T00:00:00Z"
|
||||
end_of_the_end: "2023-06-04T23:59:59Z"
|
||||
has_or_had_description: Vermeer exhibition attendance
|
||||
description: Exhibition visitor count with temporal extent
|
||||
exhibition_url:
|
||||
required: false
|
||||
range: uri
|
||||
|
|
@ -290,7 +304,7 @@ classes:
|
|||
- Links to ExhibitedObject via featured_objects for typed object references
|
||||
- Links to ExhibitionCatalog via exhibition_catalogs for publication metadata
|
||||
- Use exhibition_type to categorize (permanent, temporary, traveling, etc.)
|
||||
- visitor_count tracks attendance for completed exhibitions
|
||||
- RULE 53: has_or_had_quantity replaces deprecated visitor_count for attendance
|
||||
- featured_works (string) retained for backward compatibility; prefer featured_objects
|
||||
see_also:
|
||||
- https://schema.org/ExhibitionEvent
|
||||
|
|
@ -324,7 +338,16 @@ classes:
|
|||
country: NL
|
||||
exhibition_venue: Philips Wing
|
||||
exhibition_status: COMPLETED
|
||||
visitor_count: 650000
|
||||
has_or_had_quantity:
|
||||
quantity_value: 650000
|
||||
quantity_type: VISITOR_COUNT
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: VISITOR
|
||||
unit_symbol: "visitors"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2023-02-10T00:00:00Z"
|
||||
end_of_the_end: "2023-06-04T23:59:59Z"
|
||||
has_or_had_description: Vermeer exhibition attendance
|
||||
exhibition_url: https://www.rijksmuseum.nl/nl/vermeer
|
||||
has_or_had_featured_object:
|
||||
- https://nde.nl/ontology/hc/object/mauritshuis-girl-pearl-earring
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -0,0 +1,73 @@
|
|||
# ExternalWork - External work/services accepted by an institution
|
||||
# Created per slot_fixes.yaml migration for: accepts_or_accepted_external_work
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/ExternalWork
|
||||
name: ExternalWork
|
||||
title: ExternalWork
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
ExternalWork:
|
||||
description: >-
|
||||
External work or services that an institution accepts or commissions.
|
||||
|
||||
**EXAMPLES**:
|
||||
- Conservation work from external specialists
|
||||
- Digitization services
|
||||
- Research collaborations
|
||||
- Restoration projects
|
||||
|
||||
Used with `accepts_or_accepted` slot to indicate what types of
|
||||
external work an institution will accept or commission.
|
||||
|
||||
class_uri: schema:Service
|
||||
|
||||
close_mappings:
|
||||
- schema:Offer
|
||||
|
||||
attributes:
|
||||
work_type:
|
||||
range: string
|
||||
required: true
|
||||
description: >-
|
||||
Type of external work (e.g., "conservation", "digitization", "restoration").
|
||||
|
||||
description:
|
||||
range: string
|
||||
description: >-
|
||||
Description of the external work type.
|
||||
|
||||
requirements:
|
||||
range: string
|
||||
multivalued: true
|
||||
description: >-
|
||||
Requirements or qualifications for external work providers.
|
||||
|
||||
annotations:
|
||||
custodian_types: '["M", "A", "L", "G"]'
|
||||
custodian_types_rationale: >-
|
||||
External work primarily relevant for museums, archives, libraries, galleries.
|
||||
custodian_types_primary: "M"
|
||||
specificity_score: 0.7
|
||||
specificity_rationale: >-
|
||||
High specificity - specific to service acceptance policies.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
ExternalWork:
|
||||
work_type: "conservation"
|
||||
description: "Paper and textile conservation services"
|
||||
requirements:
|
||||
- "Certified conservator"
|
||||
- "Portfolio of previous work"
|
||||
description: Conservation work accepted by archive.
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -34,7 +34,10 @@ imports:
|
|||
- ../slots/temporal_extent
|
||||
- ../slots/valid_from
|
||||
- ../slots/valid_to
|
||||
- ../slots/visitor_conversion_rate
|
||||
- ../slots/has_or_had_conversion_rate
|
||||
- ./ConversionRate
|
||||
- ./ConversionRateType
|
||||
- ./ConversionRateTypes
|
||||
- ../slots/was_derived_from
|
||||
- ../slots/was_generated_by
|
||||
- ./SpecificityAnnotation
|
||||
|
|
@ -125,7 +128,7 @@ classes:
|
|||
- temporal_extent
|
||||
- valid_from
|
||||
- valid_to
|
||||
- visitor_conversion_rate
|
||||
- has_or_had_conversion_rate
|
||||
- was_derived_from
|
||||
- was_generated_by
|
||||
slot_usage:
|
||||
|
|
@ -232,12 +235,22 @@ classes:
|
|||
examples:
|
||||
- value: EUR 5,000,000
|
||||
description: Annual revenue in euros
|
||||
visitor_conversion_rate:
|
||||
range: float
|
||||
has_or_had_conversion_rate:
|
||||
range: ConversionRate
|
||||
inlined: true
|
||||
multivalued: true
|
||||
required: false
|
||||
description: Conversion rate metrics for the gift shop (visitor-to-purchase, visitor-to-member, etc.)
|
||||
examples:
|
||||
- value: 0.35
|
||||
description: 35% conversion rate
|
||||
- value: |
|
||||
has_or_had_conversion_rate:
|
||||
- rate_value: 0.35
|
||||
has_or_had_type:
|
||||
type_label: "Visitor to Purchase"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2024-01-01"
|
||||
end_of_the_end: "2024-12-31"
|
||||
description: 35% visitor-to-purchase conversion rate for calendar year
|
||||
staff_count:
|
||||
range: integer
|
||||
required: false
|
||||
|
|
|
|||
|
|
@ -6,10 +6,12 @@ imports:
|
|||
- ./ReconstructedEntity
|
||||
- ./CustodianObservation
|
||||
- ./ReconstructionActivity
|
||||
- ./Area
|
||||
- ../enums/FeatureTypeEnum
|
||||
- ../slots/has_or_had_architect
|
||||
- ../slots/has_architectural_style
|
||||
- ../slots/building_floor_area_sqm
|
||||
# REMOVED 2026-01-15: ../slots/building_floor_area_sqm - migrated to has_or_had_area + Area (Rule 53)
|
||||
- ../slots/has_or_had_area
|
||||
- ../slots/complex_name
|
||||
- ../slots/condition_status
|
||||
- ../slots/construction_date
|
||||
|
|
@ -78,7 +80,7 @@ classes:
|
|||
slots:
|
||||
- has_or_had_architect
|
||||
- has_architectural_style
|
||||
- building_floor_area_sqm
|
||||
- has_or_had_area
|
||||
- complex_name
|
||||
- condition_status
|
||||
- construction_date
|
||||
|
|
@ -207,11 +209,30 @@ classes:
|
|||
description: Monastery complex
|
||||
- value: Paleis Het Loo ensemble
|
||||
description: Palace complex
|
||||
building_floor_area_sqm:
|
||||
range: float
|
||||
has_or_had_area:
|
||||
description: >-
|
||||
Floor area of the historic building.
|
||||
MIGRATED from building_floor_area_sqm (Rule 53).
|
||||
range: Area
|
||||
inlined: true
|
||||
multivalued: true
|
||||
examples:
|
||||
- value: 450.0
|
||||
description: Building floor area
|
||||
- value:
|
||||
area_value: 450.0
|
||||
has_or_had_unit:
|
||||
unit_type: SQUARE_METER
|
||||
unit_symbol: "m²"
|
||||
has_or_had_label: "Building floor area"
|
||||
description: 450 square meters floor area
|
||||
- value:
|
||||
area_value: 1200.0
|
||||
has_or_had_unit:
|
||||
unit_type: SQUARE_METER
|
||||
unit_symbol: "m²"
|
||||
is_estimate: true
|
||||
measurement_method: "Historical records"
|
||||
has_or_had_label: "Total floor area"
|
||||
description: 1200 square meters (estimated from historical records)
|
||||
current_use:
|
||||
range: string
|
||||
examples:
|
||||
|
|
@ -239,6 +260,7 @@ classes:
|
|||
- Links to FeatureTypeEnum for Wikidata-sourced building classification
|
||||
- Distinguished from CustodianPlace (main headquarters)
|
||||
- May be open to public or used for operations/events
|
||||
- "MIGRATION NOTE: has_or_had_area replaced building_floor_area_sqm (Rule 53)"
|
||||
see_also:
|
||||
- http://vocab.getty.edu/aat/300005425
|
||||
- https://schema.org/LandmarksOrHistoricalBuildings
|
||||
|
|
@ -252,12 +274,18 @@ classes:
|
|||
feature_type_classification: HISTORIC_HOUSE_MUSEUM
|
||||
construction_date: '1650'
|
||||
construction_date_precision: APPROXIMATE
|
||||
architectural_style: Dutch Golden Age
|
||||
has_architectural_style: Dutch Golden Age
|
||||
heritage_status: Rijksmonument
|
||||
monument_number: '16284'
|
||||
is_open_to_public: false
|
||||
current_use: Administrative offices and events
|
||||
condition_status: EXCELLENT
|
||||
has_or_had_area:
|
||||
- area_value: 450.0
|
||||
has_or_had_unit:
|
||||
unit_type: SQUARE_METER
|
||||
unit_symbol: "m²"
|
||||
has_or_had_label: "Total floor area"
|
||||
description: Historic canal house as secondary property
|
||||
- value:
|
||||
historic_building_id: https://nde.nl/ontology/hc/aux/kasteel-amerongen
|
||||
|
|
@ -266,14 +294,21 @@ classes:
|
|||
feature_type_classification: CASTLE
|
||||
construction_date: 13th century
|
||||
construction_date_precision: CENTURY
|
||||
architectural_style: Dutch Classical
|
||||
architect: Maurits Post
|
||||
has_architectural_style: Dutch Classical
|
||||
has_or_had_architect: Maurits Post
|
||||
heritage_status: Rijksmonument
|
||||
monument_number: '521814'
|
||||
is_open_to_public: true
|
||||
visiting_hours: Tu-Su 11:00-17:00
|
||||
visiting_hour: Tu-Su 11:00-17:00
|
||||
is_part_of_complex: true
|
||||
complex_name: Kasteel Amerongen landgoed
|
||||
current_use: Museum and events
|
||||
condition_status: GOOD
|
||||
has_or_had_area:
|
||||
- area_value: 2500.0
|
||||
has_or_had_unit:
|
||||
unit_type: SQUARE_METER
|
||||
unit_symbol: "m²"
|
||||
is_estimate: true
|
||||
has_or_had_label: "Castle floor area"
|
||||
description: Castle as heritage property
|
||||
|
|
|
|||
|
|
@ -0,0 +1,133 @@
|
|||
# Hypothesis - A hypothesis or assertion about uncertain data (e.g., institution type)
|
||||
# Created per slot_fixes.yaml migration for: type_hypothesis
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/Hypothesis
|
||||
name: Hypothesis
|
||||
title: Hypothesis
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
Hypothesis:
|
||||
description: >-
|
||||
A hypothesis or working assertion about uncertain or ambiguous data.
|
||||
|
||||
**USE CASE**: Institution Type Hypotheses
|
||||
When an institution's type cannot be definitively determined, multiple
|
||||
type hypotheses can be recorded with supporting/contradicting evidence
|
||||
and confidence levels.
|
||||
|
||||
**STRUCTURE**:
|
||||
- Asserted value (the hypothesis)
|
||||
- Confidence level
|
||||
- Supporting evidence
|
||||
- Contradicting evidence
|
||||
- Alternative interpretations
|
||||
|
||||
**ONTOLOGY MAPPING**:
|
||||
- class_uri: skos:Concept (the hypothesis is a conceptual assertion)
|
||||
- Related to prov:Entity (what is being hypothesized about)
|
||||
|
||||
class_uri: skos:Concept
|
||||
|
||||
close_mappings:
|
||||
- prov:Entity
|
||||
- schema:Claim
|
||||
|
||||
related_mappings:
|
||||
- skos:note
|
||||
|
||||
attributes:
|
||||
asserted_value:
|
||||
range: string
|
||||
required: true
|
||||
description: >-
|
||||
The hypothesized value or assertion.
|
||||
Example: "MUSEUM", "ARCHIVE", "COLLECTING_SOCIETY"
|
||||
|
||||
confidence_level:
|
||||
range: string
|
||||
description: >-
|
||||
Qualitative confidence level for this hypothesis.
|
||||
Values: "high", "medium", "low", "very_low"
|
||||
|
||||
confidence_score:
|
||||
range: float
|
||||
minimum_value: 0.0
|
||||
maximum_value: 1.0
|
||||
description: >-
|
||||
Numeric confidence score (0.0 to 1.0) for this hypothesis.
|
||||
|
||||
supporting_evidence:
|
||||
range: string
|
||||
multivalued: true
|
||||
description: >-
|
||||
Evidence supporting this hypothesis.
|
||||
Example: "Uses term 'exhibitions' in description"
|
||||
|
||||
contradicting_evidence:
|
||||
range: string
|
||||
multivalued: true
|
||||
description: >-
|
||||
Evidence contradicting this hypothesis.
|
||||
Example: "No physical location mentioned"
|
||||
|
||||
alternative_interpretation:
|
||||
range: string
|
||||
description: >-
|
||||
Alternative interpretation of the same evidence.
|
||||
Example: "Could also be interpreted as gallery based on art focus"
|
||||
|
||||
note:
|
||||
range: string
|
||||
slot_uri: skos:note
|
||||
description: >-
|
||||
General notes about this hypothesis.
|
||||
|
||||
annotations:
|
||||
custodian_types: '["U"]'
|
||||
custodian_types_rationale: >-
|
||||
Hypotheses are primarily used for Unknown (U) type institutions
|
||||
where the type is ambiguous and needs research to resolve.
|
||||
custodian_types_primary: "U"
|
||||
specificity_score: 0.8
|
||||
specificity_rationale: >-
|
||||
High specificity - only relevant for uncertain/ambiguous data.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
Hypothesis:
|
||||
asserted_value: "MUSEUM"
|
||||
confidence_level: "medium"
|
||||
confidence_score: 0.65
|
||||
supporting_evidence:
|
||||
- "Website mentions 'exhibitions'"
|
||||
- "Has physical visitor address"
|
||||
contradicting_evidence:
|
||||
- "No collection catalog found"
|
||||
alternative_interpretation: "Could be a gallery with temporary shows"
|
||||
description: >-
|
||||
Type hypothesis suggesting institution is a museum.
|
||||
|
||||
- value: |
|
||||
Hypothesis:
|
||||
asserted_value: "COLLECTING_SOCIETY"
|
||||
confidence_level: "high"
|
||||
confidence_score: 0.85
|
||||
supporting_evidence:
|
||||
- "Name contains 'Historische Vereniging'"
|
||||
- "Membership-based organization"
|
||||
- "Maintains local archive"
|
||||
description: >-
|
||||
High-confidence hypothesis for a collecting society.
|
||||
|
|
@ -33,7 +33,8 @@ imports:
|
|||
- ../slots/technical_specification
|
||||
- ../slots/template_specificity
|
||||
- ../slots/temporal_extent
|
||||
- ../slots/update_frequency
|
||||
- ../slots/has_or_had_frequency
|
||||
- ./UpdateFrequency
|
||||
- ../slots/was_derived_from
|
||||
- ../slots/was_generated_by
|
||||
- ./SpecificityAnnotation
|
||||
|
|
@ -115,7 +116,7 @@ classes:
|
|||
- technical_specification
|
||||
- template_specificity
|
||||
- temporal_extent
|
||||
- update_frequency
|
||||
- has_or_had_frequency
|
||||
- was_derived_from
|
||||
- was_generated_by
|
||||
slot_usage:
|
||||
|
|
@ -222,12 +223,26 @@ classes:
|
|||
examples:
|
||||
- value: JSON
|
||||
description: JSON data format
|
||||
update_frequency:
|
||||
range: string
|
||||
has_or_had_frequency:
|
||||
range: UpdateFrequency
|
||||
inlined: true
|
||||
description: >-
|
||||
How often the device sends data/updates, represented as a structured
|
||||
UpdateFrequency instance with quantity and time interval components.
|
||||
examples:
|
||||
- value: Every 5 minutes
|
||||
- value: |
|
||||
has_or_had_frequency:
|
||||
frequency_description: "Every 5 minutes"
|
||||
has_or_had_quantity:
|
||||
numeric_value: 5
|
||||
has_or_had_time_interval:
|
||||
duration_value: "PT1M"
|
||||
description: Climate sensor update frequency
|
||||
- value: On proximity trigger
|
||||
- value: |
|
||||
has_or_had_frequency:
|
||||
frequency_description: "On proximity trigger"
|
||||
is_event_driven: true
|
||||
trigger_type: "proximity"
|
||||
description: Beacon trigger frequency
|
||||
installed_at_place:
|
||||
range: CustodianPlace
|
||||
|
|
@ -321,7 +336,13 @@ classes:
|
|||
publishes_to: https://dashboard.rijksmuseum.nl/climate
|
||||
api_endpoint: https://api.rijksmuseum.nl/climate/v1/
|
||||
data_format: JSON
|
||||
update_frequency: Every 5 minutes
|
||||
has_or_had_frequency:
|
||||
frequency_description: "Every 5 minutes"
|
||||
has_or_had_quantity:
|
||||
numeric_value: 5
|
||||
has_or_had_time_interval:
|
||||
duration_value: "PT1M"
|
||||
duration_description: "minute"
|
||||
installation_date: '2020-01-15'
|
||||
operational_status: ACTIVE
|
||||
maintenance_schedule: Quarterly calibration
|
||||
|
|
|
|||
|
|
@ -0,0 +1,98 @@
|
|||
# Location class
|
||||
# Generic geographic location representation
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 0 (LinkML single source of truth), 38 (slot centralization)
|
||||
#
|
||||
# Generic location class for use by TransferEvent and other location-referencing entities
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/Location
|
||||
name: location_class
|
||||
title: Location Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
locn: http://www.w3.org/ns/locn#
|
||||
wgs84: http://www.w3.org/2003/01/geo/wgs84_pos#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/location_name
|
||||
- ../slots/latitude
|
||||
- ../slots/longitude
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
|
||||
classes:
|
||||
Location:
|
||||
class_uri: schema:Place
|
||||
description: |
|
||||
Generic geographic location representation.
|
||||
|
||||
**Purpose**:
|
||||
Location provides a reusable class for representing geographic
|
||||
locations with name and optional coordinates.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary**: `schema:Place` - Schema.org Place
|
||||
- **Exact**: `locn:Location` - LOCN (W3C Location) location
|
||||
- **Related**: `wgs84:Point` - WGS84 geo point (for coordinates)
|
||||
|
||||
**Use Cases**:
|
||||
- Transfer event locations (origin/destination)
|
||||
- Institution physical locations
|
||||
- Collection storage locations
|
||||
|
||||
exact_mappings:
|
||||
- locn:Location
|
||||
|
||||
related_mappings:
|
||||
- wgs84:Point
|
||||
|
||||
slots:
|
||||
- location_name
|
||||
- latitude
|
||||
- longitude
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
|
||||
slot_usage:
|
||||
location_name:
|
||||
description: |
|
||||
Human-readable name of the location.
|
||||
range: string
|
||||
required: true
|
||||
latitude:
|
||||
description: |
|
||||
WGS84 latitude coordinate.
|
||||
range: float
|
||||
required: false
|
||||
longitude:
|
||||
description: |
|
||||
WGS84 longitude coordinate.
|
||||
range: float
|
||||
required: false
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Locations apply to all heritage custodian types.
|
||||
custodian_types_primary: null
|
||||
specificity_score: 0.2
|
||||
specificity_rationale: Generic location class applicable across all contexts.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
location_name: "Rijksmuseum Amsterdam"
|
||||
latitude: 52.3600
|
||||
longitude: 4.8852
|
||||
description: "Location with coordinates"
|
||||
- value: |
|
||||
location_name: "Noord-Hollands Archief, Haarlem"
|
||||
description: "Location with name only"
|
||||
|
|
@ -0,0 +1,133 @@
|
|||
id: https://nde.nl/ontology/hc/class/measure-unit
|
||||
name: measure_unit_class
|
||||
title: MeasureUnit Class
|
||||
description: >-
|
||||
Class representing a unit of measurement for quantities.
|
||||
|
||||
**RULE 53 COMPLIANT**: Generic class for standardized unit representation,
|
||||
used by Area, Quantity, and other measurement classes.
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
- QUDT (Quantities, Units, Dimensions and Types)
|
||||
- schema:unitCode / schema:unitText
|
||||
- OM (Ontology of Units of Measure)
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
qudt: http://qudt.org/schema/qudt/
|
||||
om: http://www.ontology-of-units-of-measure.org/resource/om-2/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../enums/MeasureUnitEnum
|
||||
- ../slots/has_or_had_label
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
MeasureUnit:
|
||||
description: >-
|
||||
A unit of measurement for expressing quantities.
|
||||
|
||||
Captures the unit type (from MeasureUnitEnum), symbol, and optional
|
||||
conversion factors. Used as the range for has_or_had_unit slot.
|
||||
|
||||
**EXAMPLES**:
|
||||
- Hectare (ha) for outdoor site area
|
||||
- Square meter (m²) for building floor area
|
||||
- Linear meter (m) for archival shelf extent
|
||||
class_uri: qudt:Unit
|
||||
exact_mappings:
|
||||
- qudt:Unit
|
||||
- om:Unit
|
||||
close_mappings:
|
||||
- schema:unitCode
|
||||
slots:
|
||||
- unit_type
|
||||
- unit_symbol
|
||||
- unit_code
|
||||
- has_or_had_label
|
||||
slot_usage:
|
||||
unit_type:
|
||||
description: >-
|
||||
The type of unit from MeasureUnitEnum (e.g., HECTARE, SQUARE_METER).
|
||||
range: MeasureUnitEnum
|
||||
required: true
|
||||
unit_symbol:
|
||||
description: >-
|
||||
The symbol for the unit (e.g., "ha", "m²", "km").
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: "ha"
|
||||
description: Hectare symbol
|
||||
- value: "m²"
|
||||
description: Square meter symbol
|
||||
- value: "m"
|
||||
description: Meter symbol
|
||||
unit_code:
|
||||
description: >-
|
||||
Standard code for the unit (UCUM or QUDT code).
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: "har"
|
||||
description: UCUM code for hectare
|
||||
- value: "m2"
|
||||
description: UCUM code for square meter
|
||||
has_or_had_label:
|
||||
description: >-
|
||||
Human-readable label for the unit.
|
||||
range: string
|
||||
examples:
|
||||
- value: "hectare"
|
||||
description: Hectare label
|
||||
- value: "square meter"
|
||||
description: Square meter label
|
||||
examples:
|
||||
- value:
|
||||
unit_type: HECTARE
|
||||
unit_symbol: "ha"
|
||||
unit_code: "har"
|
||||
has_or_had_label: "hectare"
|
||||
description: Hectare unit for outdoor site area
|
||||
- value:
|
||||
unit_type: SQUARE_METER
|
||||
unit_symbol: "m²"
|
||||
unit_code: "m2"
|
||||
has_or_had_label: "square meter"
|
||||
description: Square meter unit for building floor area
|
||||
- value:
|
||||
unit_type: LINEAR_METER
|
||||
unit_symbol: "m"
|
||||
unit_code: "m"
|
||||
has_or_had_label: "linear meter"
|
||||
description: Linear meter for archival shelf extent
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Measurement units applicable to all heritage custodian types.
|
||||
specificity_score: 0.3
|
||||
specificity_rationale: >-
|
||||
Foundational class - highly reusable across many contexts.
|
||||
|
||||
slots:
|
||||
unit_type:
|
||||
description: >-
|
||||
The enumerated type of measurement unit.
|
||||
range: MeasureUnitEnum
|
||||
slot_uri: qudt:unit
|
||||
|
||||
unit_symbol:
|
||||
description: >-
|
||||
The symbol representing the unit (e.g., "ha", "m²").
|
||||
range: string
|
||||
slot_uri: qudt:symbol
|
||||
|
||||
unit_code:
|
||||
description: >-
|
||||
Standard code for the unit from UCUM or QUDT vocabularies.
|
||||
range: string
|
||||
slot_uri: qudt:ucumCode
|
||||
|
|
@ -0,0 +1,212 @@
|
|||
id: https://nde.nl/ontology/hc/class/Methodology
|
||||
name: methodology_class
|
||||
title: Methodology Class
|
||||
description: >-
|
||||
Defines the methodology or technique used to derive a measurement or observation.
|
||||
|
||||
**RULE 53 COMPLIANT**: Created for unique_object_count and unique_face_count
|
||||
migration per slot_fixes.yaml revision (lines 1951-1994).
|
||||
|
||||
**PROV-O ALIGNMENT**:
|
||||
|
||||
Maps to `prov:Plan` - "A plan is an entity that represents a set of actions or
|
||||
steps intended by one or more agents to achieve some goals."
|
||||
|
||||
In the PROV-O data model, a Plan describes HOW an activity was performed.
|
||||
Methodology extends this to describe HOW a measurement was derived.
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
schema: http://schema.org/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_or_had_identifier
|
||||
- ../slots/has_or_had_label
|
||||
- ../slots/has_or_had_description
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
- ../enums/MethodologyTypeEnum
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
Methodology:
|
||||
class_uri: prov:Plan
|
||||
description: >-
|
||||
Describes the methodology, technique, or algorithm used to derive a measurement.
|
||||
|
||||
**PROV-O ALIGNMENT**:
|
||||
|
||||
Maps to `prov:Plan` which represents "a set of actions or steps intended by
|
||||
one or more agents to achieve some goals." In measurement contexts, this
|
||||
describes HOW a value was computed or derived.
|
||||
|
||||
**WHY METHODOLOGY MATTERS**:
|
||||
|
||||
Two measurements of "unique objects" could use different methodologies:
|
||||
|
||||
| Methodology | Description | Accuracy |
|
||||
|-------------|-------------|----------|
|
||||
| ENTITY_RESOLUTION | Deduplication via feature matching | High |
|
||||
| TRACKING | Object tracking across frames | Medium |
|
||||
| MANUAL_COUNT | Human counting | Variable |
|
||||
| SAMPLING | Statistical sampling | Estimated |
|
||||
|
||||
Without methodology, two measurements cannot be meaningfully compared.
|
||||
|
||||
**HERITAGE USE CASES**:
|
||||
|
||||
- **Video annotation**: How unique faces/objects were counted (entity resolution)
|
||||
- **Collection inventories**: How item counts were derived (physical vs. digital)
|
||||
- **Visitor statistics**: How attendance was measured (counters, tickets, samples)
|
||||
- **Digitization metrics**: How completeness was assessed
|
||||
|
||||
**EXAMPLE**:
|
||||
|
||||
```yaml
|
||||
has_or_had_methodology:
|
||||
methodology_type: ENTITY_RESOLUTION
|
||||
has_or_had_label: "RetinaFace + ArcFace clustering"
|
||||
has_or_had_description: >-
|
||||
Faces detected using RetinaFace model, then clustered
|
||||
using ArcFace embeddings with cosine similarity threshold 0.6
|
||||
to identify unique individuals.
|
||||
```
|
||||
|
||||
exact_mappings:
|
||||
- prov:Plan
|
||||
close_mappings:
|
||||
- schema:HowToStep
|
||||
related_mappings:
|
||||
- dcterms:methodology
|
||||
slots:
|
||||
- has_or_had_identifier
|
||||
- methodology_type
|
||||
- has_or_had_label
|
||||
- has_or_had_description
|
||||
- algorithm_name
|
||||
- algorithm_version
|
||||
- confidence_threshold
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
slot_usage:
|
||||
has_or_had_identifier:
|
||||
range: uriorcurie
|
||||
required: false
|
||||
identifier: true
|
||||
description: >-
|
||||
Optional identifier for this methodology specification.
|
||||
examples:
|
||||
- value: https://nde.nl/ontology/hc/methodology/retinaface-arcface-v1
|
||||
description: Face clustering methodology identifier
|
||||
methodology_type:
|
||||
range: MethodologyTypeEnum
|
||||
required: false
|
||||
description: >-
|
||||
The type of methodology used.
|
||||
examples:
|
||||
- value: ENTITY_RESOLUTION
|
||||
description: Deduplication via feature matching
|
||||
- value: OBJECT_TRACKING
|
||||
description: Multi-object tracking across frames
|
||||
has_or_had_label:
|
||||
range: string
|
||||
required: false
|
||||
description: >-
|
||||
Human-readable name for the methodology.
|
||||
examples:
|
||||
- value: "RetinaFace + ArcFace clustering"
|
||||
description: Face detection and clustering pipeline
|
||||
has_or_had_description:
|
||||
range: string
|
||||
required: false
|
||||
description: >-
|
||||
Detailed description of the methodology.
|
||||
examples:
|
||||
- value: "Faces detected using RetinaFace, clustered using ArcFace embeddings"
|
||||
description: Algorithm description
|
||||
algorithm_name:
|
||||
range: string
|
||||
required: false
|
||||
description: >-
|
||||
Name of the algorithm or model used.
|
||||
examples:
|
||||
- value: "YOLOv8"
|
||||
description: Object detection model
|
||||
- value: "ArcFace"
|
||||
description: Face recognition model
|
||||
algorithm_version:
|
||||
range: string
|
||||
required: false
|
||||
description: >-
|
||||
Version of the algorithm or model.
|
||||
examples:
|
||||
- value: "1.0.0"
|
||||
- value: "v8n"
|
||||
confidence_threshold:
|
||||
range: float
|
||||
required: false
|
||||
minimum_value: 0.0
|
||||
maximum_value: 1.0
|
||||
description: >-
|
||||
Confidence threshold used for detection/classification.
|
||||
examples:
|
||||
- value: 0.6
|
||||
description: 60% confidence threshold for face matching
|
||||
comments:
|
||||
- Describes HOW a measurement was derived
|
||||
- Essential for comparing measurements from different sources
|
||||
- Maps to PROV-O Plan for provenance tracking
|
||||
- Rule 53 compliant - supports unique_object_count/unique_face_count migration
|
||||
see_also:
|
||||
- https://www.w3.org/TR/prov-o/#Plan
|
||||
examples:
|
||||
- value:
|
||||
methodology_type: ENTITY_RESOLUTION
|
||||
has_or_had_label: "RetinaFace + ArcFace clustering"
|
||||
has_or_had_description: >-
|
||||
Faces detected using RetinaFace model, then clustered
|
||||
using ArcFace embeddings with cosine similarity threshold 0.6.
|
||||
algorithm_name: "ArcFace"
|
||||
confidence_threshold: 0.6
|
||||
description: Face entity resolution methodology
|
||||
- value:
|
||||
methodology_type: OBJECT_TRACKING
|
||||
has_or_had_label: "DeepSORT multi-object tracking"
|
||||
has_or_had_description: >-
|
||||
Objects tracked across video frames using DeepSORT algorithm
|
||||
with Kalman filtering and appearance features.
|
||||
algorithm_name: "DeepSORT"
|
||||
algorithm_version: "1.0"
|
||||
description: Object tracking methodology
|
||||
|
||||
slots:
|
||||
methodology_type:
|
||||
description: >-
|
||||
The type of methodology used for measurement derivation.
|
||||
range: MethodologyTypeEnum
|
||||
slot_uri: hc:methodologyType
|
||||
|
||||
algorithm_name:
|
||||
description: >-
|
||||
Name of the algorithm, model, or technique used.
|
||||
range: string
|
||||
slot_uri: hc:algorithmName
|
||||
|
||||
algorithm_version:
|
||||
description: >-
|
||||
Version identifier for the algorithm or model.
|
||||
range: string
|
||||
slot_uri: hc:algorithmVersion
|
||||
|
||||
confidence_threshold:
|
||||
description: >-
|
||||
Confidence threshold used for detection, matching, or classification.
|
||||
range: float
|
||||
slot_uri: hc:confidenceThreshold
|
||||
|
|
@ -15,8 +15,8 @@ prefixes:
|
|||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
|
||||
- ../slots/has_or_had_quantity
|
||||
- ./Quantity
|
||||
- ./MuseumRegisterProvenance
|
||||
default_range: string
|
||||
|
||||
|
|
@ -75,8 +75,13 @@ classes:
|
|||
range: string
|
||||
multivalued: true
|
||||
inlined_as_list: true
|
||||
visitor_count:
|
||||
range: integer
|
||||
has_or_had_quantity:
|
||||
range: Quantity
|
||||
inlined: true
|
||||
description: >-
|
||||
Visitor count from museum register. RULE 53: Replaces deprecated
|
||||
visitor_count integer with structured Quantity class supporting
|
||||
measurement unit (VISITOR) and temporal extent.
|
||||
accreditation_status:
|
||||
range: string
|
||||
manual_correction:
|
||||
|
|
|
|||
|
|
@ -16,7 +16,8 @@ imports:
|
|||
- ./CustodianType
|
||||
- ../slots/geographic_scope
|
||||
- ../enums/NonProfitCustodianTypeEnum
|
||||
- ../slots/beneficiary_group
|
||||
# REMOVED 2026-01-15: ../slots/beneficiary_group - migrated to has_or_had_beneficiary
|
||||
- ../slots/has_or_had_beneficiary
|
||||
- ../slots/has_or_had_custodian_type
|
||||
- ../slots/impact_measurement
|
||||
- ../slots/nonprofit_subtype
|
||||
|
|
@ -193,7 +194,7 @@ classes:
|
|||
\ a schema:NGO, foaf:Organization, crm:E74_Group, hc:NonProfitOrganization ;\n hc:custodian_type hc:NonProfitType\
|
||||
\ ;\n hc:organizational_mission \"Heritage advocacy, Awareness campaigns, Policy influence\" ;\n hc:program_activities\
|
||||
\ \"7 Most Endangered Programme\", \"European Heritage Awards\", \"Advocacy campaigns\" ;\n hc:geographic_scope \"\
|
||||
Pan-European\", \"50+ countries\", \"300+ member organizations\" ;\n hc:beneficiary_groups \"Heritage organizations\"\
|
||||
Pan-European\", \"50+ countries\", \"300+ member organizations\" ;\n hc:has_or_had_beneficiary \"Heritage organizations\"\
|
||||
, \"Local communities\", \"Policy makers\", \"General public\" ;\n hc:partnership_model \"Membership network\", \"\
|
||||
Co-funded programs\", \"Coalition building\" ;\n hc:impact_measurement \"Sites saved from demolition\", \"Policy changes\
|
||||
\ achieved\", \"Public awareness metrics\" ;\n schema:name \"Europa Nostra\" ;\n schema:foundingDate \"1963\" ;\n\
|
||||
|
|
@ -212,7 +213,7 @@ classes:
|
|||
- schema:EducationalOrganization
|
||||
- schema:FundingAgency
|
||||
slots:
|
||||
- beneficiary_group
|
||||
- has_or_had_beneficiary
|
||||
- has_or_had_custodian_type
|
||||
- geographic_scope
|
||||
- impact_measurement
|
||||
|
|
@ -253,7 +254,7 @@ classes:
|
|||
description: International NGO scope
|
||||
- value: National (Netherlands), 500 members
|
||||
description: National NGO scope
|
||||
beneficiary_group:
|
||||
has_or_had_beneficiary:
|
||||
range: string
|
||||
multivalued: true
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -13,7 +13,8 @@ imports:
|
|||
- ./BranchType
|
||||
- ../slots/located_at
|
||||
- ../slots/has_or_had_description
|
||||
- ../slots/branch_head
|
||||
- ../slots/has_or_had_head
|
||||
# REMOVED: ../slots/branch_head - MIGRATED to has_or_had_head (2026-01-14) per Rule 53
|
||||
- ../slots/has_or_had_identifier
|
||||
- ../slots/has_or_had_label
|
||||
- ../slots/has_or_had_type
|
||||
|
|
@ -85,7 +86,8 @@ classes:
|
|||
- schema:department
|
||||
slots:
|
||||
- has_or_had_description
|
||||
- branch_head
|
||||
- has_or_had_head
|
||||
# REMOVED: branch_head - MIGRATED to has_or_had_head (2026-01-14) per Rule 53
|
||||
- has_or_had_identifier
|
||||
- has_or_had_label
|
||||
- has_or_had_type
|
||||
|
|
@ -206,11 +208,21 @@ classes:
|
|||
- value:
|
||||
has_or_had_label: Schiphol Terminal 2 Kiosk
|
||||
description: Sub-branch of Schiphol exhibition
|
||||
branch_head:
|
||||
range: string
|
||||
has_or_had_head:
|
||||
range: Person
|
||||
description: >-
|
||||
Person who heads or headed this organizational branch.
|
||||
MIGRATED from branch_head (2026-01-14) per Rule 53.
|
||||
|
||||
Uses W3C ORG pattern - inverse of org:headOf.
|
||||
Can reference Person entity or be inline PersonObservation.
|
||||
examples:
|
||||
- value: Dr. Maria van der Berg
|
||||
description: Branch director name
|
||||
- value: https://nde.nl/ontology/hc/person/dr-maria-van-der-berg
|
||||
description: Branch director reference
|
||||
- value:
|
||||
full_name: Dr. Maria van der Berg
|
||||
role: Branch Director
|
||||
description: Inline person observation
|
||||
staff_count:
|
||||
range: integer
|
||||
examples:
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ imports:
|
|||
- ./ReconstructedEntity
|
||||
- ./CustodianObservation
|
||||
- ./ReconstructionActivity
|
||||
- ./Area
|
||||
- ../enums/BioCustodianTypeEnum
|
||||
- ../enums/FeatureTypeEnum
|
||||
- ../enums/OutdoorSiteTypeEnum
|
||||
|
|
@ -15,7 +16,9 @@ imports:
|
|||
- ../slots/outdoor_site_type
|
||||
- ../slots/bio_type_classification
|
||||
- ../slots/feature_type_classification
|
||||
- ../slots/area_hectares
|
||||
# REMOVED 2026-01-15: ../slots/area_hectares - migrated to has_or_had_area + Area (Rule 53)
|
||||
# REMOVED 2026-01-15: ../slots/has_area_in_hectare - BESPOKE SLOT INCORRECTLY CREATED, replaced with has_or_had_area + Area (Rule 53)
|
||||
- ../slots/has_or_had_area
|
||||
- ../slots/has_or_had_artwork_count
|
||||
- ../slots/plant_species_count
|
||||
- ../slots/has_or_had_animal_species_count
|
||||
|
|
@ -63,8 +66,8 @@ classes:
|
|||
\ ruins\n4. **Botanical Collections**: Arboreta, plant collections\n5. **Nature Reserves**: Managed natural areas\n\
|
||||
6. **Castle/Estate Grounds**: Historic landscape parks\n7. **Cemeteries**: Historic burial grounds\n\n**USE CASES**:\n\
|
||||
\n1. **Museum Sculpture Garden**:\n ```yaml\n OutdoorSite:\n outdoor_site_id: \"https://nde.nl/ontology/hc/aux/kroller-muller-sculpture\"\
|
||||
\n outdoor_site_name: \"Kröller-Müller Beeldentuin\"\n feature_type_classification: SCULPTURE_GARDEN\n area_hectares:\
|
||||
\ 25\n artwork_count: 160\n ```\n\n2. **Historic Estate Grounds**:\n ```yaml\n OutdoorSite:\n outdoor_site_name:\
|
||||
\n outdoor_site_name: \"Kröller-Müller Beeldentuin\"\n feature_type_classification: SCULPTURE_GARDEN\n has_or_had_area:\
|
||||
\n - area_value: 25.0\n has_or_had_unit:\n unit_type: HECTARE\n unit_symbol: \"ha\"\n has_or_had_artwork_count: 160\n ```\n\n2. **Historic Estate Grounds**:\n ```yaml\n OutdoorSite:\n outdoor_site_name:\
|
||||
\ \"Paleis Het Loo Tuinen\"\n bio_type_classification: GARDEN\n feature_type_classification: FORMAL_GARDEN\n\
|
||||
\ historic_garden_designation: true\n ```\n\n3. **Archaeological Site**:\n ```yaml\n OutdoorSite:\n outdoor_site_name:\
|
||||
\ \"Archeologisch Park Matilo\"\n feature_type_classification: ARCHAEOLOGICAL_SITE\n period_covered: \"Roman\
|
||||
|
|
@ -83,7 +86,7 @@ classes:
|
|||
- has_or_had_accessibility_feature
|
||||
- has_or_had_admission_fee
|
||||
- has_or_had_animal_species_count
|
||||
- area_hectares
|
||||
- has_or_had_area
|
||||
- has_or_had_artwork_count
|
||||
- bio_type_classification
|
||||
- conservation_status
|
||||
|
|
@ -150,11 +153,29 @@ classes:
|
|||
description: Sculpture garden
|
||||
- value: ARCHAEOLOGICAL_SITE
|
||||
description: Archaeological site
|
||||
has_area_in_hectare:
|
||||
range: float
|
||||
has_or_had_area:
|
||||
description: >-
|
||||
Area of the outdoor site.
|
||||
MIGRATED from area_hectares and has_area_in_hectare (Rule 53).
|
||||
range: Area
|
||||
inlined: true
|
||||
multivalued: true
|
||||
examples:
|
||||
- value: 25.0
|
||||
description: 25 hectares
|
||||
- value:
|
||||
area_value: 25.0
|
||||
has_or_had_unit:
|
||||
unit_type: HECTARE
|
||||
unit_symbol: "ha"
|
||||
has_or_had_label: "Sculpture garden area"
|
||||
description: 25 hectares sculpture garden
|
||||
- value:
|
||||
area_value: 650.0
|
||||
has_or_had_unit:
|
||||
unit_type: HECTARE
|
||||
unit_symbol: "ha"
|
||||
is_estimate: true
|
||||
has_or_had_label: "Estate grounds"
|
||||
description: 650 hectares historic estate (estimated)
|
||||
has_or_had_artwork_count:
|
||||
range: integer
|
||||
examples:
|
||||
|
|
@ -228,6 +249,7 @@ classes:
|
|||
- Links to BOTH BioCustodianTypeEnum AND FeatureTypeEnum
|
||||
- BioCustodianTypeEnum for botanical/zoo classifications
|
||||
- FeatureTypeEnum for landscape/archaeological features
|
||||
- "MIGRATION NOTE: has_or_had_area replaced area_hectares and has_area_in_hectare (Rule 53)"
|
||||
see_also:
|
||||
- https://schema.org/Park
|
||||
- https://www.wikidata.org/wiki/Q22698
|
||||
|
|
@ -240,11 +262,16 @@ classes:
|
|||
National Park.
|
||||
outdoor_site_type: SCULPTURE_GARDEN
|
||||
feature_type_classification: SCULPTURE_GARDEN
|
||||
area_hectares: 25.0
|
||||
artwork_count: 160
|
||||
has_or_had_area:
|
||||
- area_value: 25.0
|
||||
has_or_had_unit:
|
||||
unit_type: HECTARE
|
||||
unit_symbol: "ha"
|
||||
has_or_had_label: "Total site area"
|
||||
has_or_had_artwork_count: 160
|
||||
is_open_to_public: true
|
||||
admission_fee: Included with museum ticket
|
||||
opening_hours: Tu-Su 10:00-17:00
|
||||
has_or_had_admission_fee: Included with museum ticket
|
||||
opening_hour: Tu-Su 10:00-17:00
|
||||
has_or_had_accessibility_feature:
|
||||
- Paved paths
|
||||
- Wheelchair routes available
|
||||
|
|
@ -255,10 +282,16 @@ classes:
|
|||
outdoor_site_description: Formal baroque gardens restored to 17th-century design. Part of royal palace complex.
|
||||
outdoor_site_type: FORMAL_GARDEN
|
||||
bio_type_classification: GARDEN
|
||||
area_hectares: 650.0
|
||||
has_or_had_area:
|
||||
- area_value: 650.0
|
||||
has_or_had_unit:
|
||||
unit_type: HECTARE
|
||||
unit_symbol: "ha"
|
||||
is_estimate: true
|
||||
has_or_had_label: "Estate grounds"
|
||||
is_open_to_public: true
|
||||
admission_fee: Included with palace ticket
|
||||
seasonal_hours: Summer 10:00-18:00; Winter 10:00-16:00
|
||||
has_or_had_admission_fee: Included with palace ticket
|
||||
seasonal_hour: Summer 10:00-18:00; Winter 10:00-16:00
|
||||
historic_garden_designation: true
|
||||
description: Historic palace gardens
|
||||
- value:
|
||||
|
|
@ -267,8 +300,13 @@ classes:
|
|||
outdoor_site_description: Archaeological park on site of Roman fort Matilo with reconstructed structures.
|
||||
outdoor_site_type: ARCHAEOLOGICAL_SITE
|
||||
feature_type_classification: ARCHAEOLOGICAL_SITE
|
||||
area_hectares: 3.5
|
||||
has_or_had_area:
|
||||
- area_value: 3.5
|
||||
has_or_had_unit:
|
||||
unit_type: HECTARE
|
||||
unit_symbol: "ha"
|
||||
has_or_had_label: "Archaeological park area"
|
||||
is_open_to_public: true
|
||||
admission_fee: Free
|
||||
has_or_had_admission_fee: Free
|
||||
period_covered: Roman period (50-400 CE)
|
||||
description: Roman archaeological park
|
||||
|
|
|
|||
|
|
@ -0,0 +1,73 @@
|
|||
# PaymentMethod - Payment methods accepted by an institution
|
||||
# Created per slot_fixes.yaml migration for: accepts_or_accepted_payment_method
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/PaymentMethod
|
||||
name: PaymentMethod
|
||||
title: PaymentMethod
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
PaymentMethod:
|
||||
description: >-
|
||||
A payment method accepted by an institution for tickets, services, or purchases.
|
||||
|
||||
**EXAMPLES**:
|
||||
- Credit cards (Visa, Mastercard, Amex)
|
||||
- Debit cards (Maestro, V-Pay)
|
||||
- Digital payments (iDEAL, Apple Pay, Google Pay)
|
||||
- Cash
|
||||
- Museum passes (Museumkaart, etc.)
|
||||
|
||||
Used with `accepts_or_accepted` slot to indicate payment options.
|
||||
|
||||
class_uri: schema:PaymentMethod
|
||||
|
||||
attributes:
|
||||
method_type:
|
||||
range: string
|
||||
required: true
|
||||
description: >-
|
||||
Type of payment method (e.g., "credit_card", "debit_card", "digital", "cash").
|
||||
|
||||
provider:
|
||||
range: string
|
||||
description: >-
|
||||
Payment provider or brand (e.g., "Visa", "iDEAL", "Apple Pay").
|
||||
|
||||
note:
|
||||
range: string
|
||||
description: >-
|
||||
Additional notes about this payment method.
|
||||
|
||||
annotations:
|
||||
custodian_types: '["M", "G", "B", "H"]'
|
||||
custodian_types_rationale: >-
|
||||
Payment methods primarily relevant for visitor-facing institutions.
|
||||
custodian_types_primary: "M"
|
||||
specificity_score: 0.6
|
||||
specificity_rationale: >-
|
||||
Moderate-high specificity - specific to ticketing/commerce.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
PaymentMethod:
|
||||
method_type: "credit_card"
|
||||
provider: "Visa"
|
||||
description: Visa credit card payment.
|
||||
|
||||
- value: |
|
||||
PaymentMethod:
|
||||
method_type: "digital"
|
||||
provider: "iDEAL"
|
||||
note: "Dutch bank transfer system"
|
||||
description: iDEAL digital payment method.
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -0,0 +1,107 @@
|
|||
# Place - A geographic or administrative place for containment relationships
|
||||
# Created per slot_fixes.yaml migration for: within_place, within_auxiliary_place
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/Place
|
||||
name: Place
|
||||
title: Place
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
gn: http://www.geonames.org/ontology#
|
||||
locn: http://www.w3.org/ns/locn#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
Place:
|
||||
description: >-
|
||||
A geographic or administrative place used for containment relationships.
|
||||
|
||||
**DISTINCTION FROM Location**:
|
||||
- `Location` is for precise physical locations (address, coordinates)
|
||||
- `Place` is for administrative/geographic containment (city within province)
|
||||
|
||||
**USE CASES**:
|
||||
- `within_place`: Institution is within a city/region
|
||||
- `within_auxiliary_place`: Secondary location containment
|
||||
- Administrative hierarchies: settlement → region → country
|
||||
|
||||
**ONTOLOGY MAPPING**:
|
||||
- class_uri: schema:Place (generic place concept)
|
||||
- Supports GeoNames integration for standardized place references
|
||||
|
||||
class_uri: schema:Place
|
||||
|
||||
close_mappings:
|
||||
- gn:Feature
|
||||
- locn:Location
|
||||
|
||||
related_mappings:
|
||||
- schema:AdministrativeArea
|
||||
|
||||
attributes:
|
||||
place_name:
|
||||
range: string
|
||||
required: true
|
||||
description: >-
|
||||
Name of the place (e.g., "Amsterdam", "Noord-Holland", "Netherlands").
|
||||
|
||||
place_type:
|
||||
range: string
|
||||
description: >-
|
||||
Type of place (e.g., "settlement", "region", "country", "district").
|
||||
|
||||
geonames_id:
|
||||
range: integer
|
||||
description: >-
|
||||
GeoNames identifier for standardized place reference.
|
||||
Example: 2759794 for Amsterdam.
|
||||
|
||||
iso_code:
|
||||
range: string
|
||||
description: >-
|
||||
ISO code for administrative areas.
|
||||
Examples: "NL" (country), "NL-NH" (region), "AMS" (settlement code).
|
||||
|
||||
parent_place:
|
||||
range: Place
|
||||
inlined: true
|
||||
description: >-
|
||||
Parent place in the administrative hierarchy.
|
||||
Example: Amsterdam's parent is Noord-Holland.
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Place references applicable to all custodian types.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.2
|
||||
specificity_rationale: >-
|
||||
Low specificity - universal geographic concept.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
Place:
|
||||
place_name: "Amsterdam"
|
||||
place_type: "settlement"
|
||||
geonames_id: 2759794
|
||||
iso_code: "AMS"
|
||||
parent_place:
|
||||
place_name: "Noord-Holland"
|
||||
place_type: "region"
|
||||
iso_code: "NL-NH"
|
||||
description: Amsterdam as a settlement within Noord-Holland.
|
||||
|
||||
- value: |
|
||||
Place:
|
||||
place_name: "Netherlands"
|
||||
place_type: "country"
|
||||
iso_code: "NL"
|
||||
geonames_id: 2750405
|
||||
description: Country-level place reference.
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -0,0 +1,118 @@
|
|||
# Provenance - A single provenance statement tracking the origin and lineage of data
|
||||
# Distinct from ProvenanceBlock which bundles multiple provenance sources
|
||||
# Created per slot_fixes.yaml migration for: binding_provenance, xpath, type_hypothesis
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/Provenance
|
||||
name: Provenance
|
||||
title: Provenance
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
dct: http://purl.org/dc/terms/
|
||||
schema: http://schema.org/
|
||||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_or_had_agent
|
||||
- ../slots/temporal_extent
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
Provenance:
|
||||
description: >-
|
||||
A single provenance statement describing the origin, lineage, or derivation
|
||||
of a piece of data.
|
||||
|
||||
**DISTINCTION FROM ProvenanceBlock**:
|
||||
- `Provenance` represents a SINGLE provenance statement (one source, one activity)
|
||||
- `ProvenanceBlock` bundles MULTIPLE provenance sources together
|
||||
|
||||
Use `Provenance` when:
|
||||
- Tracking provenance of individual data elements
|
||||
- Recording specific extraction or transformation activities
|
||||
- Linking data to its source agent/entity
|
||||
|
||||
**ONTOLOGY MAPPING**:
|
||||
- class_uri: prov:Activity (the extraction/derivation activity)
|
||||
- Links to prov:Agent via has_or_had_agent
|
||||
- Links to prov:Entity via used (source) and generated (result)
|
||||
|
||||
class_uri: prov:Activity
|
||||
|
||||
close_mappings:
|
||||
- dct:ProvenanceStatement
|
||||
- schema:Action
|
||||
|
||||
related_mappings:
|
||||
- prov:Entity
|
||||
- prov:Derivation
|
||||
|
||||
slots:
|
||||
- has_or_had_agent
|
||||
- temporal_extent
|
||||
|
||||
attributes:
|
||||
source_entity:
|
||||
range: uriorcurie
|
||||
description: >-
|
||||
URI of the source entity from which data was derived (prov:used).
|
||||
slot_uri: prov:used
|
||||
|
||||
generated_entity:
|
||||
range: uriorcurie
|
||||
description: >-
|
||||
URI of the entity generated by this provenance activity (prov:generated).
|
||||
slot_uri: prov:generated
|
||||
|
||||
extraction_method:
|
||||
range: string
|
||||
description: >-
|
||||
Method or process used to extract/derive the data.
|
||||
Examples: "xpath_extraction", "api_query", "manual_entry"
|
||||
|
||||
confidence_score:
|
||||
range: float
|
||||
minimum_value: 0.0
|
||||
maximum_value: 1.0
|
||||
description: >-
|
||||
Confidence score (0.0 to 1.0) indicating reliability of this provenance.
|
||||
|
||||
note:
|
||||
range: string
|
||||
description: >-
|
||||
Human-readable note about this provenance statement.
|
||||
slot_uri: prov:value
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Provenance tracking is universal across all custodian types.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.15
|
||||
specificity_rationale: >-
|
||||
Very low specificity - provenance metadata applies universally.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
Provenance:
|
||||
extraction_method: "xpath_extraction"
|
||||
source_entity: "https://example.org/webpage/12345"
|
||||
confidence_score: 0.95
|
||||
note: "Extracted from archived HTML using XPath"
|
||||
description: >-
|
||||
Provenance for an XPath-extracted value from an archived webpage.
|
||||
|
||||
- value: |
|
||||
Provenance:
|
||||
has_or_had_agent:
|
||||
agent_type: "software"
|
||||
name: "glam-extractor-v2.1"
|
||||
extraction_method: "api_scraping"
|
||||
confidence_score: 0.85
|
||||
description: >-
|
||||
Provenance for API-scraped data with agent identification.
|
||||
|
|
@ -0,0 +1,332 @@
|
|||
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/has_or_had_measurement_unit
|
||||
- ../slots/has_or_had_methodology
|
||||
- ../slots/temporal_extent
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./MeasureUnit
|
||||
- ./Methodology
|
||||
- ./TimeSpan
|
||||
- ./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
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: VISITOR
|
||||
unit_symbol: "visitors"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2024-01-01T00:00:00Z"
|
||||
end_of_the_end: "2024-12-31T23:59:59Z"
|
||||
has_or_had_description: Staff assigned to Zaanstreek-Waterland branch
|
||||
```
|
||||
|
||||
**RULE 53 COMPLIANT**: Updated with link_branch slots (has_or_had_measurement_unit,
|
||||
temporal_extent, has_or_had_methodology) per slot_fixes.yaml revision for
|
||||
visitor_count, view_count, unique_object_count, and unique_face_count migrations.
|
||||
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_measurement_unit
|
||||
- has_or_had_methodology
|
||||
- temporal_extent
|
||||
- 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
|
||||
deprecated: >-
|
||||
Use has_or_had_measurement_unit with MeasureUnit class instead.
|
||||
Retained for backward compatibility with existing data.
|
||||
description: >-
|
||||
DEPRECATED: The unit of measurement as a simple string.
|
||||
Prefer has_or_had_measurement_unit for structured unit data.
|
||||
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: m²
|
||||
description: Floor area
|
||||
has_or_had_measurement_unit:
|
||||
range: MeasureUnit
|
||||
required: false
|
||||
inlined: true
|
||||
description: >-
|
||||
The structured unit of measurement for this quantity.
|
||||
Provides richer semantics than the deprecated quantity_unit string.
|
||||
RULE 53: Branch 1 slot from visitor_count migration.
|
||||
examples:
|
||||
- value:
|
||||
unit_type: VISITOR
|
||||
unit_symbol: "visitors"
|
||||
description: Visitor count unit
|
||||
- value:
|
||||
unit_type: SQUARE_METER
|
||||
unit_symbol: "m²"
|
||||
description: Area unit
|
||||
temporal_extent:
|
||||
range: TimeSpan
|
||||
required: false
|
||||
inlined: true
|
||||
description: >-
|
||||
The time period over which this quantity was measured.
|
||||
CIDOC-CRM temporal modeling with fuzzy boundaries.
|
||||
RULE 53: Branch 2 slot from visitor_count migration.
|
||||
examples:
|
||||
- value:
|
||||
begin_of_the_begin: "2024-01-01T00:00:00Z"
|
||||
end_of_the_end: "2024-12-31T23:59:59Z"
|
||||
description: Annual measurement period
|
||||
has_or_had_methodology:
|
||||
range: Methodology
|
||||
required: false
|
||||
inlined: true
|
||||
description: >-
|
||||
The methodology used to derive this quantity.
|
||||
Essential for unique counts derived via entity resolution.
|
||||
RULE 53: Branch 2 slot from unique_object_count/unique_face_count migration.
|
||||
examples:
|
||||
- value:
|
||||
methodology_type: ENTITY_RESOLUTION
|
||||
has_or_had_label: "ArcFace clustering"
|
||||
confidence_threshold: 0.6
|
||||
description: Face entity resolution methodology
|
||||
- value:
|
||||
methodology_type: OBJECT_TRACKING
|
||||
has_or_had_label: "DeepSORT"
|
||||
description: Multi-object tracking methodology
|
||||
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
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: FTE
|
||||
unit_symbol: "FTE"
|
||||
has_or_had_label: "full-time equivalent"
|
||||
has_or_had_description: Staff assigned to Zaanstreek-Waterland branch
|
||||
quantity_date: '2025-01-01'
|
||||
is_estimate: false
|
||||
description: Branch staff count (preferred pattern with structured unit)
|
||||
- value:
|
||||
quantity_value: 650000
|
||||
quantity_type: VISITOR_COUNT
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: VISITOR
|
||||
unit_symbol: "visitors"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2023-02-10T00:00:00Z"
|
||||
end_of_the_end: "2023-06-04T23:59:59Z"
|
||||
has_or_had_description: Vermeer exhibition attendance
|
||||
is_estimate: false
|
||||
description: Exhibition visitor count with temporal extent (Rule 53 pattern)
|
||||
- value:
|
||||
quantity_value: 15
|
||||
quantity_type: OBJECT_COUNT
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: FACE
|
||||
unit_symbol: "faces"
|
||||
has_or_had_methodology:
|
||||
methodology_type: ENTITY_RESOLUTION
|
||||
has_or_had_label: "ArcFace clustering"
|
||||
confidence_threshold: 0.6
|
||||
has_or_had_description: Unique faces detected via entity resolution
|
||||
is_estimate: false
|
||||
description: Unique face count with methodology (Rule 53 pattern for unique_face_count)
|
||||
- value:
|
||||
quantity_value: 47
|
||||
quantity_type: OBJECT_COUNT
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: OBJECT
|
||||
unit_symbol: "objects"
|
||||
has_or_had_methodology:
|
||||
methodology_type: OBJECT_TRACKING
|
||||
has_or_had_label: "DeepSORT"
|
||||
has_or_had_description: Unique objects tracked across video frames
|
||||
is_estimate: false
|
||||
description: Unique object count with methodology (Rule 53 pattern for unique_object_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 (deprecated string unit - backward compatible)
|
||||
- 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 (deprecated string unit - backward compatible)
|
||||
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
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
# Scope - Coverage/scope information for collections, services, or institutions
|
||||
# Created per slot_fixes.yaml migration for: typical_scope, type_scope
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/Scope
|
||||
name: Scope
|
||||
title: Scope
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
dct: http://purl.org/dc/terms/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_or_had_type
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
Scope:
|
||||
description: >-
|
||||
Coverage or scope information for a collection, service, or institution.
|
||||
|
||||
**SCOPE DIMENSIONS**:
|
||||
- **Temporal**: Time period covered (e.g., "1600-1900")
|
||||
- **Spatial**: Geographic coverage (e.g., "Netherlands", "Amsterdam")
|
||||
- **Subject**: Topic/subject areas (e.g., "Dutch Golden Age painting")
|
||||
- **Material**: Types of materials (e.g., "photographs", "manuscripts")
|
||||
|
||||
**ONTOLOGY MAPPING**:
|
||||
- class_uri: dct:Coverage (Dublin Core coverage concept)
|
||||
|
||||
class_uri: dct:Coverage
|
||||
|
||||
close_mappings:
|
||||
- schema:Thing
|
||||
|
||||
slots:
|
||||
- has_or_had_type
|
||||
|
||||
attributes:
|
||||
scope_description:
|
||||
range: string
|
||||
description: >-
|
||||
Human-readable description of the scope.
|
||||
|
||||
temporal_coverage:
|
||||
range: string
|
||||
description: >-
|
||||
Time period covered (e.g., "1600-1900", "Medieval period").
|
||||
|
||||
spatial_coverage:
|
||||
range: string
|
||||
description: >-
|
||||
Geographic coverage (e.g., "Netherlands", "Europe").
|
||||
|
||||
subject_coverage:
|
||||
range: string
|
||||
multivalued: true
|
||||
description: >-
|
||||
Subject areas covered.
|
||||
|
||||
material_coverage:
|
||||
range: string
|
||||
multivalued: true
|
||||
description: >-
|
||||
Types of materials covered.
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Scope information applicable to all custodian types.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.3
|
||||
specificity_rationale: >-
|
||||
Low-moderate specificity - common metadata concept.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
Scope:
|
||||
scope_description: "Dutch art from the Golden Age"
|
||||
temporal_coverage: "1600-1700"
|
||||
spatial_coverage: "Netherlands"
|
||||
subject_coverage:
|
||||
- "Painting"
|
||||
- "Dutch Golden Age"
|
||||
description: Scope for a Dutch Golden Age art collection.
|
||||
|
|
@ -0,0 +1,165 @@
|
|||
# ScopeType - Abstract base class for scope type classifications
|
||||
#
|
||||
# Following the Type/Types naming convention (Rule 0b):
|
||||
# - ScopeType.yaml: Abstract base class defining the type taxonomy
|
||||
# - ScopeTypes.yaml: File containing all concrete subclasses
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: typical_scope, type_scope
|
||||
# Creation date: 2026-01-14
|
||||
# Rule compliance: 0b (Type/Types naming), 37 (specificity scores), 50 (ontology mapping)
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/ScopeType
|
||||
name: ScopeType
|
||||
title: Scope Type Classification
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
dct: http://purl.org/dc/terms/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/type_description
|
||||
- ../slots/type_id
|
||||
- ../slots/type_label
|
||||
- ../slots/wikidata_entity
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
|
||||
classes:
|
||||
ScopeType:
|
||||
class_uri: skos:Concept
|
||||
description: |
|
||||
Abstract base class for scope type classifications in the heritage domain.
|
||||
|
||||
**DEFINITION**:
|
||||
|
||||
ScopeType represents CATEGORIES of scope/coverage dimensions, not individual
|
||||
scope instances. Each subclass defines characteristics of a scope category
|
||||
(temporal, spatial, subject, material, etc.).
|
||||
|
||||
**CRITICAL: TYPE vs INSTANCE**
|
||||
|
||||
| Aspect | ScopeType (This Class) | Scope (Instance Class) |
|
||||
|--------|------------------------|------------------------|
|
||||
| **Nature** | Classification/category | Individual scope |
|
||||
| **Examples** | TEMPORAL, SPATIAL, SUBJECT | "1600-1700 Dutch painting" |
|
||||
| **Properties** | Category metadata | Actual coverage values |
|
||||
| **Cardinality** | ~5-10 types | Thousands of instances |
|
||||
|
||||
**SCOPE DIMENSIONS**:
|
||||
|
||||
1. **TEMPORAL**: Time-based coverage
|
||||
- Century, Decade, Date Range, Era, Period
|
||||
- Historical Period, Epoch
|
||||
|
||||
2. **SPATIAL**: Geographic coverage
|
||||
- Country, Region, City, Continent
|
||||
- Administrative Division, Geographic Feature
|
||||
|
||||
3. **SUBJECT**: Topic/domain coverage
|
||||
- Art Movement, Historical Theme, Scientific Domain
|
||||
- Cultural Topic, Social Issue
|
||||
|
||||
4. **MATERIAL**: Material type coverage
|
||||
- Photographs, Manuscripts, Prints, Maps
|
||||
- Audio Recordings, Video, 3D Objects
|
||||
|
||||
5. **LINGUISTIC**: Language coverage
|
||||
- Script, Language Family, Dialect Region
|
||||
|
||||
6. **INSTITUTIONAL**: Organizational coverage
|
||||
- Sector, Industry, Government Level
|
||||
- International, National, Regional, Local
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
|
||||
- **SKOS Concept**: Scope types are concepts in a controlled vocabulary
|
||||
- **Dublin Core Coverage**: dct:Coverage for scope semantics
|
||||
- **MODS Subject**: Library of Congress subject coverage model
|
||||
|
||||
**SUBCLASSES**:
|
||||
|
||||
See ScopeTypes.yaml for concrete scope type subclasses organized
|
||||
by dimension: TEMPORAL, SPATIAL, SUBJECT, MATERIAL, LINGUISTIC, and
|
||||
INSTITUTIONAL.
|
||||
|
||||
abstract: true
|
||||
|
||||
exact_mappings:
|
||||
- skos:Concept
|
||||
|
||||
close_mappings:
|
||||
- dct:Coverage
|
||||
- schema:DefinedTerm
|
||||
|
||||
slots:
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
- type_description
|
||||
- type_id
|
||||
- type_label
|
||||
- wikidata_entity
|
||||
|
||||
slot_usage:
|
||||
type_id:
|
||||
range: uriorcurie
|
||||
required: true
|
||||
identifier: true
|
||||
pattern: "^https://nde\\.nl/ontology/hc/scope-type/[a-z-]+$"
|
||||
examples:
|
||||
- value: https://nde.nl/ontology/hc/scope-type/temporal
|
||||
description: Temporal scope type
|
||||
- value: https://nde.nl/ontology/hc/scope-type/spatial
|
||||
description: Spatial scope type
|
||||
|
||||
type_label:
|
||||
range: string
|
||||
required: true
|
||||
multivalued: true
|
||||
examples:
|
||||
- value: ["Temporal@en", "temporeel@nl", "zeitlich@de"]
|
||||
description: Multilingual labels for temporal scope type
|
||||
|
||||
type_description:
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: "Time-based scope dimension covering date ranges and historical periods"
|
||||
description: Description of temporal scope type
|
||||
|
||||
wikidata_entity:
|
||||
range: string
|
||||
required: false
|
||||
pattern: "^Q[0-9]+$"
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.35"
|
||||
specificity_rationale: "Moderately low specificity - scope types are generic classification concepts."
|
||||
template_specificity: '{"collection_discovery": 0.50, "archive_search": 0.45, "general_heritage": 0.35}'
|
||||
|
||||
comments:
|
||||
- "Abstract base class - use specific subclasses (TemporalScope, SpatialScope, etc.)"
|
||||
- "Represents SCOPE TYPES, not scope instances"
|
||||
- "Scope.has_or_had_type references these type classes"
|
||||
- "Follows Type/Types naming convention (Rule 0b)"
|
||||
- "Organized by dimension: temporal, spatial, subject, material"
|
||||
|
||||
see_also:
|
||||
- https://www.dublincore.org/specifications/dublin-core/dcmi-terms/#section-7
|
||||
- https://www.w3.org/2004/02/skos/
|
||||
|
||||
examples:
|
||||
- value:
|
||||
type_id: https://nde.nl/ontology/hc/scope-type/temporal
|
||||
type_label:
|
||||
- Temporal@en
|
||||
- temporeel@nl
|
||||
type_description: "Time-based scope dimension"
|
||||
description: "Temporal scope type with multilingual labels"
|
||||
|
|
@ -0,0 +1,262 @@
|
|||
# ScopeTypes - Concrete scope type subclasses
|
||||
#
|
||||
# Following the Type/Types naming convention (Rule 0b):
|
||||
# - ScopeType.yaml: Abstract base class defining the type taxonomy
|
||||
# - ScopeTypes.yaml: File containing all concrete subclasses
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: typical_scope, type_scope
|
||||
# Creation date: 2026-01-14
|
||||
# Rule compliance: 0b (Type/Types naming), 37 (specificity scores), 50 (ontology mapping)
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/ScopeTypes
|
||||
name: ScopeTypes
|
||||
title: Scope Type Subclasses
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
dct: http://purl.org/dc/terms/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ./ScopeType
|
||||
|
||||
classes:
|
||||
# =============================================================================
|
||||
# TEMPORAL SCOPE TYPES
|
||||
# =============================================================================
|
||||
|
||||
TemporalScope:
|
||||
is_a: ScopeType
|
||||
class_uri: dct:PeriodOfTime
|
||||
description: |
|
||||
Time-based scope dimension covering date ranges, historical periods, and eras.
|
||||
|
||||
**Examples**:
|
||||
- "1600-1700" (date range)
|
||||
- "Medieval period" (historical period)
|
||||
- "19th century" (century scope)
|
||||
|
||||
exact_mappings:
|
||||
- dct:PeriodOfTime
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.40"
|
||||
specificity_rationale: "Moderately specific - temporal scoping is common across domains."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
type_id: https://nde.nl/ontology/hc/scope-type/temporal
|
||||
type_label: ["Temporal@en", "temporeel@nl"]
|
||||
description: Temporal scope type instance
|
||||
|
||||
# =============================================================================
|
||||
# SPATIAL SCOPE TYPES
|
||||
# =============================================================================
|
||||
|
||||
SpatialScope:
|
||||
is_a: ScopeType
|
||||
class_uri: dct:Location
|
||||
description: |
|
||||
Geographic scope dimension covering countries, regions, cities, and areas.
|
||||
|
||||
**Examples**:
|
||||
- "Netherlands" (country)
|
||||
- "Noord-Holland" (region/province)
|
||||
- "Amsterdam" (city)
|
||||
- "Europe" (continent)
|
||||
|
||||
exact_mappings:
|
||||
- dct:Location
|
||||
|
||||
close_mappings:
|
||||
- schema:Place
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.40"
|
||||
specificity_rationale: "Moderately specific - geographic scoping is common across domains."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
type_id: https://nde.nl/ontology/hc/scope-type/spatial
|
||||
type_label: ["Spatial@en", "ruimtelijk@nl"]
|
||||
description: Spatial scope type instance
|
||||
|
||||
# =============================================================================
|
||||
# SUBJECT SCOPE TYPES
|
||||
# =============================================================================
|
||||
|
||||
SubjectScope:
|
||||
is_a: ScopeType
|
||||
class_uri: dct:subject
|
||||
description: |
|
||||
Topic/domain scope dimension covering subjects, themes, and disciplines.
|
||||
|
||||
**Examples**:
|
||||
- "Dutch Golden Age painting" (art historical subject)
|
||||
- "World War II" (historical theme)
|
||||
- "Maritime history" (subject area)
|
||||
|
||||
exact_mappings:
|
||||
- dct:subject
|
||||
|
||||
close_mappings:
|
||||
- skos:Concept
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.45"
|
||||
specificity_rationale: "Moderately specific - subject classification is domain-dependent."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
type_id: https://nde.nl/ontology/hc/scope-type/subject
|
||||
type_label: ["Subject@en", "onderwerp@nl"]
|
||||
description: Subject scope type instance
|
||||
|
||||
# =============================================================================
|
||||
# MATERIAL SCOPE TYPES
|
||||
# =============================================================================
|
||||
|
||||
MaterialScope:
|
||||
is_a: ScopeType
|
||||
class_uri: dct:DCMIType
|
||||
description: |
|
||||
Material type scope dimension covering media types and object categories.
|
||||
|
||||
**Examples**:
|
||||
- "Photographs" (visual material)
|
||||
- "Manuscripts" (documentary material)
|
||||
- "Audio recordings" (sound material)
|
||||
- "3D objects" (physical objects)
|
||||
|
||||
exact_mappings:
|
||||
- dct:DCMIType
|
||||
|
||||
close_mappings:
|
||||
- schema:CreativeWork
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.50"
|
||||
specificity_rationale: "More specific - material types are heritage-domain focused."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
type_id: https://nde.nl/ontology/hc/scope-type/material
|
||||
type_label: ["Material@en", "materiaal@nl"]
|
||||
description: Material scope type instance
|
||||
|
||||
# =============================================================================
|
||||
# LINGUISTIC SCOPE TYPES
|
||||
# =============================================================================
|
||||
|
||||
LinguisticScope:
|
||||
is_a: ScopeType
|
||||
class_uri: dct:language
|
||||
description: |
|
||||
Language scope dimension covering languages, scripts, and dialects.
|
||||
|
||||
**Examples**:
|
||||
- "Dutch" (language)
|
||||
- "Arabic script" (writing system)
|
||||
- "Low Saxon" (dialect/regional language)
|
||||
|
||||
exact_mappings:
|
||||
- dct:language
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.40"
|
||||
specificity_rationale: "Moderately specific - linguistic scoping is common."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
type_id: https://nde.nl/ontology/hc/scope-type/linguistic
|
||||
type_label: ["Linguistic@en", "taalkundig@nl"]
|
||||
description: Linguistic scope type instance
|
||||
|
||||
# =============================================================================
|
||||
# INSTITUTIONAL SCOPE TYPES
|
||||
# =============================================================================
|
||||
|
||||
InstitutionalScope:
|
||||
is_a: ScopeType
|
||||
class_uri: schema:Organization
|
||||
description: |
|
||||
Organizational/sectoral scope dimension covering sectors and governance levels.
|
||||
|
||||
**Examples**:
|
||||
- "Cultural heritage sector" (sector)
|
||||
- "National level" (governance level)
|
||||
- "Academic institutions" (institutional type)
|
||||
|
||||
close_mappings:
|
||||
- schema:Organization
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.45"
|
||||
specificity_rationale: "Moderately specific - institutional classification is heritage-relevant."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
type_id: https://nde.nl/ontology/hc/scope-type/institutional
|
||||
type_label: ["Institutional@en", "institutioneel@nl"]
|
||||
description: Institutional scope type instance
|
||||
|
||||
# =============================================================================
|
||||
# COLLECTION SCOPE TYPES
|
||||
# =============================================================================
|
||||
|
||||
CollectionScope:
|
||||
is_a: ScopeType
|
||||
class_uri: schema:Collection
|
||||
description: |
|
||||
Collection-based scope dimension covering collection types and sizes.
|
||||
|
||||
**Examples**:
|
||||
- "Small collection (<1000 items)" (size scope)
|
||||
- "Research collection" (function scope)
|
||||
- "Public access collection" (access scope)
|
||||
|
||||
close_mappings:
|
||||
- schema:Collection
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.55"
|
||||
specificity_rationale: "More specific - collection scoping is heritage-domain focused."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
type_id: https://nde.nl/ontology/hc/scope-type/collection
|
||||
type_label: ["Collection@en", "collectie@nl"]
|
||||
description: Collection scope type instance
|
||||
|
||||
# =============================================================================
|
||||
# FORMAT SCOPE TYPES
|
||||
# =============================================================================
|
||||
|
||||
FormatScope:
|
||||
is_a: ScopeType
|
||||
class_uri: dct:format
|
||||
description: |
|
||||
Format scope dimension covering file formats and data standards.
|
||||
|
||||
**Examples**:
|
||||
- "JPEG/TIFF" (image formats)
|
||||
- "Dublin Core" (metadata standard)
|
||||
- "EAD" (archival encoding)
|
||||
|
||||
exact_mappings:
|
||||
- dct:format
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.50"
|
||||
specificity_rationale: "More specific - format scoping is technical/domain focused."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
type_id: https://nde.nl/ontology/hc/scope-type/format
|
||||
type_label: ["Format@en", "formaat@nl"]
|
||||
description: Format scope type instance
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -0,0 +1,112 @@
|
|||
# TimeInterval - A duration or interval of time
|
||||
# Created per slot_fixes.yaml migration for: update_frequency, typical_approval_time, total_revenue
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/TimeInterval
|
||||
name: TimeInterval
|
||||
title: TimeInterval
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
time: http://www.w3.org/2006/time#
|
||||
schema: http://schema.org/
|
||||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
TimeInterval:
|
||||
description: >-
|
||||
A duration or interval of time, representing a period rather than a point.
|
||||
|
||||
**DISTINCTION FROM TimeSpan**:
|
||||
- `TimeSpan` represents a bounded period with begin/end points (CIDOC-CRM E52)
|
||||
- `TimeInterval` represents a duration/interval (e.g., "2 weeks", "quarterly")
|
||||
|
||||
**USE CASES**:
|
||||
- Update frequency: "updated weekly"
|
||||
- Approval time: "typically 2-3 business days"
|
||||
- Reporting period: "annual revenue for fiscal year"
|
||||
|
||||
**ONTOLOGY MAPPING**:
|
||||
- class_uri: time:Duration (W3C Time Ontology)
|
||||
- Supports ISO 8601 duration format (P1Y, P2M, P3D, PT4H)
|
||||
|
||||
class_uri: time:Duration
|
||||
|
||||
close_mappings:
|
||||
- schema:Duration
|
||||
|
||||
related_mappings:
|
||||
- time:Interval
|
||||
- time:TemporalDuration
|
||||
|
||||
attributes:
|
||||
duration_value:
|
||||
range: string
|
||||
description: >-
|
||||
ISO 8601 duration string (e.g., P1Y, P2M, P7D, PT24H).
|
||||
P = period, Y = years, M = months, D = days, T = time separator, H = hours
|
||||
|
||||
duration_description:
|
||||
range: string
|
||||
description: >-
|
||||
Human-readable description of the duration.
|
||||
Examples: "weekly", "monthly", "annual", "2-3 business days"
|
||||
|
||||
years:
|
||||
range: integer
|
||||
description: Number of years in the interval.
|
||||
minimum_value: 0
|
||||
|
||||
months:
|
||||
range: integer
|
||||
description: Number of months in the interval.
|
||||
minimum_value: 0
|
||||
|
||||
days:
|
||||
range: integer
|
||||
description: Number of days in the interval.
|
||||
minimum_value: 0
|
||||
|
||||
hours:
|
||||
range: integer
|
||||
description: Number of hours in the interval.
|
||||
minimum_value: 0
|
||||
|
||||
minutes:
|
||||
range: integer
|
||||
description: Number of minutes in the interval.
|
||||
minimum_value: 0
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Time intervals applicable to all custodian types for various purposes.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.25
|
||||
specificity_rationale: >-
|
||||
Low specificity - universal temporal concept.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
TimeInterval:
|
||||
duration_value: "P7D"
|
||||
duration_description: "weekly"
|
||||
description: A one-week interval for update frequency.
|
||||
|
||||
- value: |
|
||||
TimeInterval:
|
||||
duration_value: "P1Y"
|
||||
duration_description: "annual"
|
||||
description: A one-year interval for revenue reporting.
|
||||
|
||||
- value: |
|
||||
TimeInterval:
|
||||
days: 3
|
||||
duration_description: "2-3 business days"
|
||||
description: Typical approval time interval.
|
||||
|
|
@ -18,6 +18,7 @@ imports:
|
|||
- ../slots/template_specificity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
- ./Timestamp
|
||||
default_range: string
|
||||
classes:
|
||||
TimeSpan:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,151 @@
|
|||
# Timestamp class
|
||||
# A point in time with optional precision and calendar metadata
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 0 (LinkML single source of truth), 38 (slot centralization), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# This class supports 6 slot migrations per slot_fixes.yaml:
|
||||
# - valid_to_geo
|
||||
# - valid_to
|
||||
# - valid_from_geo
|
||||
# - valid_from
|
||||
# - updated_at
|
||||
# - unesco_inscription_year
|
||||
#
|
||||
# Ontological basis: OWL Time Instant (time:Instant)
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/Timestamp
|
||||
name: timestamp_class
|
||||
title: Timestamp Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
time: http://www.w3.org/2006/time#
|
||||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/timestamp_value
|
||||
- ../slots/timestamp_precision
|
||||
- ../slots/calendar_system
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
|
||||
classes:
|
||||
Timestamp:
|
||||
class_uri: time:Instant
|
||||
description: |
|
||||
A point in time with optional precision and calendar metadata.
|
||||
|
||||
**Purpose**:
|
||||
Timestamp provides a reusable class for representing temporal instants
|
||||
with explicit precision indicators. This supports EDTF-style partial
|
||||
dates (year-only, year-month, full date, datetime) and calendar system
|
||||
annotation for non-Gregorian dates.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary**: `time:Instant` - OWL Time instant
|
||||
- **Close**: `crm:E61_Time_Primitive` - CIDOC-CRM time primitive
|
||||
- **Related**: `xsd:dateTime` - XML Schema dateTime
|
||||
|
||||
**Use Cases**:
|
||||
- Beginning/ending of time spans (TimeSpan.begin_of_the_begin, etc.)
|
||||
- Validity dates (valid_from, valid_to)
|
||||
- Update timestamps (updated_at, created_at)
|
||||
- Historical dates with varying precision
|
||||
|
||||
**Precision Levels**:
|
||||
- year: "1995" (EDTF: "1995")
|
||||
- month: "1995-06" (EDTF: "1995-06")
|
||||
- day: "1995-06-15" (EDTF: "1995-06-15")
|
||||
- datetime: "1995-06-15T10:30:00" (full precision)
|
||||
|
||||
**Replaces** (per slot_fixes.yaml):
|
||||
- `valid_to_geo` → TimeSpan.end_of_the_end: Timestamp
|
||||
- `valid_to` → TimeSpan.end_of_the_end: Timestamp
|
||||
- `valid_from_geo` → TimeSpan.begin_of_the_begin: Timestamp
|
||||
- `valid_from` → TimeSpan.begin_of_the_begin: Timestamp
|
||||
- `updated_at` → was_last_updated_at: TimeSpan
|
||||
- `unesco_inscription_year` → TimeSpan.begin_of_the_begin: Timestamp
|
||||
|
||||
exact_mappings:
|
||||
- time:Instant
|
||||
|
||||
close_mappings:
|
||||
- crm:E61_Time_Primitive
|
||||
|
||||
related_mappings:
|
||||
- xsd:dateTime
|
||||
- schema:DateTime
|
||||
|
||||
slots:
|
||||
- timestamp_value
|
||||
- timestamp_precision
|
||||
- calendar_system
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
|
||||
slot_usage:
|
||||
timestamp_value:
|
||||
description: |
|
||||
The timestamp value as ISO 8601 string.
|
||||
Precision determined by string format:
|
||||
- "1995" = year precision
|
||||
- "1995-06" = month precision
|
||||
- "1995-06-15" = day precision
|
||||
- "1995-06-15T10:30:00Z" = full datetime
|
||||
range: string
|
||||
required: true
|
||||
pattern: "^-?\\d{4}(-\\d{2})?(-\\d{2})?(T\\d{2}:\\d{2}(:\\d{2})?(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})?)?$"
|
||||
timestamp_precision:
|
||||
description: |
|
||||
Explicit precision level. Auto-derived from timestamp_value if not provided.
|
||||
Values: year, month, day, hour, minute, second, millisecond
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: year
|
||||
- value: day
|
||||
- value: second
|
||||
calendar_system:
|
||||
description: |
|
||||
Calendar system for the timestamp. Default is Gregorian.
|
||||
For historical or non-Western dates, specify the calendar.
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: gregorian
|
||||
- value: julian
|
||||
- value: hebrew
|
||||
- value: islamic
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Generic timestamp class applicable to all types.
|
||||
custodian_types_primary: null
|
||||
specificity_score: 0.15
|
||||
specificity_rationale: Very broadly applicable generic class for temporal points.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
timestamp_value: "1995"
|
||||
timestamp_precision: year
|
||||
description: "Year-only timestamp (e.g., founding year)"
|
||||
- value: |
|
||||
timestamp_value: "2024-06-15"
|
||||
timestamp_precision: day
|
||||
calendar_system: gregorian
|
||||
description: "Full date timestamp"
|
||||
- value: |
|
||||
timestamp_value: "2024-06-15T14:30:00Z"
|
||||
timestamp_precision: second
|
||||
calendar_system: gregorian
|
||||
description: "Full datetime timestamp"
|
||||
|
|
@ -0,0 +1,144 @@
|
|||
# TransferEvent class
|
||||
# Custody or ownership transfer event
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 0 (LinkML single source of truth), 38 (slot centralization), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# This class supports 4 slot migrations per slot_fixes.yaml:
|
||||
# - transfer_to_collection_date → is_or_was_transferred + TransferEvent
|
||||
# - transfer_policy → is_or_was_transferred + TransferEvent
|
||||
# - transfer_location_text → is_or_was_transferred + TransferEvent
|
||||
# - transfer_location → is_or_was_transferred + TransferEvent
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/TransferEvent
|
||||
name: transfer_event_class
|
||||
title: TransferEvent Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/temporal_extent
|
||||
- ../slots/starts_or_started_at_location
|
||||
- ../slots/ends_or_ended_at_location
|
||||
- ../slots/has_or_had_description
|
||||
- ../slots/has_or_had_policy
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./TimeSpan
|
||||
- ./Location
|
||||
- ./TransferPolicy
|
||||
- ./Description
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
|
||||
classes:
|
||||
TransferEvent:
|
||||
class_uri: crm:E10_Transfer_of_Custody
|
||||
description: |
|
||||
Event representing transfer of custody, ownership, or physical location.
|
||||
|
||||
**Purpose**:
|
||||
TransferEvent models significant transfers in heritage contexts:
|
||||
- Collection transfers between institutions
|
||||
- Relocation of holdings
|
||||
- Custody changes (legal guardianship)
|
||||
- Ownership changes
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary**: `crm:E10_Transfer_of_Custody` - CIDOC-CRM custody transfer
|
||||
- **Close**: `rico:TransferEvent` - RiC-O transfer event
|
||||
- **Related**: `prov:Activity` - PROV-O activity (general activity)
|
||||
|
||||
**Key Components**:
|
||||
- `temporal_extent`: When the transfer occurred (TimeSpan)
|
||||
- `starts_or_started_at_location`: Origin location
|
||||
- `ends_or_ended_at_location`: Destination location
|
||||
- `has_or_had_policy`: Transfer policy governing the transfer
|
||||
- `has_or_had_description`: Narrative description
|
||||
|
||||
**Replaces** (per slot_fixes.yaml):
|
||||
- `transfer_to_collection_date` (simple date)
|
||||
- `transfer_policy` (simple string)
|
||||
- `transfer_location` (simple string)
|
||||
- `transfer_location_text` (simple string)
|
||||
|
||||
exact_mappings:
|
||||
- crm:E10_Transfer_of_Custody
|
||||
|
||||
close_mappings:
|
||||
- rico:TransferEvent
|
||||
|
||||
related_mappings:
|
||||
- prov:Activity
|
||||
- schema:TransferAction
|
||||
|
||||
slots:
|
||||
- temporal_extent
|
||||
- starts_or_started_at_location
|
||||
- ends_or_ended_at_location
|
||||
- has_or_had_description
|
||||
- has_or_had_policy
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
|
||||
slot_usage:
|
||||
temporal_extent:
|
||||
description: |
|
||||
When the transfer occurred. Can be a single date or date range.
|
||||
range: TimeSpan
|
||||
required: false
|
||||
inlined: true
|
||||
starts_or_started_at_location:
|
||||
description: |
|
||||
Origin location - where the transferred items came from.
|
||||
range: Location
|
||||
required: false
|
||||
inlined: true
|
||||
ends_or_ended_at_location:
|
||||
description: |
|
||||
Destination location - where the transferred items went to.
|
||||
range: Location
|
||||
required: false
|
||||
inlined: true
|
||||
has_or_had_description:
|
||||
description: |
|
||||
Narrative description of the transfer event.
|
||||
range: Description
|
||||
required: false
|
||||
inlined: true
|
||||
has_or_had_policy:
|
||||
description: |
|
||||
Policy that governed this transfer.
|
||||
range: TransferPolicy
|
||||
required: false
|
||||
inlined: true
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Transfer events apply to all heritage custodian types.
|
||||
custodian_types_primary: null
|
||||
specificity_score: 0.5
|
||||
specificity_rationale: Specialized event type for custody/ownership changes.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
temporal_extent:
|
||||
begin_of_the_begin:
|
||||
timestamp_value: "2020-01-15T00:00:00Z"
|
||||
starts_or_started_at_location:
|
||||
location_name: "Old Storage Facility"
|
||||
ends_or_ended_at_location:
|
||||
location_name: "New Archive Building"
|
||||
has_or_had_description:
|
||||
description_text: "Transfer of historical photographs to new climate-controlled facility"
|
||||
description: "Collection relocation transfer"
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
# TransferPolicy class
|
||||
# Policy governing custody or ownership transfers
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 0 (LinkML single source of truth), 38 (slot centralization), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# Supports migration: transfer_policy → is_or_was_transferred + TransferEvent + has_or_had_policy + TransferPolicy
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/TransferPolicy
|
||||
name: transfer_policy_class
|
||||
title: TransferPolicy Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
odrl: http://www.w3.org/ns/odrl/2/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/policy_name
|
||||
- ../slots/policy_text
|
||||
- ../slots/has_or_had_description
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./Description
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
|
||||
classes:
|
||||
TransferPolicy:
|
||||
class_uri: odrl:Policy
|
||||
description: |
|
||||
Policy governing custody or ownership transfers.
|
||||
|
||||
**Purpose**:
|
||||
TransferPolicy captures the rules and conditions under which
|
||||
heritage materials may be transferred between institutions,
|
||||
including donor restrictions and legal requirements.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary**: `odrl:Policy` - ODRL policy (rights/rules)
|
||||
- **Close**: `rico:RecordResourceTransferRule` - RiC-O transfer rule
|
||||
- **Related**: `dcterms:RightsStatement` - rights/access statement
|
||||
|
||||
**Use Cases**:
|
||||
- Donor restrictions on collection transfers
|
||||
- Deaccessioning policies
|
||||
- Inter-institutional loan agreements
|
||||
- Government archive transfer regulations
|
||||
|
||||
exact_mappings:
|
||||
- odrl:Policy
|
||||
|
||||
close_mappings:
|
||||
- rico:RecordResourceTransferRule
|
||||
|
||||
related_mappings:
|
||||
- dcterms:RightsStatement
|
||||
|
||||
slots:
|
||||
- policy_name
|
||||
- policy_text
|
||||
- has_or_had_description
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
|
||||
slot_usage:
|
||||
policy_name:
|
||||
description: |
|
||||
Name or title of the transfer policy.
|
||||
range: string
|
||||
required: false
|
||||
policy_text:
|
||||
description: |
|
||||
Full text of the policy.
|
||||
range: string
|
||||
required: false
|
||||
has_or_had_description:
|
||||
description: |
|
||||
Summary description of the policy.
|
||||
range: Description
|
||||
required: false
|
||||
inlined: true
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Transfer policies apply to all heritage types.
|
||||
custodian_types_primary: null
|
||||
specificity_score: 0.55
|
||||
specificity_rationale: Specialized policy type for transfer governance.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
policy_name: "Donor Transfer Restriction"
|
||||
policy_text: "Materials may not be transferred to institutions outside the Netherlands without donor consent."
|
||||
description: "Donor-imposed transfer restriction"
|
||||
121
frontend/public/schemas/20251121/linkml/modules/classes/URL.yaml
Normal file
121
frontend/public/schemas/20251121/linkml/modules/classes/URL.yaml
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
# URL class
|
||||
# Structured URL representation with type and metadata
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 0 (LinkML single source of truth), 38 (slot centralization), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# This class supports 4 slot migrations per slot_fixes.yaml:
|
||||
# - website → has_or_had_url + URL
|
||||
# - url → has_or_had_url + URL
|
||||
# - vendor_url → has_or_had_url + URL
|
||||
# - was_archived_at → is_or_was_webarchived_at + URL
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/URL
|
||||
name: url_class
|
||||
title: URL Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/url_value
|
||||
- ../slots/url_type
|
||||
- ../slots/language
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
|
||||
classes:
|
||||
URL:
|
||||
class_uri: schema:URL
|
||||
description: |
|
||||
Structured representation of a URL with type classification and metadata.
|
||||
|
||||
**Purpose**:
|
||||
URL provides a reusable class for representing web addresses with
|
||||
additional context about what type of URL it is (website, API, archive, etc.)
|
||||
and optional language/locale information.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary**: `schema:URL` - Schema.org URL datatype
|
||||
- **Close**: `dcterms:URI` - Dublin Core URI
|
||||
- **Related**: `prov:Entity` - Provenance entity (for archived URLs)
|
||||
|
||||
**Use Cases**:
|
||||
- Institution websites: `has_or_had_url` with type "website"
|
||||
- API endpoints: `has_or_had_url` with type "api"
|
||||
- Web archive snapshots: `is_or_was_webarchived_at` with archive URL
|
||||
- Vendor/supplier sites: `has_or_had_url` with type "vendor"
|
||||
|
||||
**Replaces** (per slot_fixes.yaml):
|
||||
- `website` (simple string URL)
|
||||
- `url` (simple string URL)
|
||||
- `vendor_url` (simple string URL)
|
||||
- `was_archived_at` (simple string URL)
|
||||
|
||||
exact_mappings:
|
||||
- schema:URL
|
||||
|
||||
close_mappings:
|
||||
- dcterms:URI
|
||||
|
||||
related_mappings:
|
||||
- prov:Entity
|
||||
|
||||
slots:
|
||||
- url_value
|
||||
- url_type
|
||||
- language
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
|
||||
slot_usage:
|
||||
url_value:
|
||||
description: |
|
||||
The actual URL string (e.g., https://example.org/).
|
||||
range: uri
|
||||
required: true
|
||||
url_type:
|
||||
description: |
|
||||
Classification of the URL type (website, api, archive, etc.).
|
||||
range: string
|
||||
required: false
|
||||
language:
|
||||
description: |
|
||||
Language/locale of the content at this URL.
|
||||
ISO 639-1 code, optionally with region (e.g., "en", "nl-NL").
|
||||
range: string
|
||||
required: false
|
||||
pattern: "^[a-z]{2}(-[A-Z]{2})?$"
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: URLs apply to all heritage custodian types.
|
||||
custodian_types_primary: null
|
||||
specificity_score: 0.15
|
||||
specificity_rationale: Generic URL class applicable across all contexts.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
url_value: "https://www.rijksmuseum.nl/"
|
||||
url_type: website
|
||||
language: nl
|
||||
description: "Official website URL for Rijksmuseum"
|
||||
- value: |
|
||||
url_value: "https://api.rijksmuseum.nl/api/nl/collection"
|
||||
url_type: api
|
||||
language: nl
|
||||
description: "API endpoint for Rijksmuseum collection"
|
||||
- value: |
|
||||
url_value: "https://web.archive.org/web/20240101/https://example.org/"
|
||||
url_type: webarchive
|
||||
description: "Web archive snapshot URL"
|
||||
|
|
@ -0,0 +1,175 @@
|
|||
# UpdateFrequency - Structured frequency/periodicity for data updates
|
||||
# Created per slot_fixes.yaml migration for: update_frequency
|
||||
# Creation date: 2026-01-14
|
||||
#
|
||||
# REVISION FROM slot_fixes.yaml (lines 1893-1910):
|
||||
# - label: has_or_had_frequency (slot)
|
||||
# - label: UpdateFrequency (class) ← THIS FILE
|
||||
# - link_branch 1: has_or_had_quantity → Quantity
|
||||
# - link_branch 2: has_or_had_time_interval → TimeInterval
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/UpdateFrequency
|
||||
name: UpdateFrequency
|
||||
title: UpdateFrequency
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
dcat: http://www.w3.org/ns/dcat#
|
||||
schema: http://schema.org/
|
||||
time: http://www.w3.org/2006/time#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ./Quantity
|
||||
- ./TimeInterval
|
||||
- ../slots/has_or_had_quantity
|
||||
- ../slots/has_or_had_time_interval
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
UpdateFrequency:
|
||||
description: >-
|
||||
Structured representation of how often a device, system, or data source
|
||||
sends updates or refreshes data.
|
||||
|
||||
**WHY A DEDICATED CLASS?**
|
||||
|
||||
Update frequency is more than a simple string - it has:
|
||||
- **Quantity**: How many updates (e.g., "5" in "every 5 minutes")
|
||||
- **Time Interval**: The period (e.g., "minutes" in "every 5 minutes")
|
||||
- **Trigger-based**: Some updates are event-driven, not time-based
|
||||
|
||||
**SLOT_FIXES.YAML REVISION** (lines 1893-1910):
|
||||
- Branch 1: has_or_had_quantity → Quantity (numeric value)
|
||||
- Branch 2: has_or_had_time_interval → TimeInterval (duration)
|
||||
|
||||
**ONTOLOGY MAPPING**:
|
||||
- class_uri: dcterms:Frequency (Dublin Core)
|
||||
- Dublin Core `accrualPeriodicity` uses Frequency for collection update rates
|
||||
|
||||
**USE CASES**:
|
||||
- IoT sensors: "Every 5 minutes", "Hourly", "Real-time"
|
||||
- Data feeds: "Daily", "Weekly", "Monthly"
|
||||
- Event-driven: "On proximity trigger", "On change"
|
||||
|
||||
**EXAMPLES**:
|
||||
- Climate sensor: 5 updates per minute
|
||||
- Beacon: On proximity trigger (no time interval)
|
||||
- Database sync: Daily at midnight
|
||||
|
||||
class_uri: dcterms:Frequency
|
||||
|
||||
exact_mappings:
|
||||
- dcterms:Frequency
|
||||
- dcat:frequency
|
||||
|
||||
close_mappings:
|
||||
- schema:Schedule
|
||||
|
||||
related_mappings:
|
||||
- time:TemporalEntity
|
||||
|
||||
slots:
|
||||
- has_or_had_quantity
|
||||
- has_or_had_time_interval
|
||||
|
||||
attributes:
|
||||
frequency_description:
|
||||
range: string
|
||||
description: >-
|
||||
Human-readable description of the update frequency.
|
||||
Examples: "Every 5 minutes", "Hourly", "Real-time", "On proximity trigger"
|
||||
|
||||
is_event_driven:
|
||||
range: boolean
|
||||
description: >-
|
||||
True if updates are triggered by events rather than time intervals.
|
||||
Examples: beacon proximity triggers, change detection, user actions.
|
||||
ifabsent: "false"
|
||||
|
||||
trigger_type:
|
||||
range: string
|
||||
description: >-
|
||||
Type of event that triggers updates (when is_event_driven is true).
|
||||
Examples: "proximity", "change", "request", "threshold"
|
||||
|
||||
slot_usage:
|
||||
has_or_had_quantity:
|
||||
range: Quantity
|
||||
inlined: true
|
||||
description: >-
|
||||
The numeric quantity component of the frequency.
|
||||
For "every 5 minutes", this would be a Quantity with value 5.
|
||||
examples:
|
||||
- value: |
|
||||
has_or_had_quantity:
|
||||
numeric_value: 5
|
||||
has_or_had_measurement_unit:
|
||||
unit_symbol: "updates"
|
||||
description: 5 updates per interval
|
||||
|
||||
has_or_had_time_interval:
|
||||
range: TimeInterval
|
||||
inlined: true
|
||||
description: >-
|
||||
The time interval/period component of the frequency.
|
||||
For "every 5 minutes", this would be a TimeInterval representing minutes.
|
||||
examples:
|
||||
- value: |
|
||||
has_or_had_time_interval:
|
||||
duration_value: "PT1M"
|
||||
duration_description: "per minute"
|
||||
description: Per-minute interval
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Update frequency applicable to all custodian types with IoT or data systems.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.35
|
||||
specificity_rationale: >-
|
||||
Moderate specificity - relevant to custodians with digital/IoT infrastructure.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
UpdateFrequency:
|
||||
frequency_description: "Every 5 minutes"
|
||||
has_or_had_quantity:
|
||||
numeric_value: 5
|
||||
has_or_had_time_interval:
|
||||
duration_value: "PT1M"
|
||||
duration_description: "minute"
|
||||
description: Climate sensor updating every 5 minutes.
|
||||
|
||||
- value: |
|
||||
UpdateFrequency:
|
||||
frequency_description: "Hourly"
|
||||
has_or_had_quantity:
|
||||
numeric_value: 1
|
||||
has_or_had_time_interval:
|
||||
duration_value: "PT1H"
|
||||
duration_description: "hour"
|
||||
description: Hourly update frequency.
|
||||
|
||||
- value: |
|
||||
UpdateFrequency:
|
||||
frequency_description: "On proximity trigger"
|
||||
is_event_driven: true
|
||||
trigger_type: "proximity"
|
||||
description: Event-driven beacon updates (no time interval).
|
||||
|
||||
- value: |
|
||||
UpdateFrequency:
|
||||
frequency_description: "Real-time"
|
||||
is_event_driven: true
|
||||
trigger_type: "continuous"
|
||||
description: Real-time streaming updates.
|
||||
|
||||
comments:
|
||||
- Created from slot_fixes.yaml migration (2026-01-14)
|
||||
- Replaces simple string update_frequency slot
|
||||
- Supports both time-based and event-driven frequencies
|
||||
- Uses Dublin Core Frequency class for semantic alignment
|
||||
|
|
@ -5,6 +5,8 @@ imports:
|
|||
- linkml:types
|
||||
- ./VideoAnnotation
|
||||
- ./VideoTimeSegment
|
||||
- ./Quantity
|
||||
- ./Methodology
|
||||
- ../slots/person_id
|
||||
- ../slots/has_average_scene_duration_seconds
|
||||
- ../slots/cut_count
|
||||
|
|
@ -12,6 +14,7 @@ imports:
|
|||
- ../slots/has_or_had_detected_landmark
|
||||
- ../slots/has_or_had_detected_logo
|
||||
- ../slots/has_or_had_detected_object
|
||||
- ../slots/has_or_had_quantity
|
||||
- ../slots/detection_level
|
||||
- ../slots/dissolve_count
|
||||
- ../slots/face_bbox
|
||||
|
|
@ -60,8 +63,6 @@ imports:
|
|||
- ../slots/total_characters_extracted
|
||||
- ../slots/tracking_ids_assigned
|
||||
- ../slots/transition_types_detected
|
||||
- ../slots/unique_face_count
|
||||
- ../slots/unique_object_count
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
- ../enums/DetectionLevelEnum
|
||||
|
|
@ -299,14 +300,13 @@ classes:
|
|||
- has_or_had_detected_landmark
|
||||
- has_or_had_detected_logo
|
||||
- has_or_had_detected_object
|
||||
- has_or_had_quantity
|
||||
- includes_object_tracking
|
||||
- linked_to_collection
|
||||
- object_classes_detected
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
- tracking_ids_assigned
|
||||
- unique_face_count
|
||||
- unique_object_count
|
||||
slot_usage:
|
||||
has_or_had_detected_object:
|
||||
range: DetectedObject
|
||||
|
|
@ -340,20 +340,34 @@ classes:
|
|||
examples:
|
||||
- value: '[{label: ''Rijksmuseum building'', wikidata_id: ''Q190804''}]'
|
||||
description: Detected landmark with Wikidata link
|
||||
unique_object_count:
|
||||
range: integer
|
||||
has_or_had_quantity:
|
||||
range: Quantity
|
||||
multivalued: true
|
||||
required: false
|
||||
minimum_value: 0
|
||||
inlined_as_list: true
|
||||
description: >-
|
||||
Quantities for unique object/face counts with methodology tracking.
|
||||
RULE 53: Replaces unique_object_count and unique_face_count slots.
|
||||
Use has_or_had_measurement_unit to specify OBJECT or FACE unit type.
|
||||
Use has_or_had_methodology to document entity resolution approach.
|
||||
examples:
|
||||
- value: 15
|
||||
description: 15 unique objects identified
|
||||
unique_face_count:
|
||||
range: integer
|
||||
required: false
|
||||
minimum_value: 0
|
||||
examples:
|
||||
- value: 3
|
||||
description: 3 unique people identified
|
||||
- value:
|
||||
quantity_value: 15
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: OBJECT
|
||||
has_or_had_methodology:
|
||||
methodology_type: ENTITY_RESOLUTION
|
||||
has_or_had_label: "DeepSORT tracking + embedding clustering"
|
||||
description: 15 unique objects identified via entity resolution
|
||||
- value:
|
||||
quantity_value: 3
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: FACE
|
||||
has_or_had_methodology:
|
||||
methodology_type: ENTITY_RESOLUTION
|
||||
has_or_had_label: "ArcFace clustering"
|
||||
confidence_threshold: 0.6
|
||||
description: 3 unique people identified via face clustering
|
||||
object_classes_detected:
|
||||
range: string
|
||||
multivalued: true
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ imports:
|
|||
- ./SocialMediaPostTypes
|
||||
- ../slots/language
|
||||
- ../slots/has_aspect_ratio
|
||||
- ../slots/available_caption_languages
|
||||
# REMOVED 2026-01-15: ../slots/available_caption_languages - migrated to has_available_caption_language
|
||||
- ../slots/caption_available
|
||||
- ../slots/comment_author
|
||||
- ../slots/comment_author_channel_id
|
||||
|
|
@ -36,7 +36,9 @@ imports:
|
|||
- ../slots/template_specificity
|
||||
- ../slots/video_category_id
|
||||
- ../slots/video_comment
|
||||
- ../slots/view_count
|
||||
- ../slots/has_or_had_quantity
|
||||
- ./Quantity
|
||||
# MIGRATED 2026-01-15: ../slots/view_count → ../slots/has_or_had_quantity per Rule 53
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
- ../slots/definition
|
||||
|
|
@ -103,7 +105,7 @@ classes:
|
|||
|
||||
| caption | - | schema:caption |
|
||||
|
||||
| view_count | - | schema:interactionStatistic |
|
||||
| view_count | - | schema:interactionStatistic (via Quantity) |
|
||||
|
||||
|
||||
**PLATFORM SUPPORT**:
|
||||
|
|
@ -193,7 +195,7 @@ classes:
|
|||
- wikidata:Q604644
|
||||
slots:
|
||||
- has_aspect_ratio
|
||||
- available_caption_languages
|
||||
- has_available_caption_language
|
||||
- caption_available
|
||||
- comment_count
|
||||
- comments_fetched
|
||||
|
|
@ -214,7 +216,7 @@ classes:
|
|||
- template_specificity
|
||||
- video_category_id
|
||||
- video_comment
|
||||
- view_count
|
||||
- has_or_had_quantity
|
||||
slot_usage:
|
||||
duration:
|
||||
range: string
|
||||
|
|
@ -275,12 +277,19 @@ classes:
|
|||
- en
|
||||
- de
|
||||
description: Captions available in Dutch, English, German
|
||||
view_count:
|
||||
range: integer
|
||||
required: false
|
||||
minimum_value: 0
|
||||
has_or_had_quantity:
|
||||
range: Quantity
|
||||
inlined: true
|
||||
description: >-
|
||||
View count for video. RULE 53: Replaces deprecated view_count with
|
||||
structured Quantity class supporting measurement unit (VIEW) and
|
||||
temporal extent for point-in-time observation.
|
||||
examples:
|
||||
- value: 132
|
||||
- value:
|
||||
numeric_value: 132
|
||||
has_or_had_measurement_unit: VIEW
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2025-12-01T23:16:22Z"
|
||||
description: 132 views at observation time
|
||||
like_count:
|
||||
range: integer
|
||||
|
|
|
|||
|
|
@ -0,0 +1,94 @@
|
|||
# VisitingScholar - Visiting scholar/researcher programs accepted by institution
|
||||
# Created per slot_fixes.yaml migration for: accepts_or_accepted_visiting_scholar
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/VisitingScholar
|
||||
name: VisitingScholar
|
||||
title: VisitingScholar
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
VisitingScholar:
|
||||
description: >-
|
||||
Information about visiting scholar or researcher programs accepted by an institution.
|
||||
|
||||
**CONTEXT**:
|
||||
Many heritage institutions accept visiting researchers who need access to
|
||||
collections, archives, or special materials for academic research.
|
||||
|
||||
**PROGRAM TYPES**:
|
||||
- Short-term research visits
|
||||
- Fellowship programs
|
||||
- Residencies
|
||||
- Affiliated researcher positions
|
||||
|
||||
Used with `accepts_or_accepted` slot to indicate researcher access programs.
|
||||
|
||||
class_uri: schema:ResearchProject
|
||||
|
||||
close_mappings:
|
||||
- schema:ScholarlyArticle
|
||||
|
||||
attributes:
|
||||
program_type:
|
||||
range: string
|
||||
required: true
|
||||
description: >-
|
||||
Type of visiting program (e.g., "fellowship", "residency", "short_term_visit").
|
||||
|
||||
duration:
|
||||
range: string
|
||||
description: >-
|
||||
Typical duration of visits (e.g., "1-4 weeks", "3-12 months").
|
||||
|
||||
eligibility:
|
||||
range: string
|
||||
multivalued: true
|
||||
description: >-
|
||||
Eligibility requirements (e.g., "PhD candidates", "University affiliates").
|
||||
|
||||
application_process:
|
||||
range: string
|
||||
description: >-
|
||||
Description of the application process.
|
||||
|
||||
stipend_available:
|
||||
range: boolean
|
||||
description: >-
|
||||
Whether financial support/stipend is available.
|
||||
|
||||
annotations:
|
||||
custodian_types: '["A", "L", "R", "M"]'
|
||||
custodian_types_rationale: >-
|
||||
Visiting scholar programs primarily at archives, libraries, research centers, museums.
|
||||
custodian_types_primary: "A"
|
||||
specificity_score: 0.75
|
||||
specificity_rationale: >-
|
||||
High specificity - specific to research access programs.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
VisitingScholar:
|
||||
program_type: "fellowship"
|
||||
duration: "3-6 months"
|
||||
eligibility:
|
||||
- "PhD candidates"
|
||||
- "Post-doctoral researchers"
|
||||
stipend_available: true
|
||||
description: Fellowship program for researchers.
|
||||
|
||||
- value: |
|
||||
VisitingScholar:
|
||||
program_type: "short_term_visit"
|
||||
duration: "1-4 weeks"
|
||||
application_process: "Submit research proposal via email"
|
||||
description: Short-term research visit program.
|
||||
|
|
@ -0,0 +1,134 @@
|
|||
# WikiDataEntry class
|
||||
# Reference to a Wikidata entity for alignments and equivalences
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 0 (LinkML single source of truth), 38 (slot centralization), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# This class supports 5 slot migrations per slot_fixes.yaml:
|
||||
# - wikidata_mapping
|
||||
# - wikidata_equivalent
|
||||
# - wikidata_class
|
||||
# - wikidata_alignment
|
||||
# - wikidata
|
||||
#
|
||||
# NOTE: Similar to WikidataEntity but designed as migration target for slot_fixes.yaml
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/WikiDataEntry
|
||||
name: wikidata_entry_class
|
||||
title: WikiDataEntry Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
wikibase: http://wikiba.se/ontology#
|
||||
wd: http://www.wikidata.org/entity/
|
||||
schema: http://schema.org/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/wikidata_qid
|
||||
- ../slots/wikidata_label
|
||||
- ../slots/wikidata_description
|
||||
- ../slots/language
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
|
||||
classes:
|
||||
WikiDataEntry:
|
||||
class_uri: wikibase:Item
|
||||
description: |
|
||||
Reference to a Wikidata entity (Q-item) for alignments and equivalences.
|
||||
|
||||
**Purpose**:
|
||||
WikiDataEntry provides a reusable class for representing Wikidata entity
|
||||
references with Q-number identifier, label, and description.
|
||||
Used for ontology alignments, equivalence mappings, and classification.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary**: `wikibase:Item` - Wikibase item class
|
||||
- **Close**: `schema:Thing` - general web entity
|
||||
- **Related**: `skos:Concept` - controlled vocabulary concept
|
||||
|
||||
**Use Cases**:
|
||||
- Ontology alignment: `wikidata_alignment` → relates schema class to Wikidata Q
|
||||
- Equivalence: `wikidata_equivalent` → marks semantic equivalence
|
||||
- Classification: `wikidata_class` → instance_of relationship
|
||||
- General mapping: `wikidata_mapping` → related concept
|
||||
|
||||
**Replaces** (per slot_fixes.yaml):
|
||||
- `wikidata_mapping` (string Q-number)
|
||||
- `wikidata_equivalent` (string Q-number)
|
||||
- `wikidata_class` (string Q-number)
|
||||
- `wikidata_alignment` (string Q-number)
|
||||
- `wikidata` (string Q-number)
|
||||
|
||||
exact_mappings:
|
||||
- wikibase:Item
|
||||
|
||||
close_mappings:
|
||||
- schema:Thing
|
||||
|
||||
related_mappings:
|
||||
- skos:Concept
|
||||
- prov:Entity
|
||||
|
||||
slots:
|
||||
- wikidata_qid
|
||||
- wikidata_label
|
||||
- wikidata_description
|
||||
- language
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
|
||||
slot_usage:
|
||||
wikidata_qid:
|
||||
description: |
|
||||
The Wikidata Q-number identifier (e.g., Q12345).
|
||||
range: string
|
||||
required: true
|
||||
pattern: "^Q[0-9]+$"
|
||||
wikidata_label:
|
||||
description: |
|
||||
Human-readable label from Wikidata.
|
||||
range: string
|
||||
required: false
|
||||
wikidata_description:
|
||||
description: |
|
||||
Description from Wikidata.
|
||||
range: string
|
||||
required: false
|
||||
language:
|
||||
description: |
|
||||
Language code for the label and description.
|
||||
Default: "en"
|
||||
range: string
|
||||
required: false
|
||||
pattern: "^[a-z]{2}(-[A-Z]{2})?$"
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Generic Wikidata reference class applicable to all types.
|
||||
custodian_types_primary: null
|
||||
specificity_score: 0.2
|
||||
specificity_rationale: Broadly applicable generic class for Wikidata links.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
wikidata_qid: "Q33506"
|
||||
wikidata_label: "museum"
|
||||
wikidata_description: "institution that holds and displays collections"
|
||||
language: en
|
||||
description: "Wikidata reference for 'museum' concept"
|
||||
- value: |
|
||||
wikidata_qid: "Q190804"
|
||||
wikidata_label: "Rijksmuseum"
|
||||
wikidata_description: "Dutch national museum in Amsterdam"
|
||||
language: en
|
||||
description: "Wikidata reference for specific institution"
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
# WikiDataIdentifier - A Wikidata Q-number identifier
|
||||
# Created per slot_fixes.yaml migration for: wikidata_id, wikidata_entity_id, wikidata_entity
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/WikiDataIdentifier
|
||||
name: WikiDataIdentifier
|
||||
title: WikiDataIdentifier
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
wikidata: http://www.wikidata.org/entity/
|
||||
schema: http://schema.org/
|
||||
dct: http://purl.org/dc/terms/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
WikiDataIdentifier:
|
||||
description: >-
|
||||
A Wikidata entity identifier (Q-number) that uniquely identifies an entity
|
||||
in the Wikidata knowledge base.
|
||||
|
||||
**DISTINCTION FROM WikiDataEntry**:
|
||||
- `WikiDataIdentifier` is for simple Q-number storage (identifier only)
|
||||
- `WikiDataEntry` includes full entity data (label, description, claims)
|
||||
|
||||
Use `WikiDataIdentifier` when:
|
||||
- Only storing the Q-number reference
|
||||
- Linking to Wikidata without caching entity data
|
||||
|
||||
**FORMAT**: Q followed by digits (e.g., Q190804 for Rijksmuseum)
|
||||
**URL PATTERN**: https://www.wikidata.org/wiki/Q{number}
|
||||
|
||||
class_uri: dct:Identifier
|
||||
|
||||
close_mappings:
|
||||
- schema:PropertyValue
|
||||
- wikidata:Q43649390 # Wikidata identifier
|
||||
|
||||
attributes:
|
||||
qid:
|
||||
range: string
|
||||
required: true
|
||||
pattern: "^Q[0-9]+$"
|
||||
description: >-
|
||||
The Wikidata Q-number (e.g., Q190804).
|
||||
Must start with 'Q' followed by one or more digits.
|
||||
|
||||
url:
|
||||
range: uri
|
||||
description: >-
|
||||
Full URL to the Wikidata entity page.
|
||||
Auto-derivable from qid: https://www.wikidata.org/wiki/{qid}
|
||||
|
||||
label:
|
||||
range: string
|
||||
description: >-
|
||||
Human-readable label for the entity (optional cache).
|
||||
May be language-specific.
|
||||
|
||||
retrieved_at:
|
||||
range: datetime
|
||||
description: >-
|
||||
Timestamp when this identifier was retrieved/verified.
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Wikidata identifiers applicable to all custodian types.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.3
|
||||
specificity_rationale: >-
|
||||
Low specificity - universal identifier type.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
WikiDataIdentifier:
|
||||
qid: "Q190804"
|
||||
url: "https://www.wikidata.org/wiki/Q190804"
|
||||
label: "Rijksmuseum"
|
||||
description: Wikidata identifier for the Rijksmuseum.
|
||||
|
||||
- value: |
|
||||
WikiDataIdentifier:
|
||||
qid: "Q1526131"
|
||||
label: "Biblioteca Nacional do Brasil"
|
||||
description: Wikidata identifier for the National Library of Brazil.
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
# XPath - An XPath expression for locating elements in HTML/XML documents
|
||||
# Created per slot_fixes.yaml migration for: xpath
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/XPath
|
||||
name: XPath
|
||||
title: XPath
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
schema: http://schema.org/
|
||||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
XPath:
|
||||
description: >-
|
||||
An XPath expression used to locate a specific element within an HTML or XML document.
|
||||
|
||||
**CRITICAL PROVENANCE FIELD**:
|
||||
XPath expressions provide the essential link between extracted data values and their
|
||||
original source location in archived documents. Without an XPath, a claim extracted
|
||||
from a webpage is unverifiable.
|
||||
|
||||
**FORMAT**: Standard XPath 1.0 expressions
|
||||
**EXAMPLE**: `/html[1]/body[1]/div[6]/div[1]/table[3]/tbody[1]/tr[1]/td[1]/p[6]`
|
||||
|
||||
**USAGE CONTEXT**:
|
||||
Used with `has_or_had_provenance_path` slot to link provenance records to
|
||||
specific locations in source documents.
|
||||
|
||||
class_uri: prov:Location
|
||||
|
||||
close_mappings:
|
||||
- schema:xpath
|
||||
|
||||
related_mappings:
|
||||
- prov:atLocation
|
||||
|
||||
attributes:
|
||||
expression:
|
||||
range: string
|
||||
required: true
|
||||
description: >-
|
||||
The XPath expression string.
|
||||
Example: /html[1]/body[1]/div[6]/div[1]/table[3]/tbody[1]/tr[1]/td[1]/p[6]
|
||||
pattern: "^/.*"
|
||||
|
||||
matched_text:
|
||||
range: string
|
||||
description: >-
|
||||
The text content found at this XPath location.
|
||||
Used for verification and debugging.
|
||||
|
||||
match_score:
|
||||
range: float
|
||||
minimum_value: 0.0
|
||||
maximum_value: 1.0
|
||||
description: >-
|
||||
Confidence score (0.0 to 1.0) for the XPath match.
|
||||
1.0 = exact match, <1.0 = fuzzy match.
|
||||
|
||||
source_document:
|
||||
range: uriorcurie
|
||||
description: >-
|
||||
URI or path to the source document where this XPath applies.
|
||||
Example: web/GHCID/example.org/rendered.html
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
XPath provenance is relevant for any custodian type where web content
|
||||
is extracted and archived.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.7
|
||||
specificity_rationale: >-
|
||||
High specificity - only relevant for web-extracted data with HTML archival.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
XPath:
|
||||
expression: "/html[1]/body[1]/div[6]/div[1]/table[3]/tbody[1]/tr[1]/td[1]/p[6]"
|
||||
matched_text: "Historische Vereniging Nijeveen"
|
||||
match_score: 1.0
|
||||
source_document: "web/0021/historischeverenigingnijeveen.nl/rendered.html"
|
||||
description: >-
|
||||
XPath extraction pointing to an institution name in archived HTML.
|
||||
|
||||
- value: |
|
||||
XPath:
|
||||
expression: "//meta[@property='og:title']/@content"
|
||||
matched_text: "Amsterdam Museum - Official Website"
|
||||
match_score: 0.95
|
||||
description: >-
|
||||
XPath to OpenGraph metadata in a webpage header.
|
||||
|
|
@ -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.
|
||||
|
|
@ -0,0 +1,169 @@
|
|||
id: https://nde.nl/ontology/hc/enum/MeasureUnitEnum
|
||||
name: measure_unit_enum
|
||||
title: Measure Unit Enum
|
||||
description: >-
|
||||
Enumeration of measurement units for area, length, and related quantities.
|
||||
|
||||
**RULE 53 COMPLIANT**: Supports the MeasureUnit class for standardized
|
||||
unit representation in Area and other measurement classes.
|
||||
|
||||
**STANDARDS ALIGNMENT**:
|
||||
- ISO 80000-1 (Quantities and units)
|
||||
- QUDT (Quantities, Units, Dimensions and Types)
|
||||
- UCUM (Unified Code for Units of Measure)
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
qudt: http://qudt.org/vocab/unit/
|
||||
ucum: http://unitsofmeasure.org/ucum/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
enums:
|
||||
MeasureUnitEnum:
|
||||
description: >-
|
||||
Standard measurement units for heritage custodian facility metrics.
|
||||
|
||||
Covers area (m², hectares, acres), length (m, km, linear meters),
|
||||
and related quantities for buildings, sites, and collections.
|
||||
permissible_values:
|
||||
# Area units
|
||||
SQUARE_METER:
|
||||
description: Square meter (m²) - SI unit for area
|
||||
meaning: qudt:M2
|
||||
annotations:
|
||||
ucum_code: m2
|
||||
unit_type: area
|
||||
conversion_to_m2: 1.0
|
||||
SQUARE_KILOMETER:
|
||||
description: Square kilometer (km²)
|
||||
meaning: qudt:KiloM2
|
||||
annotations:
|
||||
ucum_code: km2
|
||||
unit_type: area
|
||||
conversion_to_m2: 1000000.0
|
||||
HECTARE:
|
||||
description: Hectare (ha) - 10,000 m²
|
||||
meaning: qudt:HA
|
||||
annotations:
|
||||
ucum_code: har
|
||||
unit_type: area
|
||||
conversion_to_m2: 10000.0
|
||||
ACRE:
|
||||
description: Acre - 4,046.86 m² (imperial)
|
||||
meaning: qudt:AC
|
||||
annotations:
|
||||
ucum_code: "[acr_us]"
|
||||
unit_type: area
|
||||
conversion_to_m2: 4046.8564224
|
||||
SQUARE_FOOT:
|
||||
description: Square foot (ft²) - imperial area unit
|
||||
meaning: qudt:FT2
|
||||
annotations:
|
||||
ucum_code: "[sft_i]"
|
||||
unit_type: area
|
||||
conversion_to_m2: 0.09290304
|
||||
|
||||
# Length units
|
||||
METER:
|
||||
description: Meter (m) - SI unit for length
|
||||
meaning: qudt:M
|
||||
annotations:
|
||||
ucum_code: m
|
||||
unit_type: length
|
||||
KILOMETER:
|
||||
description: Kilometer (km)
|
||||
meaning: qudt:KiloM
|
||||
annotations:
|
||||
ucum_code: km
|
||||
unit_type: length
|
||||
LINEAR_METER:
|
||||
description: Linear meter - for archival shelf measurement
|
||||
meaning: qudt:M
|
||||
annotations:
|
||||
ucum_code: m
|
||||
unit_type: length
|
||||
usage_context: archival_shelving
|
||||
FOOT:
|
||||
description: Foot (ft) - imperial length unit
|
||||
meaning: qudt:FT
|
||||
annotations:
|
||||
ucum_code: "[ft_i]"
|
||||
unit_type: length
|
||||
|
||||
# Special units for heritage context
|
||||
RUNNING_METER:
|
||||
description: Running meter - linear extent of collection material
|
||||
meaning: qudt:M
|
||||
annotations:
|
||||
ucum_code: m
|
||||
unit_type: length
|
||||
usage_context: collection_extent
|
||||
SHELF_METER:
|
||||
description: Shelf meter - archival/library shelving measurement
|
||||
meaning: qudt:M
|
||||
annotations:
|
||||
ucum_code: m
|
||||
unit_type: length
|
||||
usage_context: storage_capacity
|
||||
|
||||
# Count units (Rule 53: link_branch migration for visitor_count, view_count)
|
||||
VISITOR:
|
||||
description: Visitor count unit - for attendance metrics
|
||||
meaning: hc:VisitorUnit
|
||||
annotations:
|
||||
ucum_code: "1"
|
||||
unit_type: count
|
||||
usage_context: visitor_metrics
|
||||
VIEW:
|
||||
description: View count unit - for digital content metrics (videos, pages)
|
||||
meaning: hc:ViewUnit
|
||||
annotations:
|
||||
ucum_code: "1"
|
||||
unit_type: count
|
||||
usage_context: digital_metrics
|
||||
ITEM:
|
||||
description: Item count unit - for collection object counts
|
||||
meaning: hc:ItemUnit
|
||||
annotations:
|
||||
ucum_code: "1"
|
||||
unit_type: count
|
||||
usage_context: collection_metrics
|
||||
FTE:
|
||||
description: Full-time equivalent - for staff measurement
|
||||
meaning: hc:FTEUnit
|
||||
annotations:
|
||||
ucum_code: "1"
|
||||
unit_type: count
|
||||
usage_context: staff_metrics
|
||||
HEADCOUNT:
|
||||
description: Headcount - total number of individuals
|
||||
meaning: hc:HeadcountUnit
|
||||
annotations:
|
||||
ucum_code: "1"
|
||||
unit_type: count
|
||||
usage_context: staff_metrics
|
||||
OBJECT:
|
||||
description: Object count unit - for museum/archive object counts
|
||||
meaning: hc:ObjectUnit
|
||||
annotations:
|
||||
ucum_code: "1"
|
||||
unit_type: count
|
||||
usage_context: collection_metrics
|
||||
FACE:
|
||||
description: Face count unit - for unique faces in photo collections
|
||||
meaning: hc:FaceUnit
|
||||
annotations:
|
||||
ucum_code: "1"
|
||||
unit_type: count
|
||||
usage_context: digital_metrics
|
||||
|
||||
# Unknown/unspecified
|
||||
UNKNOWN:
|
||||
description: Unit not specified or unknown
|
||||
annotations:
|
||||
unit_type: unknown
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
id: https://nde.nl/ontology/hc/enum/MethodologyTypeEnum
|
||||
name: methodology_type_enum
|
||||
title: Methodology Type Enum
|
||||
description: >-
|
||||
Enumeration of methodology types for measurement derivation.
|
||||
|
||||
**RULE 53 COMPLIANT**: Created for unique_object_count and unique_face_count
|
||||
migration per slot_fixes.yaml revision (lines 1951-1994).
|
||||
|
||||
**SLOT_FIXES.YAML REFERENCE**:
|
||||
|
||||
The revision specifies `value: entity_resolution` for both unique_object_count
|
||||
and unique_face_count, indicating these counts are derived via entity resolution
|
||||
(deduplication) methodologies.
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
enums:
|
||||
MethodologyTypeEnum:
|
||||
description: >-
|
||||
Types of methodologies used to derive measurements or observations.
|
||||
|
||||
**PRIMARY USE CASE**: Video annotation unique counts
|
||||
|
||||
When counting unique objects or faces in video, different methodologies
|
||||
produce different results. This enum captures the approach used.
|
||||
permissible_values:
|
||||
ENTITY_RESOLUTION:
|
||||
description: >-
|
||||
Deduplication via feature matching and clustering.
|
||||
Used to count unique entities across multiple observations.
|
||||
Example: Counting unique faces by clustering face embeddings.
|
||||
annotations:
|
||||
slot_fixes_value: entity_resolution
|
||||
typical_use: unique_object_count, unique_face_count
|
||||
|
||||
OBJECT_TRACKING:
|
||||
description: >-
|
||||
Multi-object tracking across video frames.
|
||||
Maintains identity of objects as they move through scenes.
|
||||
Example: DeepSORT, ByteTrack tracking algorithms.
|
||||
annotations:
|
||||
typical_use: video_object_annotation
|
||||
|
||||
MANUAL_COUNT:
|
||||
description: >-
|
||||
Human manual counting or annotation.
|
||||
May involve multiple reviewers for accuracy.
|
||||
annotations:
|
||||
typical_use: ground_truth_annotation
|
||||
|
||||
STATISTICAL_SAMPLING:
|
||||
description: >-
|
||||
Count derived from statistical sampling methodology.
|
||||
Extrapolated from sample to estimate total population.
|
||||
annotations:
|
||||
typical_use: visitor_estimates, large_collection_counts
|
||||
|
||||
AUTOMATED_DETECTION:
|
||||
description: >-
|
||||
Automated detection without deduplication.
|
||||
Raw detection counts that may include duplicates.
|
||||
annotations:
|
||||
typical_use: raw_detection_counts
|
||||
|
||||
HYBRID:
|
||||
description: >-
|
||||
Combination of automated and manual methodologies.
|
||||
Automated detection with manual verification/correction.
|
||||
annotations:
|
||||
typical_use: quality_assured_annotation
|
||||
|
||||
UNKNOWN:
|
||||
description: >-
|
||||
Methodology not specified or unknown.
|
||||
|
|
@ -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.
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
# accepts_or_accepted - Generic slot for things an institution accepts
|
||||
# Created per slot_fixes.yaml migration for: accepts_or_accepted_external_work,
|
||||
# accepts_or_accepted_payment_method, accepts_or_accepted_visiting_scholar
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/accepts_or_accepted
|
||||
name: accepts_or_accepted_slot
|
||||
title: Accepts Or Accepted Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
accepts_or_accepted:
|
||||
description: >-
|
||||
Generic slot for things an institution accepts or has accepted.
|
||||
|
||||
**TEMPORAL SEMANTICS** (RiC-O style):
|
||||
The "accepts_or_accepted" naming indicates policies can change:
|
||||
- Payment methods may be added/removed
|
||||
- External work acceptance policies change
|
||||
- Visiting scholar programs may start/end
|
||||
|
||||
**USE CASES**:
|
||||
- Payment methods accepted (credit cards, cash, digital)
|
||||
- External work (conservation, digitization contracts)
|
||||
- Visiting scholars (research programs)
|
||||
|
||||
**RANGE**:
|
||||
This is a generic slot - use slot_usage in classes to constrain
|
||||
the range to specific types (ExternalWork, PaymentMethod, VisitingScholar).
|
||||
|
||||
range: string
|
||||
slot_uri: schema:acceptedPaymentMethod
|
||||
multivalued: true
|
||||
|
||||
close_mappings:
|
||||
- schema:acceptedPaymentMethod
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Acceptance policies applicable to various custodian types.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.5
|
||||
specificity_rationale: >-
|
||||
Moderate specificity - depends on context of what is accepted.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
accepts_or_accepted:
|
||||
- "credit_card"
|
||||
- "debit_card"
|
||||
- "cash"
|
||||
description: Payment methods accepted by institution.
|
||||
|
||||
comments:
|
||||
- Created from slot_fixes.yaml migration (2026-01-14)
|
||||
- Generic slot for acceptance-related relationships
|
||||
- Constrain range via slot_usage in specific classes
|
||||
|
|
@ -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
|
||||
|
|
@ -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.
|
||||
|
|
@ -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.
|
||||
|
|
@ -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.
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -1,3 +1,11 @@
|
|||
# ARCHIVED: 2026-01-15
|
||||
# REASON: Migrated to has_area_in_hectare slot
|
||||
# MIGRATION: Migration 34 - area_hectares -> has_area_in_hectare
|
||||
# AFFECTED CLASS: OutdoorSite
|
||||
# NOTES: Original slot used string range, new slot uses float range
|
||||
# slot_fixes.yaml suggested Area+MeasureUnit classes but
|
||||
# has_area_in_hectare already exists with proper semantics
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/area_hectares
|
||||
name: area_hectares_slot
|
||||
title: Area Hectares Slot
|
||||
|
|
@ -1,3 +1,11 @@
|
|||
# ARCHIVED: 2026-01-15
|
||||
# REASON: Migrated to has_arrangement_note (RiC-O style naming convention)
|
||||
# MIGRATION: slot_fixes.yaml entry for arrangement_notes
|
||||
# AFFECTED CLASS: CustodianArchive.yaml
|
||||
# NEW SLOT: has_arrangement_note (multivalued)
|
||||
#
|
||||
# Original slot definition preserved below for reference:
|
||||
# ---
|
||||
id: https://nde.nl/ontology/hc/slot/arrangement_notes
|
||||
name: arrangement_notes_slot
|
||||
title: Arrangement Notes Slot
|
||||
|
|
@ -1,3 +1,11 @@
|
|||
# ARCHIVED: 2026-01-15
|
||||
# REASON: Migrated to has_available_caption_language (RiC-O style naming convention)
|
||||
# MIGRATION: slot_fixes.yaml entry for available_caption_languages
|
||||
# AFFECTED CLASS: VideoPost.yaml
|
||||
# NEW SLOT: has_available_caption_language (multivalued string)
|
||||
#
|
||||
# Original slot definition preserved below for reference:
|
||||
# ---
|
||||
id: https://nde.nl/ontology/hc/slot/available_caption_languages
|
||||
name: available_caption_languages_slot
|
||||
title: Available Caption Languages Slot
|
||||
|
|
@ -1,6 +1,13 @@
|
|||
# ARCHIVED 2026-01-15: beneficiary_group
|
||||
# Migrated to: has_or_had_beneficiary (RiC-O style naming)
|
||||
# Reason: Slot naming convention compliance (Rule 39)
|
||||
# Session: session-2026-01-15-slot-migrations
|
||||
#
|
||||
# Original slot preserved below for reference:
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/beneficiary_group
|
||||
name: beneficiary_group_slot
|
||||
title: Beneficiary Groups Slot
|
||||
title: Beneficiary Groups Slot (ARCHIVED)
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
|
|
@ -10,42 +17,30 @@ imports:
|
|||
default_prefix: hc
|
||||
slots:
|
||||
beneficiary_group:
|
||||
description: 'Who benefits from the organization''s programs and services.
|
||||
|
||||
description: >-
|
||||
ARCHIVED: Use has_or_had_beneficiary instead.
|
||||
|
||||
Who benefits from the organization's programs and services.
|
||||
|
||||
Identifies target populations:
|
||||
|
||||
- **Heritage organizations**: Museums, archives, libraries, societies
|
||||
|
||||
- **Heritage professionals**: Conservators, curators, archivists, educators
|
||||
|
||||
- **Local communities**: Residents near heritage sites, indigenous peoples
|
||||
|
||||
- **Policy makers**: Government officials, legislators, planners
|
||||
|
||||
- **Students and researchers**: Academic community, early-career professionals
|
||||
|
||||
- **General public**: Tourists, volunteers, heritage enthusiasts
|
||||
|
||||
- **Property owners**: Private owners of heritage buildings
|
||||
|
||||
- **Emergency responders**: First responders, military, disaster relief
|
||||
|
||||
|
||||
Beneficiary identification clarifies organizational impact.
|
||||
|
||||
|
||||
Examples:
|
||||
|
||||
- "Heritage organizations, Local communities, Policy makers, General public"
|
||||
|
||||
- "Conservation professionals, Students, Heritage property owners"
|
||||
|
||||
- "Museums and libraries, Heritage managers, Volunteers"
|
||||
|
||||
- "Indigenous communities, Cultural rights holders, Traditional practitioners"
|
||||
|
||||
'
|
||||
range: string
|
||||
multivalued: true
|
||||
slot_uri: schema:audience
|
||||
deprecated: "Use has_or_had_beneficiary instead"
|
||||
deprecated_element_has_exact_replacement: has_or_had_beneficiary
|
||||
|
|
@ -1,3 +1,11 @@
|
|||
# ARCHIVED: 2026-01-14
|
||||
# REASON: Migrated to has_or_had_head per Rule 53 (Full Slot Migration)
|
||||
# NEW SLOT: has_or_had_head.yaml with org:hasMember slot_uri and Person range
|
||||
# MIGRATION SESSION: session-2026-01-14-final-migrations
|
||||
#
|
||||
# Original slot used custom hc:branchHead predicate with string range.
|
||||
# New slot uses W3C ORG standard pattern with Person class for better semantics.
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/branch_head
|
||||
name: branch_head_slot
|
||||
title: Branch Head Slot
|
||||
|
|
@ -20,3 +28,4 @@ slots:
|
|||
'
|
||||
range: string
|
||||
slot_uri: hc:branchHead
|
||||
deprecated: "ARCHIVED 2026-01-14: Use has_or_had_head instead"
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
# =============================================================================
|
||||
# ARCHIVED SLOT: building_floor_area_sqm
|
||||
# =============================================================================
|
||||
# Archive Date: 2026-01-15
|
||||
# Archived By: session-2026-01-15-area-migration
|
||||
# Reason: Migrated to generic has_or_had_area slot with Area class per Rule 53.
|
||||
# The bespoke slot violated the principle that slots should use generic
|
||||
# predicates that can be reused across multiple classes.
|
||||
#
|
||||
# Migration Target (per slot_fixes.yaml):
|
||||
# - Slot: has_or_had_area (generic)
|
||||
# - Class: Area (with area_value, has_or_had_unit, measurement_date, etc.)
|
||||
# - Enum: MeasureUnitEnum (SQUARE_METER, HECTARE, ACRE, etc.)
|
||||
#
|
||||
# Classes Updated:
|
||||
# - HistoricBuilding.yaml: Now uses has_or_had_area with range Area
|
||||
#
|
||||
# The generic pattern allows:
|
||||
# - Multiple area measurements over time (multivalued)
|
||||
# - Different units (square meters, hectares, square feet)
|
||||
# - Measurement metadata (date, method, is_estimate)
|
||||
# - Temporal semantics via has_or_had_ prefix (Rule 39)
|
||||
# =============================================================================
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/building_floor_area_sqm
|
||||
name: building_floor_area_sqm_slot
|
||||
title: Building Floor Area Sqm Slot
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
imports:
|
||||
- linkml:types
|
||||
default_prefix: hc
|
||||
slots:
|
||||
building_floor_area_sqm:
|
||||
description: 'Floor area of building in square meters.
|
||||
|
||||
'
|
||||
range: float
|
||||
slot_uri: hc:buildingFloorAreaSqm
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
# =============================================================================
|
||||
# ARCHIVED SLOT: has_area_in_hectare
|
||||
# =============================================================================
|
||||
# Archive Date: 2026-01-15
|
||||
# Archived By: session-2026-01-15-area-migration
|
||||
# Reason: CORRECTED - This bespoke slot was incorrectly created in a previous
|
||||
# session. It violated Rule 53 (Full Slot Migration) which requires
|
||||
# using GENERIC predicates from slot_fixes.yaml, NOT domain-specific ones.
|
||||
#
|
||||
# Migration Target (per slot_fixes.yaml):
|
||||
# - Slot: has_or_had_area (generic)
|
||||
# - Class: Area (with area_value, has_or_had_unit, measurement_date, etc.)
|
||||
# - Enum: MeasureUnitEnum (HECTARE, SQUARE_METER, ACRE, etc.)
|
||||
#
|
||||
# Classes Updated:
|
||||
# - OutdoorSite.yaml: Now uses has_or_had_area with range Area
|
||||
#
|
||||
# The generic pattern allows:
|
||||
# - Multiple area measurements over time (multivalued)
|
||||
# - Different units (hectares, square meters, acres)
|
||||
# - Measurement metadata (date, method, is_estimate)
|
||||
# - Temporal semantics via has_or_had_ prefix (Rule 39)
|
||||
# =============================================================================
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_area_in_hectare
|
||||
name: has_area_in_hectare_slot
|
||||
title: Has Area In Hectares Slot
|
||||
prefixes:
|
||||
geosparql: http://www.opengis.net/ont/geosparql#
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
linkml: https://w3id.org/linkml/
|
||||
schema: http://schema.org/
|
||||
imports:
|
||||
- linkml:types
|
||||
default_prefix: hc
|
||||
slots:
|
||||
has_area_in_hectare:
|
||||
description: 'Area of outdoor site in hectares.
|
||||
|
||||
|
||||
Schema.org: size for area measurement.
|
||||
|
||||
'
|
||||
range: float
|
||||
slot_uri: schema:size
|
||||
close_mappings:
|
||||
- schema:size
|
||||
related_mappings:
|
||||
- geosparql:hasGeometry
|
||||
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.
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue