glam/frontend/public/schemas/20251121/linkml/modules/classes/Quantity.yaml
kempersc 53c6dbc2d9 feat(schema): Migrate temporal slots and introduce new pattern classes
Major slot migrations following slot_fixes.yaml revisions:
- TimeSpan: begin_of_the_begin, begin_of_the_end, end_of_the_begin, end_of_the_end
- Quantity: has_or_had_measurement_unit with MeasureUnit class
- Description: has_or_had_description with Description class
- URL, WikiData, Timestamp, Location, Provenance pattern classes

New slots for RiC-O compliance:
- Temporal: has_or_had_time_interval, calendar_system
- Transfer: is_or_was_transferred, has_or_had_policy
- Location: starts/ends_or_started/ended_at_location
- Provenance: has_or_had_provenance_path, is_or_was_webarchived_at

Archive deprecated slots per Rule 53 workflow.
2026-01-14 20:01:55 +01:00

332 lines
12 KiB
YAML

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:
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