HowTo OAI-PMH
Aus Geoinformation HSR
Version vom 10. Juni 2007, 11:06 Uhr von Geonick (Diskussion | Beiträge)
HowTo implement OAI-PMH (5 steps):
- 1. Join the community: Register to the 'OAI Implementers list' at the official OAI Homepage
- 2. Read the spec.: The Harvesting Protocol (version 2.0) specification together with Implementation Guidelines
- 3. Look at existing tools, rated above.
- 4. Implement DC model and test it: The official OAI Repository Explorer. Most important operations (called 'verbs') are Identify, ListMetadataFormats, ListRecords and GetRecord, perhaps initially without incremental harvesting (resumption process).
- 5. Extend it eventually with specific metadata models and respective XML formats.
Following are more specific guidelines for a minimal OAI-PMH implementation of a so called 'data provider' using only the mandatory 'unqualified' Dublin Core (DC):
- Only three operations (verbs) are needed: Identify, ListMetadataFormats and ListRecords.
- Following operations are not required (initially): ListIdentifiers, ListSets, GetRecord.
- No incremental harvesting (resumption process for ListXxx operations with more than 1000 records)
- No compression as defined in the OAI-PMH spec. (compression at lower http level still possible)
- Date granularity may be 'day' not seconds (YYYY-MM-DD)
- Keeping track of deleted record may not be supported (deletedRecord=no)
- Mandatory DC supported as data model is sufficient for a start but with specific semantics (e.g. coverage, relation) (see also example below):
- dc:description contains dct:abstract
- dc:coverage contains a lat/lon bounding box encoding as defined in http://georss.org/simple.html#Box (minx, miny, maxx, maxy: dc:coverage example for a Swiss Canton: 7.30676 47.0585 8.10371 47.5371)
- dc:date means in fact dct:modified
- dc:relation is filled in with dclite4g:onLineSrc. If dc:type='service' dct:hasPart can be derived from GetCapabilities.
OAI implementations:
- Geometa-Editor
- GeoShop, Fa. infoGrips GmbH, Zurich, Switzerland (C, Java)
- GeoNetwork, open source, rel. 2.2 (GPL, Java)