All checks were successful
Deploy Frontend / build-and-deploy (push) Successful in 3m48s
PREMIS ontology fixes (8 schema files): - Replace invalid premis:hasRepresentation with dcterms:hasFormat - Replace invalid premis:hasAccessRestriction with odrl:hasPolicy - Replace invalid premis:hasPreservationPolicy with dcterms:conformsTo - Replace invalid premis:hasAccessPolicy with dcterms:accessRights - Replace invalid premis:hasStoragePolicy with dcterms:conformsTo - Replace invalid premis:ProcessingStatus with skos:Concept - Add proper close_mappings to valid PREMIS classes (premis:Representation, etc.) - Document hallucinated terms in Rule 51 (AGENTS.md) for future prevention Schema.org namespace fixes (3 frontend files): - Update OntologyTermPopup.tsx: add normalizeSchemaOrgUri() function - Update ontology-loader.ts: change schema prefix to https://schema.org/ - Update linkml-schema-service.ts: change schema prefix to https://schema.org/ - The schemaorg.owl file uses https:// but code was using http:// These changes ensure ontology term lookups work correctly for Schema.org terms and that LinkML schema files only reference valid ontology predicates.
281 lines
8.2 KiB
YAML
281 lines
8.2 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/template_specificity
|
|
- ./SpecificityAnnotation
|
|
- ./TemplateSpecificityScores
|
|
- ../enums/METSIdentifierTypeEnum
|
|
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
|
|
- template_specificity
|