- Removed obsolete slots: `has_or_had_custodian_observation`, `provider`, and `specificity_annotation`. - Updated `has_or_had_score` slot to use `SpecificityScore` class and modified its description and examples. - Added new slots: `end_seconds`, `end_time`, `has_archive_path`, `has_or_had_custodian_name`, `protocol_name`, and `protocol_version`. - Introduced a script `check_annotation_types.py` to validate the presence and structure of `custodian_types` in YAML files. - Added a script `update_specificity.py` to automate updates related to `SpecificityAnnotation` to `SpecificityScore`.
118 lines
4.4 KiB
YAML
118 lines
4.4 KiB
YAML
id: https://nde.nl/ontology/hc/class/Expenses
|
|
name: expenses_class
|
|
title: Expenses Class
|
|
description: >-
|
|
Represents financial expenses/expenditures for a heritage custodian.
|
|
Provides structured expense categorization following nonprofit functional
|
|
expense classification (program, administrative, fundraising).
|
|
prefixes:
|
|
linkml: https://w3id.org/linkml/
|
|
hc: https://nde.nl/ontology/hc/
|
|
schema: http://schema.org/
|
|
frapo: http://purl.org/cerif/frapo/
|
|
dcterms: http://purl.org/dc/terms/
|
|
imports:
|
|
- linkml:types
|
|
- ../enums/ExpenseTypeEnum
|
|
- ../slots/has_or_had_description
|
|
- ../slots/has_or_had_label
|
|
- ../slots/has_or_had_quantity
|
|
- ../slots/has_or_had_type
|
|
- ../slots/has_or_had_type # was: expense_type
|
|
- ../slots/temporal_extent
|
|
- ../slots/temporal_extent # was: valid_from + valid_to
|
|
default_prefix: hc
|
|
classes:
|
|
Expenses:
|
|
class_uri: hc:Expenses
|
|
description: >-
|
|
Represents a categorized expense/expenditure for a heritage custodian.
|
|
**FUNCTIONAL EXPENSE CLASSIFICATION (Nonprofit-Specific)**:
|
|
Heritage custodians (predominantly nonprofits) must classify expenses by function:
|
|
| Type | Description | Examples |
|
|
|------|-------------|----------|
|
|
| PROGRAM | Mission-related | Exhibitions, conservation, education |
|
|
| ADMINISTRATIVE | Overhead | Executive, finance, HR, facilities |
|
|
| FUNDRAISING | Donor relations | Events, grants, marketing |
|
|
| INNOVATION | R&D | New programs, technology |
|
|
**USAGE**:
|
|
The `has_or_had_expenses` slot links entities to Expenses instances.
|
|
Since 2026-01-22, uses `has_or_had_quantity` instead of separate amount/currency:
|
|
```yaml
|
|
financial_statement:
|
|
has_or_had_expenses:
|
|
- expense_type: ADMINISTRATIVE
|
|
has_or_had_quantity:
|
|
quantity_value: 10000000.0
|
|
quantity_type: BUDGET_AMOUNT
|
|
has_or_had_measurement_unit:
|
|
unit_symbol: EUR
|
|
unit_type: CURRENCY
|
|
description: "Management and general expenses FY2023"
|
|
- expense_type: PROGRAM
|
|
has_or_had_quantity:
|
|
quantity_value: 62000000.0
|
|
quantity_type: BUDGET_AMOUNT
|
|
has_or_had_measurement_unit:
|
|
unit_symbol: EUR
|
|
unit_type: CURRENCY
|
|
description: "Program service expenses FY2023"
|
|
```
|
|
**ONTOLOGY ALIGNMENT**:
|
|
- No standard ontology has a direct "expense" predicate
|
|
- Uses FRAPO (Funding, Research Administration and Projects Ontology) patterns
|
|
- Aligns with schema:MonetaryAmount for monetary values
|
|
exact_mappings:
|
|
- frapo:Expenditure
|
|
close_mappings:
|
|
- schema:MonetaryAmount
|
|
related_mappings:
|
|
- frapo:hasFunding
|
|
slots:
|
|
- has_or_had_type
|
|
- has_or_had_quantity # was: amount + currency (migrated 2026-01-22)
|
|
- has_or_had_description
|
|
- temporal_extent # was: valid_from + valid_to
|
|
slot_usage:
|
|
has_or_had_type:
|
|
range: ExpenseTypeEnum
|
|
required: true
|
|
has_or_had_quantity:
|
|
range: integer
|
|
required: true
|
|
inlined: true
|
|
temporal_extent:
|
|
range: TimeSpan
|
|
inlined: true
|
|
annotations:
|
|
custodian_types: '["*"]'
|
|
custodian_types_rationale: Financial expenses applicable to all heritage custodian types.
|
|
custodian_types_primary: M
|
|
specificity_score: 0.55
|
|
specificity_rationale: >-
|
|
Moderately specific - financial expense tracking is specialized but applicable
|
|
across institution types with financial reporting requirements.
|
|
examples:
|
|
- value:
|
|
has_or_had_type: ADMINISTRATIVE
|
|
has_or_had_quantity:
|
|
has_or_had_measurement_unit:
|
|
unit_symbol: EUR
|
|
temporal_extent:
|
|
begin_of_the_begin: "2023-01-01"
|
|
end_of_the_end: "2023-12-31"
|
|
- value:
|
|
has_or_had_type: PROGRAM
|
|
has_or_had_quantity:
|
|
has_or_had_measurement_unit:
|
|
unit_symbol: EUR
|
|
temporal_extent:
|
|
begin_of_the_begin: "2023-01-01"
|
|
end_of_the_end: "2023-12-31"
|
|
- value:
|
|
has_or_had_type: FUNDRAISING
|
|
has_or_had_quantity:
|
|
has_or_had_measurement_unit:
|
|
unit_symbol: EUR
|
|
# REMOVED inline slots 2026-01-16 - Rule 48 violation
|
|
# Slots are imported from ../slots/ - do not define inline
|