feat: Migrate data_format to has_or_had_output; archive previous data_format slot and update related schemas

This commit is contained in:
kempersc 2026-01-22 22:17:35 +01:00
parent 4efaef60e4
commit 849e5354cc
5 changed files with 45 additions and 9 deletions

View file

@ -1,5 +1,5 @@
{
"generated": "2026-01-22T21:08:05.291Z",
"generated": "2026-01-22T21:16:36.017Z",
"schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 3037,
"categoryCounts": {

View file

@ -1,5 +1,5 @@
{
"generated": "2026-01-22T21:16:36.017Z",
"generated": "2026-01-22T21:17:35.747Z",
"schemaRoot": "/schemas/20251121/linkml",
"totalFiles": 3037,
"categoryCounts": {

View file

@ -13,7 +13,10 @@ imports:
- ./ReconstructedEntity
- ../slots/connectivity_type
- ../slots/coverage_area
- ../slots/data_format
- ./OutputData
- ./DataFormat
- ../slots/has_or_had_output
# REMOVED 2026-01-22: data_format migrated to has_or_had_output + OutputData (Rule 53)
- ../slots/decommission_date
- ../slots/device_count
- ../slots/device_id
@ -100,7 +103,7 @@ classes:
- has_or_had_api_endpoint
- connectivity_type
- coverage_area
- data_format
- has_or_had_output # was: data_format - migrated per Rule 53 (2026-01-22)
- decommission_date
- device_count
- device_id
@ -225,11 +228,20 @@ classes:
examples:
- value: https://api.museum.nl/sensors/v1/
description: Sensor data API
data_format:
range: string
has_or_had_output: # was: data_format - migrated per Rule 53 (2026-01-22)
range: OutputData
inlined: true
description: |
Output data specification for this device.
MIGRATED from data_format per slot_fixes.yaml (Rule 53).
Uses OutputData class with DataFormat for format specification.
examples:
- value: JSON
description: JSON data format
- value:
has_or_had_format:
has_or_had_type: JsonFormat
has_or_had_media_type: "application/json"
has_or_had_description: "Sensor readings in JSON format"
description: JSON data format (was data_format)
has_or_had_frequency:
range: UpdateFrequency
inlined: true
@ -342,7 +354,11 @@ classes:
power_source: BATTERY
publishes_to: https://dashboard.rijksmuseum.nl/climate
api_endpoint: https://api.rijksmuseum.nl/climate/v1/
data_format: JSON
has_or_had_output: # was: data_format - migrated per Rule 53
has_or_had_format:
has_or_had_type: JsonFormat
has_or_had_media_type: "application/json"
has_or_had_description: "Climate sensor data"
has_or_had_frequency:
frequency_description: "Every 5 minutes"
has_or_had_quantity:

View file

@ -11428,6 +11428,26 @@ fixes:
type: slot
- label: DataFormat
type: class
processed:
status: true
date: '2026-01-22'
agent: claude-claude-sonnet-4-20250514
notes: |
**Migration #62: data_format** ✅ COMPLETE
**Pattern**: data_format → has_or_had_output + OutputData + has_or_had_format + DataFormat
**Files Created**:
- has_or_had_output.yaml: New slot for device/service outputs
- OutputData.yaml: Class for output specifications
- DataFormat.yaml: Class for format specs + DataFormatType base class
- DataFormatTypes.yaml: 19 concrete format subclasses (JSON, XML, CSV, RDF, MARC, etc.)
**Files Modified**:
- InternetOfThings.yaml: Replaced data_format with has_or_had_output + OutputData
- Updated imports, slots list, slot_usage, and examples
**Archived**: modules/slots/archive/data_format_archived_20260122.yaml
- original_slot_id: https://nde.nl/ontology/hc/slot/data_license_policy
revision:
- label: has_or_had_policy