81 lines
3.1 KiB
YAML
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/has_or_had_description
|
|
- ../slots/has_or_had_label
|
|
- ../slots/has_or_had_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_or_had_format:\n has_or_had_type:\
|
|
\ JsonFormat\n has_or_had_media_type: \"application/json\"\n has_or_had_encoding:\
|
|
\ \"UTF-8\"\n```\n"
|
|
close_mappings:
|
|
- dct:MediaTypeOrExtent
|
|
- schema:encodingFormat
|
|
slots:
|
|
- has_or_had_type
|
|
- has_or_had_label
|
|
- has_or_had_description
|
|
slot_usage:
|
|
has_or_had_type:
|
|
# range: string # uriorcurie
|
|
examples:
|
|
- value: JsonFormat
|
|
- value: CsvFormat
|
|
has_or_had_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_or_had_label
|
|
- has_or_had_description
|
|
annotations:
|
|
custodian_types: '["*"]'
|
|
custodian_types_rationale: Format types applicable universally.
|