glam/schemas/20251121/linkml/modules/classes/METSAPI.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

262 lines
8.3 KiB
YAML

id: https://nde.nl/ontology/hc/class/METSAPI
name: mets_api
title: METSAPI Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
dcat: http://www.w3.org/ns/dcat#
dcterms: http://purl.org/dc/terms/
schema: http://schema.org/
premis: http://www.loc.gov/premis/rdf/v3/
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
- ../enums/METSIdentifierTypeEnum
- ../metadata
- ../slots/has_or_had_score
- ../slots/response_format
- ../slots/specificity_annotation
- ./DataServiceEndpoint
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
classes:
METSAPI:
is_a: DataServiceEndpoint
class_uri: hc:METSAPI
description: "METS (Metadata Encoding and Transmission Standard) document retrieval API.\n\n**Purpose:**\n\nModels endpoints that provide access to METS documents describing\nthe structure and metadata of digital objects in heritage collections.\n\nMETS is a Library of Congress standard widely used in digital preservation\nand repository systems.\n\n**METS Structure:**\n\nA METS document contains:\n- **metsHdr**: Header with creation/modification metadata\n- **dmdSec**: Descriptive metadata (Dublin Core, MODS, EAD, etc.)\n- **amdSec**: Administrative metadata (technical, rights, provenance)\n- **fileSec**: File inventory with technical properties\n- **structMap**: Logical/physical structure of the object\n- **structLink**: Links between structural divisions\n- **behaviorSec**: Executable behaviors\n\n**Example - Nationaal Archief METS API:**\n\n```yaml\nmets_api:\n endpoint_name: \"Nationaal Archief METS API\"\n base_url: \"https://service.archief.nl/gaf/api/mets/v1/\"\n url_pattern:\
\ \"{base_url}{uuid}\"\n mets_profile: NATIONAAL_ARCHIEF\n version: \"v1\"\n descriptive_metadata_schemas:\n - Dublin Core\n - EAD\n rights_metadata_available: true\n structural_metadata_available: true\n file_inventory_included: true\n example_url: \"https://service.archief.nl/gaf/api/mets/v1/12345678-1234-1234-1234-123456789012\"\n```\n\n**Use Cases:**\n\n1. **Digital preservation**: Validate object integrity\n2. **Viewer integration**: Build multi-page viewers from structural metadata\n3. **Migration**: Transfer objects between repository systems\n4. **Audit**: Track provenance and rights\n\n**See Also:**\n\n- METS Standard: https://www.loc.gov/standards/mets/\n- METS Primer: https://www.loc.gov/standards/mets/METSPrimer.pdf\n"
attributes:
base_url:
slot_uri: dcat:endpointURL
description: 'Base URL for METS document retrieval.
Individual documents are accessed by appending an identifier.
Example: "https://service.archief.nl/gaf/api/mets/v1/"
'
range: uri
required: true
url_pattern:
slot_uri: hydra:template
description: "URL pattern for constructing METS document requests.\n\nUse {placeholders} for dynamic parts.\n\nExamples:\n- \"{base_url}{uuid}\" \u2192 https://service.archief.nl/gaf/api/mets/v1/12345678-...\n- \"{base_url}?id={identifier}\" \u2192 https://example.org/mets?id=doc123\n"
range: string
identifier_type:
slot_uri: dcterms:identifier
description: 'Type of identifier used to request METS documents.
Values: UUID, HANDLE, DOI, ARK, LOCAL_ID
Example: UUID
'
range: METSIdentifierTypeEnum
mets_profile:
slot_uri: dcterms:conformsTo
description: 'METS profile implemented by this API.
METS profiles constrain the standard for specific use cases.
Examples:
- NATIONAAL_ARCHIEF: Dutch National Archive profile
- BHL: Biodiversity Heritage Library profile
- FEDORA: Fedora repository profile
- NDNP: National Digital Newspaper Program
'
range: string
mets_schema_version:
slot_uri: schema:schemaVersion
description: 'METS schema version used.
Current version: 1.12.1
Example: "1.12.1"
'
range: string
descriptive_metadata_schemas:
slot_uri: dcterms:format
description: 'Descriptive metadata schemas embedded in dmdSec.
Common schemas:
- Dublin Core (oai_dc)
- MODS
- EAD (for archival description)
- MARCXML
- VRA Core (visual resources)
Example: ["Dublin Core", "EAD"]
'
range: string
multivalued: true
administrative_metadata_sections:
slot_uri: schema:additionalProperty
description: 'Administrative metadata sections included.
METS defines:
- techMD: Technical metadata (file formats, dimensions)
- rightsMD: Rights/permissions
- sourceMD: Source/provenance
- digiprovMD: Digital provenance (PREMIS events)
Example: ["techMD", "rightsMD", "digiprovMD"]
'
range: string
multivalued: true
rights_metadata_available:
slot_uri: dcterms:rights
description: 'Whether rights metadata (rightsMD) is included.
Important for access control and reuse decisions.
'
range: boolean
technical_metadata_standard:
slot_uri: premis:characteristic
description: 'Standard used for technical metadata.
Common standards:
- PREMIS: PREservation Metadata
- MIX: NISO Metadata for Images in XML
- textMD: Technical metadata for text
- AudioMD/VideoMD: AV technical metadata
Example: "PREMIS"
'
range: string
structural_metadata_available:
slot_uri: schema:hasPart
description: 'Whether structural metadata (structMap) is included.
Structural maps define how components relate to form the object
(pages in a book, frames in a film, etc.).
'
range: boolean
structure_map_types:
slot_uri: schema:additionalProperty
description: 'Types of structural maps included.
Common types:
- LOGICAL: Intellectual structure (chapters, sections)
- PHYSICAL: Physical organization (pages, leaves)
- MIXED: Combination of logical and physical
Example: ["LOGICAL", "PHYSICAL"]
'
range: string
multivalued: true
file_inventory_included:
slot_uri: dcat:distribution
description: 'Whether file inventory (fileSec) is included.
File section lists all files with locations, sizes, checksums.
'
range: boolean
file_location_resolvable:
slot_uri: schema:contentUrl
description: 'Whether file URLs in fileSec are directly resolvable.
If true, file URLs can be used to download content.
If false, files may require authentication or be internal references.
'
range: boolean
checksum_algorithms:
slot_uri: schema:algorithm
description: 'Checksum algorithms used in file inventory.
For integrity verification.
Example: ["MD5", "SHA-256", "SHA-512"]
'
range: string
multivalued: true
supports_validation:
slot_uri: schema:validIn
description: 'Whether the API validates METS against schema/profile.
Well-formed METS should validate against XSD schema.
'
range: boolean
example_url:
slot_uri: schema:workExample
description: 'Example URL for retrieving a METS document.
Example: "https://service.archief.nl/gaf/api/mets/v1/12345678-1234-1234-1234-123456789012"
'
range: uri
slot_usage:
response_format:
ifabsent: string(application/xml)
comments:
- METS is essential for digital preservation and repository interoperability
- Structural maps enable building multi-page viewers
- Consider caching METS documents for frequently accessed objects
see_also:
- https://www.loc.gov/standards/mets/
- https://www.loc.gov/standards/mets/mets-schemadocs.html
slots:
- specificity_annotation
- has_or_had_score
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types: "['*']"