Code repository for my Master Thesis in MSc. in Business Analytics, AUEB, titled "Impact Analysis of Greece's OpenGov Public Consultation Contributions on Final Legislation"
The main goal of the thesis is to extract initial article legislation proposals, public consultation contributions and the final version of the legislative article, as voted by the Hellenic Parliament, in order to asses public consultation feedback's impact.
The relevant data is extract from
- OpenGov's where public consultations are hosted
- PDF files of Voted Laws
Extracted data is held in a local relational sqlite
database file.
The database is freely available at Zenodo under Creative Commons Attribution 4.0 license.
config.ini holds sqlite
's database file configurations for different scenarios
Holds sqlalchemy
's ORM classes for the main extracted entities
Notebooks contain the main extraction and data cleaning scripts required for arriving at the relational schema.
Why Notebooks? Iterative processes such as extraction and data cleansing are done more efficiently using notebooks files (.ipynb
) due to not losing state when exceptions occur. This allows quicker debugging, since the previous state of the program is not lost.
One-off scripts desinged to do a specific job, usually explained sufficiently by the script title
Schema changes after the initial database creation with SQLAlchemy's ORM
Stand-alone SQL queries
Classes and functions related to text processing