glam/schemas/20251121/linkml/modules/classes/DataFormat.yaml
2026-02-04 00:24:46 +01:00

81 lines
3.1 KiB
YAML

id: https://nde.nl/ontology/hc/class/DataFormat
name: data_format_class
title: Data Format
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dct: http://purl.org/dc/terms/
default_prefix: hc
imports:
- linkml:types
- ../slots/20260202_matang/has_description
- ../slots/20260202_matang/has_label
- ../slots/20260202_matang/has_type
classes:
DataFormat:
class_uri: hc:DataFormat
description: "Specification of a data format for files, APIs, or data streams.\n\
**DEFINITION**:\nDataFormat captures format characteristics including type,\
\ media type,\nschema references, and encoding specifications.\n**USAGE**:\n\
- API response formats (JSON, XML, RDF)\n- File formats (CSV, Excel, PDF, TIFF)\n\
- Streaming protocols (MQTT, WebSocket payloads)\n- Archival formats (METS,\
\ EAD, MARC)\n**ONTOLOGY ALIGNMENT**:\n- **Primary** (`class_uri`): `hc:DataFormat`\
\ - Heritage Custodian class\n- **Close**: `dct:MediaTypeOrExtent` - Dublin\
\ Core media type\n- **Close**: `schema:encodingFormat` - Schema.org encoding\n\
**Common Format Types**:\n| Type | Media Type | Use Case |\n|------|------------|----------|\n\
| JSON | application/json | API responses, config |\n| XML | application/xml\
\ | Legacy APIs, metadata |\n| CSV | text/csv | Data exports, tabular |\n| RDF\
\ | application/rdf+xml | Linked data |\n| SensorML | application/xml | Sensor\
\ metadata |\n**Example**:\n```yaml\nhas_format:\n has_type:\
\ JsonFormat\n has_media_type: \"application/json\"\n has_encoding:\
\ \"UTF-8\"\n```\n"
close_mappings:
- dct:MediaTypeOrExtent
- schema:encodingFormat
slots:
- has_type
- has_label
- has_description
slot_usage:
has_type:
# range: string # uriorcurie
examples:
- value: JsonFormat
- value: CsvFormat
has_label:
# range: string
inlined: false # Fixed invalid inline for primitive type
examples:
- value:
label_text: JSON
- value: application/json
- value: text/csv
- value: UTF-8
- value: https://api.museum.nl/schemas/v1/climate.json
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Data format specifications apply to all custodian
types with digital systems.
specificity_score: 0.55
specificity_rationale: Moderately specific to digital platform and API contexts.
DataFormatType:
class_uri: hc:DataFormatType
abstract: true
description: 'Abstract base class for data format type taxonomy.
**Type/Types Pattern** (Rule 0b):
- `DataFormatType` (this file): Abstract base class
- `DataFormatTypes.yaml`: Concrete subclasses (JsonFormat, XmlFormat, etc.)
Subclasses define specific format types used in heritage data systems.
'
slots:
- has_label
- has_description
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Format types applicable universally.