TweedeKamerDerStaten-Generaal / OpenDataPortaal

GitHub van het officiële Open Data Portaal van de Tweede Kamer der Staten-Generaal.
https://opendata.tweedekamer.nl
48 stars 3 forks source link

Rechtzetten van oudere data plaats alle entiteiten opnieuw in de Feed #127

Closed jordibeen closed 4 months ago

jordibeen commented 4 months ago

Vandaag heeft het Gegevensmagazijn een update gekregen (#126). Met deze update zijn er een aantal relaties en attributen gefixt.

Hoewel ik het rechtzetten en opschonen van data vooral toejuich, twijfel ik of dit soort updates op entiteiten ook het 'bijgewerkt' veld massaal horen te updaten naar vandaag.

Skiptokens

Om per categorie alleen relevante entiteiten binnen te halen, maak ik gebruik van de skiptoken. Zo heb ik bijvoorbeeld voor de category "Document" bepaald dat alleen entiteiten vanaf skiptoken=17225000 relevant waren voor mijn applicatie, dit was rond de installatie van de nieuwe Tweede Kamerleden.

Echter, door de update van vandaag krijg ik nu ALLE 39464 Documenten terug wanneer ik de feed doorloop vanaf dat skiptoken. Vanaf ongeveer skiptoken=18117734, tot en met 18471645 zijn er plotseling ineens 25806 enorm oude Documenten, daterend uit vergaderjaren tot wel 15+ jaar geleden.

De applicatie die ik aan het bouwen is afhankelijk van de chronologische volgorderlijkheid van de feeds. Naar aanleiding van jullie reactie op dit issue, waaruit blijkt dat het filteren vanuit jullie niet mogelijk gemaakt zal worden, heb ik hier tot nu toe de skiptoken voor gebruikt.


Is het intentioneel dat het rechtzetten van oudere data zorgt dat alle entiteiten uit een feed opnieuw in de feed naar voren zullen komen? Zo ja, dan vraag ik me af hoe jullie het voor mogelijk houden om bijvoorbeeld alleen Documenten uit vergaderjaar 2023-2024 op te halen?

OpenDataPortaal commented 4 months ago

Dit is de correcte werking van de SyncFeed API. Het doel van de SyncFeed API is het mogelijk maken om een eigen database te synchroniseren met de database van het Gegevensmagazijn. De achterliggende technologie maakt het - in tegenstelling tot de OData API - helaas niet mogelijk om verder te filteren buiten het niveau van entiteitsoort via category=. Eventueeel kan er in het script dat de data ophaalt gekeken worden naar de waarde van datumattributen om te specificeren welke entiteiten ook daadwerkelijk worden opgeslagen. Al lost dit niet op dat het script dan nogsteeds langs alle gewijzigde entiteiten in de feed zal moeten gaan.