Standaarden:OAI-PMH: verschil tussen versies
k ({{Talen}}) |
(NL LOM ipv Beschikbaar stellen en verzamelen metadata) |
||
(Een tussenliggende versie door dezelfde gebruiker niet weergegeven) | |||
Regel 1: | Regel 1: | ||
{{Talen}} |
{{Talen}} |
||
OAI-PMH (Open Archive Initiative - Protocol Metadata Harvesting) is een internationale afspraak om metadata uit een repository op te vragen. |
OAI-PMH (Open Archive Initiative - Protocol Metadata Harvesting) is een internationale afspraak om metadata uit een repository op te vragen. |
||
+ | == Wat is OAI-PMH? == |
||
+ | Kortom, OAI-PMH biedt een reeks services die het blootleggen en verzamelen van metadata uit repository's mogelijk maken. Het protocol bestaat uit zes verbs die de service specificeren die wordt aangeroepen. Dit zijn: |
||
+ | * Identify - gebruikt om informatie over de repository op te halen. |
||
+ | * ListIdentifiers - gebruikt om record headers uit de repository op te halen. |
||
+ | * ListRecords - gebruikt om volledige records uit de repository te verzamelen. |
||
+ | * ListSets - gebruikt om de set structuur van de repository op te halen. |
||
+ | * ListMetadataFormats - geeft een overzicht van de beschikbare metadataformaten die de repository kan verspreiden. |
||
+ | * GetRecord - gebruikt om een individueel record uit de repository op te halen. |
||
+ | |||
+ | Selectief harvesting kan worden uitgevoerd door gebruik te maken van parameters. Beschikbare parameters zijn: |
||
+ | |||
+ | * identifier - specificeert record identifier. |
||
+ | * metadataPrefix - specificeert het metadataformaat waarin de records worden geretourneerd. |
||
+ | * set - specificeert de set waartoe de geretourneerde records moeten behoren. |
||
+ | * from - geeft aan dat geretourneerde records op of na deze datum moeten zijn created/update/deleted. |
||
+ | * until - geeft aan dat geretourneerde records op of vóór deze datum moeten zijn created/update/deleted. |
||
+ | * resumptionToken - een token dat eerder door de server is verstrekt om een verzoek te hervatten waar het voor het laatst was gebleven. |
||
+ | |||
+ | De verbs en parameters kunnen worden gecombineerd om verzoeken aan de service te verzenden. |
||
== Documentatie == |
== Documentatie == |
||
{{Documentatie|http://www.openarchives.org/OAI/openarchivesprotocol.html|OAI-PMH Specificatie|en|leidend}} |
{{Documentatie|http://www.openarchives.org/OAI/openarchivesprotocol.html|OAI-PMH Specificatie|en|leidend}} |
||
− | {{Documentatie|https://www.edustandaard.nl/standaard_afspraken/ |
+ | {{Documentatie|https://www.edustandaard.nl/standaard_afspraken/nl-lom/nl-lom-versie-1-01/|Afspraak bij Edustandaard|nl|referentie}} |
== Tooling == |
== Tooling == |
Huidige versie van 16 jul 2024 om 10:49
Nederlands | English |
OAI-PMH (Open Archive Initiative - Protocol Metadata Harvesting) is een internationale afspraak om metadata uit een repository op te vragen.
Wat is OAI-PMH?
Kortom, OAI-PMH biedt een reeks services die het blootleggen en verzamelen van metadata uit repository's mogelijk maken. Het protocol bestaat uit zes verbs die de service specificeren die wordt aangeroepen. Dit zijn:
- Identify - gebruikt om informatie over de repository op te halen.
- ListIdentifiers - gebruikt om record headers uit de repository op te halen.
- ListRecords - gebruikt om volledige records uit de repository te verzamelen.
- ListSets - gebruikt om de set structuur van de repository op te halen.
- ListMetadataFormats - geeft een overzicht van de beschikbare metadataformaten die de repository kan verspreiden.
- GetRecord - gebruikt om een individueel record uit de repository op te halen.
Selectief harvesting kan worden uitgevoerd door gebruik te maken van parameters. Beschikbare parameters zijn:
- identifier - specificeert record identifier.
- metadataPrefix - specificeert het metadataformaat waarin de records worden geretourneerd.
- set - specificeert de set waartoe de geretourneerde records moeten behoren.
- from - geeft aan dat geretourneerde records op of na deze datum moeten zijn created/update/deleted.
- until - geeft aan dat geretourneerde records op of vóór deze datum moeten zijn created/update/deleted.
- resumptionToken - een token dat eerder door de server is verstrekt om een verzoek te hervatten waar het voor het laatst was gebleven.
De verbs en parameters kunnen worden gecombineerd om verzoeken aan de service te verzenden.
Documentatie
OAI-PMH Specificatie | (leidend) |
Afspraak bij Edustandaard | (referentie) |
Tooling
OAI-PMH validator | (actief) |
Uitgebreide tool voor het validateren en verkennen van OAI-PMH repositories. |
Ontwikkeltools voor OAI-PMH | (status onbekend) |
OAI-PMH module voor Drupal 6 | (2011-04-11) |
Solr OAI koppeling in PHP | (actief) |
In beheer bij Kennisnet |
Solr OAI koppeling in Java | (actief) |
Picturae OAI-PMH package | (actief) |
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.
OAI-PMH Identifier Specificatie | (leidend) |
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>