Ich habe nun meinen eigenen OAI-PMH provider für unser Webarchiv in Python (mit FastAPI und xsdata) geschrieben.
Der Code ist hier: GitHub - deutsche-nationalbibliothek/wapmh
Als Backend für die Daten verwende ich einen RDF Graph, als Datei oder über einen SPARQL Endpunkt. Das Ganze ist noch ungetestet, schlecht dokumentiert und auch lange nicht vollständig (keine sets, keine resumption tokens). Also sicher noch nicht so cool, wie die Implementierung von @SebastianMeyer ( GitHub - opencultureconsulting/oai-pmh2: This is a stand-alone OAI-PMH 2.0 data provider. It serves records in any XML metadata format from a SQL database, supports deleted records, resumption tokens and sets. , OAI-PMH-2.0-Dienst (GPL-lizenziert, PHP) ).
Was es kann:
- oai_dc und rdf als metadataPrefixes
- Anpassbar über SPARQL Queries, sub-classing des Stores und der Adapter
- OCI/Podman/Docker Image
podman pull ghcr.io/deutsche-nationalbibliothek/wapmh:main
- Ich habe versucht den Code so anzulegen, dass er adaptierbar ist, also her mit euren pull-requests