OAI-PMH v2.0 Compliance

1. Mandatory Verbs Implementation

  • Identify: Returns repository information and policies
  • ListMetadataFormats: Returns available metadata formats
  • ListSets: Returns available sets (herbaria)
  • ListIdentifiers: Returns record headers with optional filtering
  • ListRecords: Returns complete records with optional filtering
  • GetRecord: Returns a single record by identifier

2. Metadata Format Support

Dublin Core (oai_dc) - Obligatory Format

  • Prefix: oai_dc
  • Namespace: http://www.openarchives.org/OAI/2.0/oai_dc/
  • Schema: http://www.openarchives.org/OAI/2.0/oai_dc.xsd
  • All 15 Dublin Core elements mapped:
    • dc:title: Specimen identifier as title
    • dc:creator: Herbarium name
    • dc:subject: Classification terms (botanical collection, digital image)
    • dc:description: Technical details and image information
    • dc:publisher: Herbarium as publisher
    • dc:date: Creation and modification dates
    • dc:type: Resource type (Image, StillImage)
    • dc:format: MIME types (TIFF, JP2)
    • dc:identifier: Multiple identifiers (OAI, JACQ PID, specimen ID)
    • dc:source: Archive filename
    • dc:language: Latin (for botanical specimens)
    • dc:relation: IIIF URLs
    • dc:coverage: Geographic information
    • dc:rights: License information

CCMM Format - Mandatory Format

  • Prefix: ccmm
  • Namespace: https://github.com/techlib/CCMM
  • Schema: https://techlib.github.io/CCMM/dataset/schema.xsd

3. Sets Implementation

  • Sets: Herbaria as natural sets
  • setSpec: Herbarium acronym (e.g., “PRC”, “BRNU”)
  • setName: Full herbarium name
  • Filtering: Records can be filtered by herbarium

4. Resumption Token Implementation

  • Token Format: Base64-encoded JSON
  • Parameters: Preserves metadataPrefix, from, until, set
  • Attributes: cursor, completeListSize when appropriate
  • Pagination: Configurable page size (default: 100)
  • Expiration: Implicit via parameter validation

API Endpoints

Base URL

https://herbarium.biodiversity.cz/oai-pmh

Supported Verbs

1. Identify

Returns repository information and policies.

GET /oai-pmh?verb=Identify

2. ListMetadataFormats

Lists available metadata formats.

GET /oai-pmh?verb=ListMetadataFormats

3. ListSets

Lists available sets (herbaria).

GET /oai-pmh?verb=ListSets

4. ListIdentifiers

Lists record identifiers with optional filtering.

GET /oai-pmh?verb=ListIdentifiers&metadataPrefix=oai_dc
GET /oai-pmh?verb=ListIdentifiers&metadataPrefix=oai_dc&from=2023-01-01
GET /oai-pmh?verb=ListIdentifiers&metadataPrefix=oai_dc&set=PRC

5. ListRecords

Lists complete records with optional filtering.

GET /oai-pmh?verb=ListRecords&metadataPrefix=oai_dc
GET /oai-pmh?verb=ListRecords&metadataPrefix=oai_dc&from=2023-01-01&until=2023-12-31

6. GetRecord

Retrieves a single record by identifier.

GET /oai-pmh?verb=GetRecord&identifier=oai:domain:photo-123&metadataPrefix=oai_dc