Skip to content

Instantly share code, notes, and snippets.

@ThemisB
Created August 22, 2017 09:41
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ThemisB/f4d246066e92173363c9e75cff8dae71 to your computer and use it in GitHub Desktop.
Save ThemisB/f4d246066e92173363c9e75cff8dae71 to your computer and use it in GitHub Desktop.
Final Report of Diavgeia GSOC 2017

This is a final report of the work which was done as part of Diavgeia GSOC17 Project (https://github.com/eellak/gsoc17-diavgeia).

Abstract

Diavgeia is the greek transparency portal, which all government institutions are obliged to use, in order to upload their decisions online. In this GSoC project, i promoted even more its transparency and enhanced the functionality of the Diavgeia, by:

  • Creating a RDF Schema for the decisions of government institutions.
  • Using Blockchain technology (Bitcoin) to ensure immutability of decisions over time.
  • Providing a sample of RDF decisions expressed in Notation3(N3) complying to our rdf schema.
  • Creating a UI that government institutions can use to compose their N3 decisions using a html form.
  • Creating a tool for visualizing N3 decisions in a web browser.
  • Storing decisions to Apache Jena rdf store (TDB) and using Fuseki Server to provide a UI to citizens to pose SPARQL queries.
  • Reducing government documents size by a factor of 100.

To read more about the project, please pay a visit to the project website (https://eellak.github.io/gsoc17-diavgeia/) as well as to the extensive documentation provided in the repository (https://github.com/eellak/gsoc17-diavgeia/blob/master/README.md)

Work and Repository

All of my work can be found at this repository (https://github.com/eellak/gsoc17-diavgeia), which was created from scratch and does not rely on any previous code. My commits can be found here (https://github.com/eellak/gsoc17-diavgeia/commits/master?author=themisb)

Deliverables

Deliverables are independent functionality submodules and can be found here:

Project Progress

I kept weekly project progress report logs, which can be found here (https://github.com/eellak/gsoc17-diavgeia/blob/master/project_progress/progress.md)

Future Work

As stated in the repository and project's website, the following can be done:

  1. Bitcoin-Website Validator: Create a tool which ensures that all proof of burn blockchain transactions of Diavgeia are consistent with the merkle trees uploaded on Diavgeia's website.
  2. Bitcoin-SPARQL Validator: Find an efficient way to prove that all decisions that have been commited to blockchain are also available from the SPARQL endpoint.
  3. Improve Visualizer: Visualizer does not visualize rdf properties for each different decision type.
  4. Study scalability of SPARQL endpoint: As it was stated, Diavgeia hosts millions of decisions. A benchmark of the scalability of the Apache Jena and Fuseki is crucial.

Production Ready tools

As stated in the repository, the following can be applied to production:

  1. Bitcoin Application.
  2. RDF Schema (with the exception of the two decision types that have not been included (Law and PaymentFinalisation))
  3. N3-Composer.
  4. Visualizer (but it needs further improvement to visualize the specific decision properties, as stated in Future Work).
  5. SPARQL Endpoint.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment