Op dinsdag 1 maart 2016 kondigde het Gelders Archief aan dat zij de historische gegevens van de Burgerlijke Stand beschikbaar stelt als open data:

Het Gelders Archief stelt met ingang van vandaag de gegevens van de Gelderse Burgerlijke Stand (BS) (1811-1950) beschikbaar als open data. Daarmee gaat het Gelders Archief, in navolging van het Nationaal Archief, een stap verder dan de Wet hergebruik van overheidsinformatie (Who), die 2015 in werking trad.

U zult zich nu wellicht afvragen, hoe kun je een stap verder gaan dan een wet. Maar OK, ze bedoelen natuurlijk dat ze liever niet re-actief hergebruikverzoeken beantwoorden (op basis van de Who) en dus pro-actief open data bieden.

Uiteraard wordt in het nieuwsbericht nog even toegelicht wat open data is:

Wat zijn open data?
Open data zijn gegevens die vrij beschikbaar zijn met een minimum aan beperkingen. Bij overheden gaat het om overheidsinformatie, die openbaar is, waar geen auteursrecht of andere rechten van derden op berust, die bekostigd is uit publieke middelen en is voortgekomen uit uitvoering van de publieke taak. Open data zijn bij voorkeur computer-leesbaar en voldoen aan open standaarden.

de data wordt beschikbaar gesteld onder een CC0 licentie: goed!


Downloaden van bestanden (hoe moeilijk kan dat zijn)
De open data wordt beschikbaar gesteld via de oplossing van De Ree archiefsystemen. In dit open data portaal worden maar liefst 8.998 data sets aangeboden door het Gelders Archief. De keuze voor het aanbieden van bestanden ter download in plaats van een API volgens het OAI-PMH protocol lijkt een trend. Op zich heb ik met deze keuze geen probleem, bestanden downloaden is simpel, toch?

Echter, de wijze waarop De Ree de bestanden ter download biedt is niet echt handig te noemen, het stimuleert zeg maar niet dat de data wordt hergebruikt. Het open data portaal levert namelijk niet direct een lijst met links naar de bestanden. Handmatig moet er eerst geklikt worden op een regel in de lijst van 8999 items, waarna de download link pas wordt opgehaald en getoond. Met deze hoeveelheden is handwerk überhaupt geen optie (scheelt weer een boel hergebruikers…).

Uiteraard probeer ik de bestanden niet handmatig te downloaden maar geautomatiseerd (waarbij ik dus ook voor elke pagina meerdere requests moet doen om de download links te krijgen) en wat me dan opvalt is dat alle bestandslinks zijn voorzien van een sleutel (key) in de url. Waarom bestanden die bedoeld zijn om her te gebruiken op deze manier beveiligen?

http://files.archieven.nl/php/download.php?adt=37&nummer=0207A_G_2516-03&bestand=%2F37%2Fxml%2Fa2a%2FNL-AhGldA_0207A_G_2516-03_54_A2A.xml&key=1A7MCZCE1C

Als je uiteindelijk de 8998 links hebt naar de bestanden kun je deze niet zo maar downloaden, na ongeveer 100 bestanden lijkt het IP-adres van mijn server op een zwarte lijst te komen. Met een andere server kom ik weer even wat verder tot ook daar een limiet bereikt wordt. Niet dat ik een foutmelding krijg, nee de bestanden die worden geretourneerd zijn gewoonweg leeg (0 bytes). Het is toch de bedoeling dat ik de bestanden download, waarom wordt het downloaden dan tegengewerkt?
In de toekomst zullen de bestanden aangepast worden omdat gegevens gecorrigeerd of aangevuld worden. Er is in het portaal geen manier om “bestanden gewijzigd sinds” te krijgen. Dus een volgende keer moet alles weer gedownload worden.
Bestandsinhoud
Ik heb nu een paar honderd bestanden mogen downloaden en heb dus naar de inhoud kunnen kijken. Het eerste wat opvalt is dat de character-encoding van de bestanden niet klopt. Het zou, volgens de A2A standaard, UTF-8 moeten zijn. Dat zijn de bestanden niet, waardoor diakrieten bijvoorbeeld fout gaan.
Wat me daarna opvalt is dat de A2A records geen links bevatten naar scans. Niet elke akte zal gekoppeld zijn aan scans of gescande registers in het archiefbeheersysteem, maar een deel van de Gelderse akten is dit wel degelijk. Deze informatie ontbreekt echter in de bestanden.

Waarom zit er trouwens zoveel “lucht” in de XML bestanden: lege tags als <a2a:Profession> en veel overbodige white-space. En waarom zijn bestanden niet gecomprimeerd, via “offline ZIP” of GZIP-on-the-fly? Voorbeeld: het bestand 0207A_G_3074-12.xml is 219.506 bytes groot, als je de “lucht” eruit haalt en comprimeert blijft er een bestand over van 6.542 bytes. Scheelt een factor 34, ook in opslag en bandbreedte!

Conclusie
Ik ben enigszins teleurgesteld over het open data portaal. Het huidige portaal, laten we het versie 0.1 beta noemen, stimuleert hergebruik geenszins. Door de drempels, het niet voldoen aan de standaard en het incompleet zijn van data, wordt er geen open data geboden.

Gelukkig zijn geen van de geconstateerde punten moeilijk op te lossen. Dus met een beetje goede wil leveren het Gelders Archief en de andere klanten van De Ree binnenkort wel open data!

[update 3-3-2016]

Sommige gedownloade bestanden blijken geen A2A te bevatten maar foutmeldingen, dit is een groter probleem voor De Ree!

<!–705133935:{D93A49F7-7614-46B2-BF46-F474F9C676BC}:-4030 = ORA-04030: Onvoldoende procesgeheugen tijdens poging 524352 bytes (lpxHeap subhea,qmxsaxAllocMemInternal) toe te wijzen.:1 –>
<!–705133939:{F4179440-875C-4774-9F32-C843452DFFCD}:-4030 = ORA-04030: Onvoldoende procesgeheugen tijdens poging 524352 bytes (lpxHeap subhea,qmxsaxAllocMemInternal) toe te wijzen.:1  –>
<!–705133943:{9943B1CE-0501-442E-9C67-2B7247C1FAD9}:-4030 = ORA-04030: Onvoldoende procesgeheugen tijdens poging 524352 bytes (lpxHeap subhea,qmxsaxAllocMemInternal) toe te wijzen.:1 –>
<!–705133947:{B478C4AA-363D-4797-8BB9-BF1E7C15A792}:-4030 = ORA-04030: Onvoldoende procesgeheugen tijdens poging 524352 bytes (lpxHeap subhea,qmxsaxAllocMemInternal) toe te wijzen.:1 –>
<!–705133951:fout:ORA-04030: Onvoldoende procesgeheugen tijdens poging 123416 bytes (QERHJ hash-joi,kllcqas:kllsltba) toe te wijzen.:1 –>
<!–705133955:fout:ORA-04030: Onvoldoende procesgeheugen tijdens poging 97264 bytes (QERHJ hash-joi,kllcqc:kllcqslt) toe te wijzen.:1 –>
<!–705133959:fout:ORA-04030: Onvoldoende procesgeheugen tijdens poging 97264 bytes (QERHJ hash-joi,kllcqc:kllcqslt) toe te wijzen.:1 –>
<!–705133963:fout:ORA-04030: Onvoldoende procesgeheugen tijdens poging 97264 bytes (QERHJ hash-joi,kllcqc:kllcqslt) toe te wijzen.:1 –>
<!–705133967:fout:ORA-04030: Onvoldoende procesgeheugen tijdens poging 97264 bytes (QERHJ hash-joi,kllcqc:kllcqslt) toe te wijzen.:1 –>
……..