Home

Awesome

This repository contains code to build cosponsorship networks from bills passed in the lower and upper chambers of the Belgian Parliament.

HOWTO

Replicate by running make.r in R.

The data-ch.r script deals with the lower house; it will scrape all sponsors for legislatures 48-54 and all dossiers for legislatures 47-53. The first and last legislatures are then excluded from the network building routine in build-ch.r: there are no sponsor details for legislature 47, and not enough bills in legislature 54, which started in late 2014.

The data-se.r and build-se.r scripts carry the same operations as above for the upper house, starting with legislature 49 (i.e. one less legislature than the lower house) and ending with legislature 53. The download procedure is a bit more straightforward, but there are less data overall, and legislature 48 has no variance in seniority (see below).

Note that, for both chambers, two steps are necessary to pass the raw data to the network building routine. The dossiers*.csv are preprocessed versions of the sponsors*.csv bills datasets, where * is a two-digit legislature number: after adding new raw data, the preprocessed data should be refreshed by setting update to TRUE in make.r.

There are missing photos in both houses, so the download scripts will report a few 404 errors on every run.

The build-ch.r and build-se.r scripts assemble the edge lists and plot the networks, with the help of a few routines coded into functions.r. Adjust the plot, gexf and mode parameters in make.r to skip the plots or to change the node placement algorithm.

DATA

Bills

The bills data are quite different for each chamber. A common point is that there is no precise information on the date of introduction of the bills, just the legislature of introduction.

Chambre:

Sénat:

Sponsors

Chambre:

Party affiliations are not in the data because they are hardcoded in the sponsorships.

Sénat:

The mandate variable does not capture mandate years before 1995. As a result, imputed seniority for senators sitting in legislature 48 has null variance.

Fun fact -- there are two "Philippe Charlier" in the data, and both are born in 1951.

Parties

There are many political parties in Belgium, with many name changes during the sample period. The code uses simplified groups that preserve the main political families and the two linguistic groups:

Including the minor parties in the modularity computations does not affect the results (checked at two digits precision on all sample legislatures).

abbreviationfull.name
ECOLOGreens
SOC-VFrancophone Conservatives
SOC-FFlemish Conservatives
CDEM-VFlemish Conservatives + Volksunie
CDEM-FFrancophone Liberals
CDEM-V/VOLKSFlemish Liberals
LIB-FFrancophone Socialists
LIB-VFlemish Socialists
VOLKSFront National
VLAAMSROSSEM
FNVlaams Blok
LDDVolksunie
ROSSEMLibertair, Direct, Democratisch
INDIndependent

THANKS

Thanks to Bram for feedback.