glam/schemas/20251121/linkml/modules/classes/DataFormat.yaml
kempersc 4034c2a00a Refactor schema slots across multiple classes to improve consistency and clarity
- Removed unused slots from TaxonomicAuthority, TechnicalFeature, TelevisionArchive, TentativeWorldHeritageSite, Threat, TimeSpan, Title, TradeRegister, TradeUnionArchive, TradeUnionArchiveRecordSetType, TransferEvent, UNESCODomain, UnitIdentifier, UniversityArchive, UnspecifiedType, UserCommunity, Venue, Vereinsarchiv, Verlagsarchiv, VerlagsarchivRecordSetType, Version, Verwaltungsarchiv, VideoAnnotationTypes, VideoAudioAnnotation, VideoFrame, VideoPost, VideoSubtitle, VideoTextContent, Warehouse, WebArchive, WebClaim, WebClaimsBlock, WebLink, WebPortal, WebPortalTypes, WomensArchives, WordCount, WorldHeritageSite, WritingSystem, and XPathScore.
- Introduced new slot is_or_was_retrieved_at for tracking data retrieval timestamps.
2026-01-31 00:28:09 +01:00

129 lines
4.5 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
- ./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
- has_or_had_media_type
- has_or_had_encoding
- has_or_had_schema_url
slot_usage:
has_or_had_type:
range: uriorcurie
description: |
The format type classification.
Links to DataFormatType taxonomy (JSON, XML, CSV, etc.).
examples:
- value: JsonFormat
description: JSON format type
- value: CsvFormat
description: CSV format type
has_or_had_label:
range: string
inlined: true
description: Human-readable name for the format.
examples:
- value:
label_text: "JSON"
description: Format label
has_or_had_media_type:
range: string
description: |
IANA media type (MIME type) for the format.
See: https://www.iana.org/assignments/media-types/
examples:
- value: "application/json"
description: JSON media type
- value: "text/csv"
description: CSV media type
has_or_had_encoding:
range: string
description: Character encoding used (e.g., UTF-8, ISO-8859-1).
examples:
- value: "UTF-8"
description: Unicode encoding
has_or_had_schema_url:
range: uri
description: URL to schema definition (JSON Schema, XSD, etc.).
examples:
- value: "https://api.museum.nl/schemas/v1/climate.json"
description: JSON Schema URL
attributes:
has_or_had_media_type:
range: string
description: IANA media type (MIME type).
has_or_had_encoding:
range: string
description: Character encoding (e.g., UTF-8).
has_or_had_schema_url:
range: uri
description: URL to schema definition.
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."