OTL

De BGT-LD uitleg die ik had willen hebben…

Naar aanleiding van de lancering van de BGT als Linked data wilde ik kijken of ik er wat moois mee kon. Bijvoorbeeld de demo’s die we eerder gemaakt hebben op prototypes van de BGT ‘upgraden’ naar het nieuwe endpoint.

Dat bleek nog niet zo makkelijk omdat er een aantal ontwerpbeslissingen genomen zijn, die weliswaar erg terecht zijn, maar die niet direct duidelijk waren voor mij…

Het komt er op neer dat de huidige imeplementatie (en uitleg) vooral vanuit een registratie standpunt is. Terwijl ik vanuit een object standpunt redeneer. De volgende punten hielpen mij om te snappen hoe de bgt-ld versie in elkaar zit.

BGT/IMGeo en NEN3610

Vanuit de BGT/IMGeo zijn we gewend om eigenlijk alleen naar de BGT/IMGeo objecttypen te kijken.

In de opgestelde ontologie is het NEN3610 topmodel ook opgenomen. Dit maakt het plaatje natuurlijk completer, maar betekend ook dat bijvoorbeeld een bgt:BegroeidTerreindeel nu ook gemapt is aan nen3610:Terrein.

Strikte scheiding tussen de registratie en de definities

Ik was in eerste instantie op zoek naar instances van het type Wegdeel, en die kon ik niet vinden… Dat komt omdat Wegdeel de definitie van ‘het ding buiten in de werkelijkheid’ is en WegdeelRegistratie het ‘ding in de registratie’. Eigenlijk best logisch…

De relatie tussen het RegistratieObject en de definitie class wordt uiteindelijk pas op instantie niveau gelegd via functie/fysiekvoorkomen en primaryTopicOf. Als je puur naar het model kijkt in bijvoorbeeld de weaver viewer zie je die relaties dus niet. Dat zet je dus op het verkeerde been, want je hebt dus een instantie van WegdeelRegistratie in je data zitten en niet van Wegdeel.

Onderscheid tussen de registratie van het object, de nen3610 identificatie en de ‘metadata’ van het object

Er is dus een WegdeelRegistratie met prefix ‘registratie’ https://bgt.basisregistraties.overheid.nl/bgt/id/registratie/
een nen3610 identificatie met de prefix ‘identificatie’ https://bgt.basisregistraties.overheid.nl/bgt/id/identificatie/
en een metadata object met de prefix ‘object’ https://bgt.basisregistraties.overheid.nl/bgt/id/object/
het model zelf (classes en properties) heeft de prefix ‘bgt’ https://bgt.basisregistraties.overheid.nl/bgt/def/

alle mutaties aan de registratieobjecten zijn opgenomen in de graph

In de registratieobject zijn alle mutaties aan het object opgenomen, deze hebben een unieke URI gekregen op basis van het NEN3610 ID plus de timestamp van het tijdstipregistratie.

filter not exists {?reg prov:invalidatedAtTime [] .}

Geometrie is in RD opgenomen in het bgt attribuut bgt:geometrie met als serialisatie WKT

Ik wilde al aan de slag met de standaard Geosparql hasGeometry/asWKT constructie, maar dat werkt dus anders. En even opletten dat de meeste online tools WGS84 verwachten, dus niet vegreten je geometrie te transformeren van RD -> WGS84

bind(bif:ST_Transform(?geomRD, 4326) as ?geomWGS)

inzichtelijk gemaakt…

In ondderstaand plaatje is de structuur inzichtelijk gemaakt.

structuur

Ontodia live demo met Provincie Noord-Holland Areaaldata gelinkt aan BGT-LD

Dit is een bijgewerkte versie van de demo die we gemaakt hebben in het kader van de disgeo demo2 high5. Dit keer met de nieuwe bgt-ld en een nieuw extract van areaaldata viewer in LD vorm, gehost op provinciale infrastructuur.

Ontodia

Ontodia met een wegdeel als startpunt