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_description - ../slots/has_label - ../slots/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.