"Dr Spock's Baby Care is a best-selling owner's manual for the most complicated 'product' imaginable -- and it only has two levels of headings. You people have 8 levels of hierarchy and I haven't even stopped counting yet. No wonder you think it's complicated.” - Wayback Machine
Datamodellen, ontologieën, thesauri en vocabulaires: allemaal pogingen om kennis over onze wereld systematisch te rangschikken. Systemen die de basis vormen voor belastingheffing, bepalen van eigendom door kadaster of de burgerlijke stand. Het belang van deze systemen neemt explosief toe nu steeds meer databestanden geopend, gedeeld en gekoppeld worden.
Goede modellen hebben in ieder geval twee eigenschappen: ten eerste zijn ze altijd complexer dan je als leek zou vermoeden. Door uitzonderingen waarvan je het belang niet vermoedde, die triviaal lijken tot je inziet dat ze fundamenteel zijn voor de werking van het model. Ten tweede zijn ze vaak van een grote schoonheid, omdat ze een deel van de wereld om ons heen systematisch stileren. Bekende voorbeelden zijn de gebouwenkaart, topografische kaarten, internationale studenten en natuurlijk de spoorkaarten van de NS of uit Japan.
De data waarmee deze kaarten worden gemaakt zijn ingedeeld in minutieus bestudeerde modellen. Zo maakt het kadaster een strikt onderscheid tussen ‘panden' en ‘verblijfsobjecten'. Een flat is een ‘pand', waarin de appartementen afzonderlijke ‘verblijfsobjecten' vormen. De systematiek is vastgelegd in een document van 100 pagina’s met ontroerende foto’s (een garage in een aanbouw aan een huis is geen ‘pand', een garage in een afzonderlijk rijtje garages is wel een ‘pand'). Niet alleen is dat complex, het is bovendien erg specifiek voor Nederlands vastgoed.
Wat begrijpt iemand van de gebouwenkaart die nog nooit in Nederland geweest is? Veel bezoekers zagen meteen dat de gebouwenkaart fouten bevatte. Veel panden hebben als bouwjaar ‘1005’ meegekregen, bijvoorbeeld in het centrum van Amsterdam. In tegenstelling tot alle andere jaartallen refereert dit getal echter niet aan een precies jaar: het betekent “lang geleden, hoe lang weten we niet en is niet zo belangrijk”. Het punt is niet dat er een fout in de database van het Kadaster zit, of dat het datamodel niet ontworpen is met een mogelijkheid om ruwe of onbekende bouwjaren goed weer te geven.
Wie Nederland goed kent, oplet en een beetje geïnteresseerd om zich heen kijkt ziet ook direct dat er iets niet klopt. Maar voor een Chinese bezoeker is een vroegmiddeleeuwse bouwwoede die in één jaar het hele stadscentrum van Amsterdam opleverde misschien minder onaannemelijk.
Het idee achter Linked Open Data is dat als data in context gepubliceerd worden, computers verbindingen tussen data automatisch kunnen leggen. Het kadaster legt oppervlakte van panden vast in vierkante meters, maar de Britse Land Registry gebruikt wellicht de voet. Als elk kadaster zijn data precies beschrijft maakt dat niet uit: de computer rekent om en kan de oppervlakte van Britse en Nederlandse woningen vergelijken.
Maar dat is metriek. Sociale, historische, taalkundige en culturele context vastleggen in een datamodel is notoir ingewikkeld, of onmogelijk. Een datamodel is praktisch en zinvol omdat het zich rigoureus beperkt tot een beperkt domein en een beperkte context. Het is daarmee altijd het best bruikbaar voor een specifiek doel in een bepaalde context.
Zo is de UK een van de weinige landen waar feitelijk geen kadaster is. Wie ooit met een half oog naar de rijdende rechter heeft gekeken moet zich daarover verbazen. Het hele idee dat een perceel in drie dimensies te beschrijven en te bezitten is bestaat er feitelijk niet. In plaats daarvan bestaat er een vierdimensionaal systeem van rechten: Gedurende een bepaalde tijd kan iemand het recht bezitten om grond te bewerken, terwijl iemand anders het recht heeft gedurende een bepaalde tijd op deels dezelfde grond te jagen.
Het wordt de komende jaren fascinerend om te volgen hoe het semantic web - waarin alle data altijd realtime met elkaar gekoppeld zijn - hiermee omgaat en tot welke inzichten en misverstanden dit gaat leiden.
De kunst gaat zijn data te koppelen in een model dat zo eenvoudig is dat het intuïtief nog te begrijpen en dus te controleren is. Bij Waag proberen we de handleiding voor alle objecten in de wereld zo eenvoudig mogelijk te houden. Dat is in ieder geval een deel van de reden waarom de CitySDK API een kaartviewer heeft waarin je alle data direct kan zien, en waarom de API met JSON werkt - data in JSON formaat is voor leken ook nog leesbaar en (in ieder geval enigszins) inzichtelijk.