Tweede Kamer via SQL nu inklusive alle forbindelser mellem dataene

Folketinget’s Data Warehouse kan tilgås med SQL via en ny connector, TweedeKamerV2. Denne bruger Folketingets OData v5-forbindelse i stedet for v2-forbindelsen. v2-forbindelsen udgår den 1. oktober 2026.

Denne nye driver åbner også for første gang forbindelserne mellem dataene: hvilken afstemning hører til hvilken beslutning, hvilket dokument til hvilken sag, hvilken reservation til hvilket rum osv.

Hvorfor en ny connector

Folketinget trækker forbindelsen OData/v4/2.0 tilbage den 1. oktober 2026. Den eksisterende connector TweedeKamerNl bruger denne forbindelse og vil derefter ophøre med at fungere. Den nye connector anvender efterfølgeren OData/v5.

Begge connectorer vil eksistere side om side indtil den 1. oktober 2026, så en eksisterende rapport kan konverteres uden afbrydelse.

Hvad ændrer sig: forbindelserne

Den gamle connector tilbød tabellerne, men ikke forbindelserne imellem dem. En henvisning til en enkelt anden post blev udvidet til kolonner fra den anden post, som derefter altid forblev tomme; en henvisning til flere poster forsvandt uden varsel. Dette gjorde driveren mindre værdifuld for mange scenarier.

Den nye connector dokumenterer alle 132 henvisninger, som modellen kender, på to måder:

  • en henvisning til en enkelt anden post bliver en almindelig kolonne med nøglen i, for eksempel Besluit_Id på en afstemning. Denne kan filtreres og forbindes;
  • en henvisning til flere poster får en egen forbindelsestabel med to kolonner, for eksempel ZaalReserveringen mellem rum og reservationer.

Eksempel: modstemmer ved forkastede beslutninger

Følgende forespørgsel tæller pr. parti, hvor ofte de stemte imod en beslutning, der blev forkastet. Dette kræver to tabeller samtidig: typen af beslutningen findes på beslutningen, og stemmen på afstemningen.

select   stg.fractienaam
,        count(*) as aantal_tegen
from     TweedeKamer..Stemmingen stg
join     TweedeKamer..Besluiten  bst
on       bst.id = stg.besluit_id
and      bst.soort = 'Stemmen - verworpen'
where    stg.soort = 'Tegen'
and      stg.GewijzigdOp >= trunc(sysdateutc) - 14
group
by       stg.fractienaam

Eksempel: hvor travlt er hvert rum?

Den anden form for forbindelse, forbindelsestabellen, forbinder to tabeller, der ikke har en nøgle til hinanden. Rum og reservationer er et sådant par:

select   zal.naam     as zaal
,        count(*)     as aantal_reserveringen
from     TweedeKamer..ZaalReserveringen zrg
join     TweedeKamer..Zalen             zal
on       zal.id = zrg.zaal_id
group
by       zal.naam

Således lærer vi, at Throbeckezaalen har mange reservationer, men den “Oude zaal - Rooksalon” har meget få.

Skift over

Tabellernes navne er stort set identiske mellem tabellerne.

Se også: