HowTo OAI-PMH: Unterschied zwischen den Versionen

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
(HowTo implement OAI-PMH in 5 steps)
Zeile 4: Zeile 4:
 
* '''2. Read the spec.''': [http://www.openarchives.org/OAI/openarchivesprotocol.html The Harvesting Protocol (version 2.0) specification] together with [http://www.openarchives.org/OAI/2.0/guidelines.htm Implementation Guidelines]
 
* '''2. Read the spec.''': [http://www.openarchives.org/OAI/openarchivesprotocol.html The Harvesting Protocol (version 2.0) specification] together with [http://www.openarchives.org/OAI/2.0/guidelines.htm Implementation Guidelines]
 
* '''3. Look at existing [http://www.openarchives.org/tools/tools.html tools], rated above'''.
 
* '''3. Look at existing [http://www.openarchives.org/tools/tools.html tools], rated above'''.
* '''4. Implement DC model and test it''': [http://www.purl.org/NET/oai_explorer The official OAI Repository Explorer]. Most important operations (called 'verbs') are Identify, ListMetadataFormats, ListRecords and GetRecord, perhaps initially without incremental harvesting (resumption process).
+
* '''4. Implement functions''': 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.
+
* '''5. Implement mapping''': of your internal data model to DC model elements. See also the special meaning of certain elements like dc:coverage, as explained below.
 +
* '''6. Test it''': with the [http://www.purl.org/NET/oai_explorer The official OAI Repository Explorer].
 +
* '''7. Extend it''': eventually with specific metadata models and respective XML formats.
  
 
=== Minimal OAI-PMH data provider implementation ===
 
=== Minimal OAI-PMH data provider implementation ===
Zeile 23: Zeile 25:
 
* 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: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: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.  
+
* dc:relation is filled in with dclite4g:onLineSrc. If dc:type='service' dct:hasPart can be derived from GetCapabilities.
  
 
== OAI implementations ==
 
== OAI implementations ==

Version vom 13. Juni 2007, 07:25 Uhr

HowTo implement OAI-PMH in 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 functions: Most important operations (called 'verbs') are Identify, ListMetadataFormats, ListRecords and GetRecord, perhaps initially without incremental harvesting (resumption process).
  • 5. Implement mapping: of your internal data model to DC model elements. See also the special meaning of certain elements like dc:coverage, as explained below.
  • 6. Test it: with the The official OAI Repository Explorer.
  • 7. Extend it: eventually with specific metadata models and respective XML formats.

Minimal OAI-PMH data provider implementation

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 records may not be supported (deletedRecord=no)
  • The default data model supported is Dublin Core but this still needs some decisions and explanations (as shown below)

Dublin Core with considerations for GIS

Mandatory Dublin Core (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)