SQL-åtkomst till Nederländernas parlament nu med alla datakopplingar inkluderade

Det nederländska parlamentets datalager är tillgängligt med SQL via en ny anslutning, TweedeKamerV2. Den använder sig av parlamentets OData v5-anslutning istället för v2-anslutningen. V2-anslutningen kommer att upphöra den 1 oktober 2026.

Denna nya driver möjliggör för första gången även kopplingarna mellan data: vilken röst hör till vilket beslut, vilket dokument hör till vilket ärende, vilken bokning hör till vilket rum, etc.

Varför en ny anslutning

Det nederländska parlamentet drar tillbaka anslutningen OData/v4/2.0 den 1 oktober 2026. Den befintliga anslutningen TweedeKamerNl läser denna anslutning och kommer då att sluta fungera. Den nya anslutningen läser efterföljaren OData/v5.

Båda anslutningarna kommer att existera parallellt fram till den 1 oktober 2026, så att befintliga rapporteringsprocesser kan övergå utan avbrott.

Vad som förändras: kopplingarna

Den gamla anslutningen erbjöd tabellerna men inte kopplingarna mellan dem. En referens till en enskild annan post expanderades till kolumner från den andra posten, vilka sedan alltid förblev tomma; en referens till flera poster försvann utan meddelande. Detta gjorde drivrutinen mindre värdefull för många scenarier.

Den nya anslutningen registrerar alla 132 referenser som modellen känner till på två sätt:

  • en referens till en enskild annan post blir en vanlig kolumn med nyckeln i, till exempel Besluit_Id på en röstning. På detta sätt kan filtrering och kopplingar utföras;
  • en referens till flera poster får en egen anslutningstabell med två kolumner, till exempel ZaalReserveringen mellan rum och bokningar.

Exempel: röster emot vid avslagna beslut

Följande fråga räknar per partigrupp hur ofta de röstade emot ett beslut som blev avslaget. Det kräver att två tabeller används samtidigt: typen av beslut står på beslutet, rösten på röstningen.

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

Exempel: hur mycket används varje rum?

Den andra typen av koppling, anslutningstabellen, förbinder två tabeller som inte har en nyckel till varandra. Rum och bokningar är ett 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

På så sätt lär vi oss att Throbecke-salen har många bokningar, men att “Oude zaal - Rooksalon” har väldigt få.

Att byta över

Tabellnamnen är till största delen identiska mellan tabellerna.

Se även: