- Created new YAML files for audience size and audience type slots, defining their properties and annotations. - Added archived capacity slots including cubic meters, linear meters, item count, and descriptions, with appropriate URIs and ranges. - Introduced a template specificity slot for context-aware RAG filtering. - Consolidated capacity-related slots into a unified structure, including has_or_had_capacity, capacity_type, and capacity_value, with detailed descriptions and examples.
291 lines
8.8 KiB
YAML
291 lines
8.8 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
|
|
- ../metadata
|
|
- ./DataServiceEndpoint
|
|
- ../slots/protocol
|
|
- ../slots/response_format
|
|
- ../slots/specificity_annotation
|
|
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
|
- ./SpecificityAnnotation
|
|
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17)
|
|
|
|
- ./TemplateSpecificityType
|
|
|
|
- ./TemplateSpecificityTypes
|
|
- ../enums/METSIdentifierTypeEnum
|
|
- ../slots/response_format
|
|
- ../slots/specificity_annotation
|
|
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
|
- ../slots/response_format
|
|
- ../slots/specificity_annotation
|
|
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
|
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.
|
|
|
|
|
|
Use {placeholders} for dynamic parts.
|
|
|
|
|
|
Examples:
|
|
|
|
- "{base_url}{uuid}" → https://service.archief.nl/gaf/api/mets/v1/12345678-...
|
|
|
|
- "{base_url}?id={identifier}" → https://example.org/mets?id=doc123
|
|
|
|
'
|
|
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 # was: template_specificity - migrated per Rule 53 (2026-01-17)
|