Hoi Jasper,
Ik heb het /sparql/now geprobeerd, maar ook die is erg traag. (Ook als ik de query sterk vereenvoudig) Ik heb even snel de REST API geprobeerd, en die lijkt inderdaad een stuk sneller. Ik heb hieronder mijn sparql query geplakt. Belangrijkste voor mij is dat ik op basis van een postcode/ huisnummer/ huisnummertoevoeging/ huisletter combinatie een nummeraanduidings id, status, en een verblijfsobject id, status en gebruiksdoel terug krijg. Ik denk dat ik een eind moet komen met de REST API beschrijving. Mijn beoogde aanpak in het kort: ik begin met het uitvragen van het /nummeraanduidingen endpoint, en vanaf daar volg nog een aantal links, die ik terugkrijg per nummeraanduiding. Klopt deze aanpak? Zijn er dingen waar ik aan moet denken?
Daarnaast nog een andere vraag hieraan gerelateerd: Wij zijn bij de KVK ook aan het kijken naar de mogelijkheden van Linked Data. Wij zijn jullie ervaringen hiermee? Het feit dat ik nu over moet schakelen naar de REST API, geeft nog niet heel veel vertrouwen. Of heeft dit een duidelijk aanwijsbare en oplosbare reden?
Dank voor de hulp zover.
Hieronder mijn Sparql query:
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("${postcode}" as ?postcode)
bind(${huisnummer} as ?huisnummer)
bind("${huisnummerToevoeging}" as ?huisnummertoevoeging)
bind("${huisletter}" 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