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 - ./Label classes: DataFormat: class_uri: hc:DataFormat description: | Specification of a data format for files, APIs, or data streams. **DEFINITION**: DataFormat captures format characteristics including type, media type, schema references, and encoding specifications. **USAGE**: - API response formats (JSON, XML, RDF) - File formats (CSV, Excel, PDF, TIFF) - Streaming protocols (MQTT, WebSocket payloads) - Archival formats (METS, EAD, MARC) **ONTOLOGY ALIGNMENT**: - **Primary** (`class_uri`): `hc:DataFormat` - Heritage Custodian class - **Close**: `dct:MediaTypeOrExtent` - Dublin Core media type - **Close**: `schema:encodingFormat` - Schema.org encoding **Common Format Types**: | Type | Media Type | Use Case | |------|------------|----------| | JSON | application/json | API responses, config | | XML | application/xml | Legacy APIs, metadata | | CSV | text/csv | Data exports, tabular | | RDF | application/rdf+xml | Linked data | | SensorML | application/xml | Sensor metadata | **Example**: ```yaml has_or_had_format: has_or_had_type: JsonFormat has_or_had_media_type: "application/json" has_or_had_encoding: "UTF-8" ``` 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: uriorcurie examples: - value: JsonFormat - value: CsvFormat has_or_had_label: range: string inlined: true examples: - value: label_text: "JSON" - value: "application/json" - value: "text/csv" - value: "UTF-8" - value: "https://api.museum.nl/schemas/v1/climate.json" attributes: 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." # Type class for format taxonomy (Rule 0b: Type/Types pattern) 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."