glam/schemas/20251121/linkml/modules/classes/Quantity.yaml

250 lines
11 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/is_or_was_based_on
- ../slots/has_or_had_provenance
- ../slots/temporal_extent
- ../slots/specificity_annotation
- ../slots/has_or_had_score
- ../slots/is_estimate
- ../slots/quantity_date
- ../slots/quantity_type
- ../slots/quantity_unit
- ../slots/quantity_value
- ./MeasureUnit
- ./Methodology
- ./EstimationMethod
- ./TimeSpan
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
default_prefix: hc
classes:
Quantity:
class_uri: qudt:Quantity
description: "A quantified value with an optional unit of measurement and type.\n**QUDT ALIGNMENT**:\nMaps to `qudt:Quantity` - \"A quantitative value expressed as a number and a unit of measurement.\"\n**TYPES OF QUANTITIES**:\n| 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 | \u20AC15 million | | AREA | Physical space | 10,000 m\xB2 | | DURATION | Time period | 6 months |\n**USE CASES**:\n1. **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\n**WHY NOT JUST USE INTEGER?**\n\
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?\nThe Quantity class captures this richness while remaining simple for basic use.\n**EXAMPLE**:\n```yaml Quantity:\n quantity_id: https://nde.nl/ontology/hc/quantity/nha-zaanstreek-staff-2025\n quantity_value: 3\n quantity_type: STAFF_COUNT\n has_or_had_measurement_unit:\n has_or_had_type: VISITOR\n has_or_had_symbol: \"visitors\"\n temporal_extent:\n begin_of_the_begin: \"2024-01-01T00:00:00Z\"\n end_of_the_end: \"2024-12-31T23:59:59Z\"\n has_or_had_description: Staff assigned to Zaanstreek-Waterland branch\n```\n**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
- is_or_was_based_on
- has_or_had_provenance
- temporal_extent
- has_or_had_description
- quantity_date
- is_estimate
- specificity_annotation
- has_or_had_score
slot_usage:
has_or_had_identifier:
range: uriorcurie
required: false
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\xB2"
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:
has_or_had_type: VISITOR
has_or_had_symbol: visitors
description: Visitor count unit
- value:
has_or_had_type: SQUARE_METER
has_or_had_symbol: "m\xB2"
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:
has_or_had_type: FTE
has_or_had_symbol: FTE
has_or_had_label: full-time equivalent
has_or_had_description: Staff assigned to Zaanstreek-Waterland branch
quantity_date: '2025-01-01'
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:
has_or_had_type: VISITOR
has_or_had_symbol: visitors
temporal_extent:
begin_of_the_begin: '2023-02-10T00:00:00Z'
end_of_the_end: '2023-06-04T23:59:59Z'
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:
has_or_had_type: FACE
has_or_had_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:
has_or_had_type: OBJECT
has_or_had_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)
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types: "['*']"
custodian_types_rationale: Universal utility concept