Dataformaten
Dataformaten
Opslagmedia, software, hardware en besturingssystemen zijn op elkaar afgestemd. Voor een juiste representatie van een digitaal object moet de combinatie van alle vier kloppen. Nieuwe versies van alle variabelen volgen elkaar echter in hoog tempo en informatieverlies ligt steeds op de loer | Netwerk Digitaal Erfgoed, n.d.

Het blijvend kunnen lezen, weergeven en verwerken van onderzoeksdata vereist kennis over het gebruikte dataformaat en de software waarmee het geopend en herkend kan worden. In deze paragraaf zoomen we daarop in.
Diversiteit in bestandsformaten
Onderzoeksdata komt in veel vormen en maten voor: tekst, numerieke data, modellen, software, code, multimedia, foto's, etc. Daarnaast bestaan er discipline-specifieke onderzoeksdata of data die karakteristiek zijn voor het instrument waarmee ze gemeten zijn.
Data worden opgeslagen in een bepaald bestandsformaat. De informatie in een bestandsformaat is op zo'n manier gecodeerd dat een bepaald type software het bestand kan herkennen, lezen en gebruiken. Een bepaald bestandsformaat wordt vaak aangeduid met een bestandsextensie met drie of vier letters dat de gebruikte software identificeert.
Toekomstbestendige dataformaten kiezen
Niet alle bestandsformaten zijn even goed voorbereid op de toekomst. De volgende overwegingen zijn van belang bij het kiezen voor een bepaald type software en bestandsformaat:
Kan er gebruik worden gemaakt van open source software?
Kunnen de data worden opgeslagen in een open, gestandaardiseerd dataformaat?
De documentatie van open, gestandaardiseerde dataformaten is vrij beschikbaar zodat iedereen die dat wil de benodigde software om de data te kunnen lezen zelf zou kunnen (her)schrijven. Ook mag het vrij van licentierechten gebruikt worden en wordt het ondersteund door meerdere softwareleveranciers en/of open source initiatieven. Een open bestandsformaat kan ook van een commerciëel bedrijf zijn. Een voorbeeld is PDF/A. Dit is weliswaar een product van het commerciële Adobe maar het heeft wel open specificaties. Daarom is het toch een open bestandsformaat.
Let wel op: het kan zijn dat open bestandsformaten een aantal specifieke functies missen die eigen zijn aan het commerciele softwareproduct waarvan de specificaties niet gepubliceerd zijn. In dat geval is het zinvol de data in beide dataformaten op te slaan: het open dataformaat en het gesloten commerciele bestandsformaat.
Voorbeelden van open dataformaten zijn PDF/A, .csv, .odf, .xml, .rstat, .mxf, etc. PDF/A Is speciaal ontwikkeld voor langdurige toegankelijkheid (British Library, 2019).
Nieuwe operating systems, software en hardware volgen elkaar in hoog tempo op. Het is niet vanzelfsprekend dat de nieuwe versies het gebruik van bestanden die gemaakt zijn met eerdere versies ondersteunen. Tegelijkertijd is veel software in staat om bestandsformaten van andere software te openen. OpenOffice opent Microsoftformaten; QGIS opent GIS data van ArcGIS. Dat niet elk formaat stabiel is binnen de eigen softwareomgeving is een belangrijke, grote zorg. Maar als een dataformaat goede ondersteuning ondervindt buiten de eigen software om dan scheelt dat natuurlijk enorm voor de toekomstbestendigheid.
De interoperabiliteit van data is groter als onderzoekers hetzelfde formaat gebruiken, of als de software van de een ook het formaat van de ander kan inlezen en bewerken. Dit geldt zowel tijdens onderzoek als (lang) erna.
Voor veel gebieden en toepassingen, zoals Computer Aided Design (CAD) of Virtual Reality zijn helemaal geen open dataformaten beschikbaar. Probeer dan een gangbaar dataformaat - dat veel gebruikt wordt - te kiezen.
Ook kan het zijn dat open bestandsformaten een aantal specifieke functies missen die eigen zijn aan hun gesloten variant (het commerciele softwareproduct waarvan de specificaties niet gepubliceerd zijn). In dat geval kan het zinvol zijn de data in beide dataformaten op te slaan: het open dataformaat en het gesloten commerciele bestandsformaat.
Voorbeelden van gesloten dataformaten zijn .xlsx, .pptx, .stata, .mov en .dxf.
Data-archieven zijn gecommitteerd aan langetermijntoegang tot onderzoeksdata. Het bestandsformaat waarin data worden opgeslagen is hierbij van groot belang. Daarom publiceren data-archieven vaak lijsten met voorkeursformaten. Dat zijn dataformaten die bij voorkeur onafhankelijk zijn van specifieke software en waarvan de specificaties van de bestandsindeling van de dataformaten goed gedocumenteerd zijn en open beschikbaar zijn.
Zie de paragraaf 'Voorkeursformaten' voor voorbeelden.
In de spotlight
Voor dataformaat liefhebbers: een duik in verschillende MIME-types
Dataformaten worden vaak aangeduid met hun MIME-type. MIME staat voor Multipart (Multipurpose) Internet Mail Extention. Een modernere naam hiervoor is media-type maar MIME-type is nog altijd meer ingeburgerd. MIME geeft het operating system informatie hoe het met een bestand om moet gaan.
Een MIME-type wordt opgeschreven als twee aanduidingen gescheiden door een schuine streep (MIME type/subtype). Voorbeeld: text/plain is het MIME-type voor gewone tekst.
Veel mensen herkennen dataformaten aan hun extensie. Dat zijn de doorgaans drie of vier letters na de laatste punt in de bestandsnaam. Een filmpje op je computer heeft bijvoorbeeld de extensie .avi. Het bijbehorende MIME-type is video/msvideo. Als het .avi filmpje op een website staat, hoeft de URL niet op .avi te eindigen terwijl het wel om een .avi gaat. En een extensie hoeft ook niet altijd te kloppen, bijvoorbeeld omdat de file hernoemd is. Iemand kan zijn bestand bijvoorbeeld de extensie .HS1 voor ‘hoofdstuk 1’ geven. Ook kunnen meerdere soorten formaten dezelfde extensie gebruiken, bijvoorbeeld .mid voor zowel een MIDI geluidsbestand als het geografische kaartbestand Mapinfo Interchange Drawing.
Het voordeel van het gebruik van MIME-types is dat deze in de (voor de gebruiker onzichtbare) 'http header' van een webpagina staat zodat het operating system weet met welk programma een aangeklikt bestand moet worden geopend.
Een MIME-type bestaat uit twee onderdelen. Bijvoorbeeld, Application betekent dat het bestand gerelateerd is aan een bepaald type toepassing of programma. Strikt genomen zijn de applications dataformaten die door een bepaalde toepassing worden gelezen.
- application/pdf
Bij het uitwisselen tussen programma's wil de opmaak van documenten nog wel eens verloren gaan of verschuiven. Om dit te voorkomen zijn er toepassingen (applications) die voor een universele weergave van het document zorgen. Een voorbeeld hiervan is een PDF-document (Portable Document Format). Dat is een open en universeel bestandsformaat voor het elektronisch uitwisselen van documenten waarbij de opmaak behouden wordt. - application/vnd.google-earth.kml +xml
De geografische data zijn bij bovenstaande MIME-types op zo'n manier gecodeerd dat ze leesbaar zijn in een zogeheten earth browser zoals Google Earth, Google Maps, and Google Maps op je mobiel. De aanduiding ‘+xml’ geeft aan dat dit xml file is. Je kunt de inhoud deze files dan ook met een gewone tekst editor bekijken. - application/gml+xml
GML staat voor Geographic Markup Language: een standaard manier om geografische informatie te omschrijven. Geografische data omschrijven de wereld in ruimtelijke termen, gewoon in platte tekst. Het is een taal die onafhankelijk is van enige vorm van visualisatie van die data. In een earth browser worden de data juist wel gevisualiseerd. ‘+xml’: ook dit is dus een xml file. - application/x-java-archive
Hierbij is de dataset gerelateerd aan de programmeertaal Java. “archive” houdt in dat het een containerformaat is om files en directories in te pakken, zoals bijv. ook zip. - application/octet-stream
In dit geval is er sprake van een algemeen type binaire data die niet nader gedefinieerd is. Het is een restcategorie voor alle datasets waarvan niet duidelijk is wat het is of waarvoor gewoon geen apart MIME-type bestaat.
De tekstformaten plain, html en xml:
- text/plain wil zeggen dat de file bestaat uit tekst. Vaak is dat simpelweg tekst zonder opmaak, maar ieder bestand dat met een tekst-editor (zoals notepad) gelezen kan worden is in principe tekst/plain. Wel kun je soms ook een specifieker MIME-type geven, zoals tekst/xml of tekst/csv. In zo’n geval is specifieker altijd beter, omdat het meer informatie geeft.
- text/html (HyperText Markup Language) is een formaat dat aangeeft hoe de informatie er op een website uit komt te zien. Je kunt met code aangeven hoe de tekst eruit moet zien: bijvoorbeeld gedrukt of cursief. Die opmaak is bij plain tekst niet aanwezig.
- text/xml (of application/xml) In XML (eXtensible
Markup Language) geef je niet de opmaak aan, maar kun je informatie
verschaffen over de inhoud van het bestand, bijvoorbeeld door metadata
toe te voegen zoals <title> voor een titel en <creator> voor
degene die het document heeft aangemaakt.
Merk op dat voor xml twee verschillende MIME-types worden gebruikt. Dat komt wel vaker voor. Soms wordt voor een tekst-gebaseerd datatype toch application/… en niet text/… gebruikt omdat het niet is bedoeld om in een tekst-editor te bekijken, hoewel het wel kan.
Numerieke data:
- application/x-matlab-data is een voorbeeld van numerieke data: Matlab is een geavanceerd wetenschappelijk rekenpakket.
- HDF5 (application/x-hdf5) en NetCDF (application/x-netcdf)
zijn allebei dataformaten die veelvuldig worden gebruikt om grote
hoeveelheden numerieke data (gegevens in getalvorm) op te slaan. Een
gegevensbestand met numerieke data wordt ook wel een binary file genoemd: een bestand met informatie bestaand uit nullen en enen. Binary digits worden samengevoegd tot de naam bits.
De manier waarop je de nullen en enen combineert representeert de
informatie. Die informatie kan eigenlijk alles betreffen dat digitaal
omschreven kan worden zoals geluidsgolven, hoge resolutie MRI-scans etc.
Ter illustratie: In een eenvoudige tabel worden in twee dimensies grootheden tegen elkaar uitgezet. In veel datasets worden er echter drie, vier, vijf of nog meerdere dimensies tegen elkaar uitgezet. Je spreekt dan van een multidimensional array. Je kunt je voorstellen dat de bestandsgrootte exponentieel toeneemt met het aantal gerepresenteerde dimensies. HDF5 en NetCDF maken het mogelijk dat je metadata toevoegt aan een dataset als geheel, maar ook aan de variabelen en dimensies in de dataset. Binnen NetCDF bestaan diverse conventies, die o.a. standaard definities bevatten voor de grootheden die je op de assen neerzet.

4TU.ResearchData (n.d.). 4TU SEARCH. https://data.4tu.nl/portal
British Library (2019). PDF Format Preservation Assessment Part 2: PDF/A Profile. http://wiki.dpconline.org/images/2/22/PDFA_Assessment_v1.0.pdf
Netwerk Digitaal Erfgoed (n.d.). Leren Preserveren. Beperkt Houdbaar [Cursus]. https://lerenpreserveren.nl/topic/beperkthoudbaar/
netherlands eScience Center (n.d.). Research Software Directory. https://www.research-software.nl/
UK Data Archive. (2011). Managing and sharing data. Retrieved from http://www.data-archive.ac.uk/media/2894/managingsharing.pdf