Problemen met Sparql query

Ik probeer met de volgende query de data op te vragen van KVK kantoor in Utrecht. Maar hij geeft twee entries terug dat het object is ingetrokken. Dat klopt niet, maar ik weet niet wat ik verkeerd doe. Zou iemand mij hier mee kunnen helpen?

prefix bag: <http://bag.basisregistraties.overheid.nl/def/bag#>
prefix cbs: <http://betalinkeddata.cbs.nl/def/cbs#>
prefix def: <http://betalinkeddata.cbs.nl/def/83487NED#>
prefix dimension: <http://betalinkeddata.cbs.nl/def/dimension#>
prefix energielabels: <https://data.labs.pdok.nl/def/energielabels/>
prefix geo: <http://www.opengis.net/ont/geosparql#>
prefix graph: <https://data.labs.pdok.nl/graph/>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
select * {
    bind("3511BT" as ?postcode)
    bind(300 as ?huisnummer)
    bind("" as ?huisnummertoevoeging)
    bind("" as ?huisletter)
    graph ?nummeraanduidingVoorkomen {
        ?nummeraanduiding bag:huisnummer ?huisnummer;
                          bag:postcode ?postcode;
                          bag:identificatiecode ?nummeraanduidingID;
                          bag:status ?nummeraanduidingStatus.
    }
    filter not exists {
        ?nummeraanduidingVoorkomen bag:eindGeldigheid []
    }
    optional {
        ?nummeraanduiding bag:huisletter ?huisletter.
    }
    optional {
        ?nummeraanduiding bag:huisnummertoevoeging ?huisnummertoevoeging.
    }
    ?nummeraanduidingStatus rdfs:label ?nummeraanduidingStatusLabel.
    graph ?verblijfsobjectVoorkomen {
        ?verblijfsobject bag:hoofdadres ?nummeraanduiding;
                         bag:oppervlakte ?oppervlakte;
                         bag:identificatiecode ?verblijfsobjectID;
                         bag:pandrelatering ?pand;
                         a ?verblijfsobjectType;
                         bag:status ?verblijfsobjectStatus.
    }
    filter not exists {
        ?verblijfsobjectVoorkomen bag:eindGeldigheid []
    }
    optional {
        ?verblijfsobjectVoorkomen bag:eindGeldigheid ?einde
    }
    ?verblijfsobjectType dct:subject / skos:notation ?gebruiksdoel.
    ?verblijfsobjectStatus rdfs:label ?verblijfsobjectStatusLabel.
    graph ?pandVoorkomen {
        ?pand bag:oorspronkelijkBouwjaar ?bouwjaar;
              bag:identificatiecode ?pandID;
              bag:status ?pandStatus.
    }
    filter not exists {
        ?pandVoorkomen bag:eindGeldigheid []
    }
    ?pandStatus rdfs:label ?pandStatusLabel
}
limit 12

Waarom klopt het niet dat het object is ingetrokken?

Als ik de nummeraanduiding opzoek in de BAGViewer vind ik hetzelfde, zowel nummeraanduiding als verblijfsobject hebben een “ingetrokken” status:

Pand 
ID 0344100000035738
Bouwjaar 1987
Status Pand in gebruik

Verblijfsobject
ID 0344010000012449
Gebruiksdoel industriefunctie, kantoorfunctie
Oppervlakte 999999 m2
Status Verblijfsobject ingetrokken

Nummeraanduiding
ID 0344200000017081
Postcode 3511BT
Huisnummer 300
Huisletter
Huisnummer toev.
Status Naamgeving ingetrokken

Openbare ruimte
ID 0344300000000857
Naam St.-Jacobsstraat
Status Naamgeving uitgegeven

Woonplaats
ID 3295
Naam Utrecht
Status Woonplaats aangewezen

Bronhouder
ID 0344
Naam Utrecht

Er bestaan drie objecten in de BAG met Postcode 3511BT en Huisnummer 300. Twee hiervan zijn ingetrokken en Ă©Ă©n met status uitgegeven.
Zie:
https://bagviewer.kadaster.nl/lvbag/bag-viewer/#?geometry.x=136225.65&geometry.y=456469.782&postcode=3511BT&huisnummer=300&zoomlevel=6

Het adres met status uitgegeven is een nevenadres dat hoort bij hoofdadres St.-Jacobsstraat.

Zie:
https://bagviewer.kadaster.nl/lvbag/bag-viewer/#?geometry.x=136225.65&geometry.y=456469.782&postcode=3511BT&huisnummer=300&zoomlevel=6&objectId=0344200000174041&detailsObjectId=0344200000174041

Helaas weet ik niet wat hoe je via Sparql een nevenadres kunt opvragen.

Kleine aanpassing in de query om ook nevenadressen mee te nemen:

prefix bag: <http://bag.basisregistraties.overheid.nl/def/bag#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
select * {
    bind("3511BT" as ?postcode)
    bind(300 as ?huisnummer)
    bind("" as ?huisnummertoevoeging)
    bind("" as ?huisletter)
    graph ?nummeraanduidingVoorkomen {
        ?nummeraanduiding bag:huisnummer ?huisnummer;
                          bag:postcode ?postcode;
                          bag:identificatiecode ?nummeraanduidingID;
                          bag:status ?nummeraanduidingStatus.
    }
    filter not exists {
        ?nummeraanduidingVoorkomen bag:eindGeldigheid []
    }
    optional {
        ?nummeraanduiding bag:huisletter ?huisletter.
        ?nummeraanduiding bag:huisnummertoevoeging ?huisnummertoevoeging.
    }
    ?nummeraanduidingStatus rdfs:label ?nummeraanduidingStatusLabel.
    graph ?verblijfsobjectVoorkomen {
        ?verblijfsobject bag:hoofdadres | bag:nevenadres ?nummeraanduiding;
                         bag:oppervlakte ?oppervlakte;
                         bag:identificatiecode ?verblijfsobjectID;
                         bag:pandrelatering ?pand;
                         a ?verblijfsobjectType;
                         bag:status ?verblijfsobjectStatus.
    }
    filter not exists {
        ?verblijfsobjectVoorkomen bag:eindGeldigheid []
    }
    optional {
        ?verblijfsobjectVoorkomen bag:eindGeldigheid ?einde
    }
    ?verblijfsobjectType dct:subject / skos:notation ?gebruiksdoel.
    ?verblijfsobjectStatus rdfs:label ?verblijfsobjectStatusLabel.
    graph ?pandVoorkomen {
        ?pand bag:oorspronkelijkBouwjaar ?bouwjaar;
              bag:identificatiecode ?pandID;
              bag:status ?pandStatus.
    }
    filter not exists {
        ?pandVoorkomen bag:eindGeldigheid []
    }
    ?pandStatus rdfs:label ?pandStatusLabel
}
limit 100

Maar dit geeft uiteindelijk alsnog maar 2 van de 4 nummeraanduidingen die Pieter hierboven in de BAGViewer (waar ik duidelijk een stuk minder in thuis ben … :sweat: ) heeft gevonden. De andere twee zijn niet gekoppeld aan een verblijfsobject waardoor bovenstaande query, met een verplichte nummeraanduiding-verblijfsobject relatie, ze niet zal vinden.

Het toevoegen van het nevenadres, geeft mij nu in ieder geval het object wat ook bekend is bij de Kamer van Koophandel. En de kamer werkt met verblijfsobject ids, dus ik denk dat ik de nummeraanduidingen, die niet gekoppeld zijn aan een verblijfsobject niet relevant zijn. Ik ben geholpen. Hartelijk dank!

1 like