94 lines
3.8 KiB
YAML
94 lines
3.8 KiB
YAML
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#
|
|
prov: http://www.w3.org/ns/prov#
|
|
crm: http://www.cidoc-crm.org/cidoc-crm/
|
|
skos: http://www.w3.org/2004/02/skos/core#
|
|
rdfs: http://www.w3.org/2000/01/rdf-schema#
|
|
org: http://www.w3.org/ns/org#
|
|
xsd: http://www.w3.org/2001/XMLSchema#
|
|
imports:
|
|
- linkml:types
|
|
- ../slots/has_quantity
|
|
- ../slots/has_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_quantity
|
|
→ Quantity (numeric value) - Branch 2: has_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
|
|
close_mappings:
|
|
- dcat:frequency
|
|
- schema:Schedule
|
|
related_mappings:
|
|
- time:TemporalEntity
|
|
slots:
|
|
- has_quantity
|
|
- has_time_interval
|
|
slot_usage:
|
|
has_quantity:
|
|
range: integer
|
|
inlined: false # Fixed invalid inline for primitive type
|
|
examples:
|
|
- value: "has_quantity:\n numeric_value: 5\n has_measurement_unit:\n\
|
|
\ has_symbol: \"updates\"\n"
|
|
has_time_interval:
|
|
range: TimeInterval
|
|
inlined: true
|
|
examples:
|
|
- value: "has_time_interval:\n duration_value: \"PT1M\"\n duration_description:\
|
|
\ \"per minute\"\n"
|
|
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:\n frequency_description: \"Every 5 minutes\"\n has_quantity:\n\
|
|
\ numeric_value: 5\n has_time_interval:\n duration_value: \"\
|
|
PT1M\"\n duration_description: \"minute\"\n"
|
|
- value: "UpdateFrequency:\n frequency_description: \"Hourly\"\n has_quantity:\n\
|
|
\ numeric_value: 1\n has_time_interval:\n duration_value: \"\
|
|
PT1H\"\n duration_description: \"hour\"\n"
|
|
- value: "UpdateFrequency:\n frequency_description: \"On proximity trigger\"\n\
|
|
\ is_event_driven: true\n trigger_type: \"proximity\"\n"
|
|
- value: "UpdateFrequency:\n frequency_description: \"Real-time\"\n is_event_driven:\
|
|
\ true\n trigger_type: \"continuous\"\n"
|
|
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
|