Standaarden: OAI-PMH
OAI-PMH (Open Archive Initiative - Protocol Metadata Harvesting) is een internationale afspraak om metadata uit een repository op te vragen.
Documentatie
Tooling
Uitgebreide tool voor het validateren en verkennen van OAI-PMH repositories.
|
Deze testtool is voornamelijk gericht op de technische gebruiker, die de wil bekijken of zijn implementatie voldoet aan het OAI-PMH protocol. De site is ooit ontwikkeld door Digital Library Research Laboratory van Virginia Tech en wordt momenteel onderhouden en gehost door Advanced Information Management Laboratory van de University of Cape Town.
|
Gebruik "IMS" voor validatie van OAI-PMH IMS LOM (CZP) uitvoer en "LOM" voor OAI-PMH IEE LOM uitvoer.
|
Tips
Identifiers
De oai identifier is de unieke identificatie voor een metadata record, niet het leermateriaal. Metadata aanbiedende repositories zullen zorg moeten dragen voor een ondubbelzinnige verwijzing (“unique identifier“) naar metadata behorend bij educatieve content. Op basis van deze ondubbelzinnige verwijzing kan de metadata verzamelende applicatie bepalen of de, vanuit de metadata aanbiedende repositories, aangeleverde gegevens gaan over nieuwe leermiddelen of over updates van leermiddelen. In de volgende afspraak staat de officiele specificatie.
resumptionToken
Het resumptionToken wordt gebruikt om de volgende pagina van een bepaalde selectie op te halen. De initiële selectie wordt bepaald door het eerste verzoek; de set, metadataPrefix, from en until argumenten. Het resumptionToken moet dus naast de pagina informatie, ook deze informatie bevatten. Als er geen volgende pagina is, dient het resumptionToken niet voor te komen om een oneindige loop in het harvestproces te voorkomen.
Bijvoorbeeld het volgende verzoek en het bijbehorende resumptionToken (bij een pagesize van 100):
http://oai.example.com/provider?verb=ListRecords&metadataPrefix=lom&set=testset&from=2014-01-14
<oai:resumptionToken cursor="0" completeListSize="605">100-1389654000-testset-lom</oai:resumptionToken>
Hierbij worden de losse waarden van elkaar gescheiden door een scheidingsteken (de '-'), en wordt het from argument eerst omgevormd naar een UNIX timestamp.
En de call die gebruik maakt van deze resumptionToken, hierin wordt dus de set en de metadataPrefix niet meer meegegeven:
http://oai.example.com/provider?verb=ListRecords&resumptionToken=100-1389654000-testset-lom
<oai:resumptionToken cursor="100" completeListSize="605">200-1389654000-testset-lom</oai:resumptionToken>
Wijzigingen
Binnen OAI-PMH is het verplicht om per item bij te houden wanneer een item voor het laatst is gemuteerd (creatie, wijziging en verwijdering). Een metadata aanbiedende repository moet dus het mutatiemoment bijhouden. Zodoende kan de verzamelende applicatie zich beperken (met het from argument) tot het ophalen van alleen die items die sinds de laatste keer zijn gewijzigd.
Verwijderingen
Het actueel houden van metadata binnen repositories is van groot belang voor het succesvol gebruiken van de repository. OAI-PMH biedt de mogelijkheid aan aanbiedende repository om aan te geven dat een item is verwijderd, door het attribuut status="deleted" toe te voegen aan de record header. Dit biedt de metadata verzamelende applicatie de mogelijkheid om tijdens harvesting de eigen repository op te schonen.
Dit betekent dat alle identifiers die ooit zijn aangeboden, voor altijd opvraagbaar moeten blijven. Met andere woorden, dit geldt ook voor records die in de eigen repository permanent zijn verwijderd.
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/
http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
<responseDate>2002-06-01T19:20:30Z</responseDate>
<request verb="ListRecords" metadataPrefix="oldarXiv">http://an.oa.org/OAI-script</request>
<ListRecords>
<record>
<header status="deleted">
<identifier>oai:arXiv.org:hep-th/9801010</identifier>
<datestamp>1999-02-23</datestamp>
<setSpec>physic:hep</setSpec>
<setSpec>math</setSpec>
</header>
<!-- geen metadata of about van het record verplicht -->
<record>
</ListRecords>
</OAI-PMH>