[As community content, this post reflects the views and opinions of the particular author and does not necessarily reflect the official stance of Neo4j.]

We at Sandbag have recently launched the beta release of our EU Emissions Trading System Dashboard, an innovative tool that provides a user-friendly and interactive access to emission trading data extracted from the European Union Transaction Log (EUTL) together with other data integrated by our team (e.g., auction data and a more meaningful sectors aggregation).

We are excited to present a 100% open source tool — released under AGPLv3 license — based on the graph database paradigm on the backend by using Neo4j, which together with the use of cutting-edge interactive visualizations gives users an insight into Europe’s greenhouse gas emissions.

Many different options can be found for the visualization and proper storage of data on the web, but very few of them are interactive and powered by a database technology that allows you to make the best out of the data.

Unfortunately carbon emissions-related solutions are an example of this and they seem to be way behind compared to other fields such as bioinformatics, despite the complexity of this data and its importance in the fight against climate change.

Thus with our approach for the implementation of this web application, we overcome the limitations of static visualizations by supporting exploration of the data through interaction. This gives the user the possibility to not only visualize subsets of the data, but also find stories hidden in it by applying different types of filters in real time.

Through careful study of the data, analysts at Sandbag have previously helped to expose and ban gluts of dodgy offsets from HFC projects; discovered that the European Commission’s emissions model is based on outdated assumptions; and shown that the Market Stability Reserve wouldn’t have the impact industry said it would.

How the EU ETS Dashboard Works:


Views


The EU ETS Dashboard consists of four different views where the user can inspect the data from different perspectives. Each of them includes a specific type of visualization in order to best represent the data at each corresponding level of granularity.

EU-Wide

You can customise the chart to show the effect of EU ETS policies and instruments. You can also select to include or exclude emissions from aviation.

EU-Wide Emissions Trading Data


Country + Sector

Sandbag’s EU ETS dashboard is a powerful tool for tracking the performance of EU ETS policies on each industrial sector and each member state across different years. It provides a visual way of exploring ETS emissions data and policy instruments and includes functions to help you filter data and create charts on the fly to show the impact of the EU ETS.

Mapping of emissions data at the county and sector level


Installations Map

The emissions map is a visualisation of greenhouse gas emission sources covered by the EU ETS. It shows the most recent data available on regional emissions as well as individual installations. This tool can be used to identify sources of industrial emissions by country and sector.

A map of EU greenhouse gas emission sources


Data per Period

Historic emissions data is available for each year since 2008 and can be used to plot trends in emission levels, free allocation and offsets. Filters make it possible to focus on specific countries, sectors or time periods with the option to include or exclude power installations.

EU Emissions Trading System data per period


Open Source Technologies Used in the Front-End


The front-end uses the following libraries and technologies among others:
    • D3.js – Data-driven documents
    • Dimple.js – An object-oriented API for business analytics powered by D3
    • Bootstrap – The most popular HTML, CSS, and JS framework for developing responsive, mobile-first projects on the web
    • jQuery – A fast, small and feature-rich JavaScript library
    • Leaflet – An open source JavaScript library for mobile-friendly interactive maps

Backend


For the backend we are currently using Neo4j version 2.3.3.

Thanks to being based on the graph paradigm and specifically Neo4j, we are able to successfully navigate through complex highly interconnected data in order to extract at any given time the subset of data that we need for every specific analysis or graph visualization.

Database Data Model


Our current model includes:
    • 12 node types
    • 29 relationship types
Learn how the EU Emissions Trading System (ETS) Dashboard is used to help fight climate change

Data model of Sandbag’s graph database used in the EU ETS Dashboard

Client-Server Communication


We use the Neo4j REST API for client-server communication, having the Dashboard to send Cypher queries to the server in order to feed the data needed by the numerous visualizations.

Some Example Cypher Queries


Number of installations per sector and country:

MATCH (c:COUNTRY)<-[:INSTALLATION_COUNTRY]-(i:INSTALLATION)-[is:INSTALLATION_SECTOR]->(s:SECTOR)
RETURN s.name,c.name,count(i)
ORDER BY c.name, count(i) 

What is the surplus-deficit of free allowances to emissions in the cement sector, by country, in 2014?

MATCH (c:COUNTRY)<-[:INSTALLATION_COUNTRY]-(i:INSTALLATION)-[:INSTALLATION_SECTOR]->  
      (s:SECTOR{name:'Cement and Lime'}),
      (i)-[ve:VERIFIED_EMISSIONS]->(p:PERIOD{name:'2014'}),
      (i)-[aa:ALLOWANCES_IN_ALLOCATION]->(p:PERIOD{name:'2014'})
RETURN c.name AS Country, sum(ve.value) AS Verified_Emissions,
       sum(aa.value) AS Allowances_In_Allocation,
       sum(ve.value) - sum(aa.value) AS Surplus_Deficit
ORDER BY Country

What are the Verified Emissions in 2015 from stationary installations located in Spain, Germany or the United Kingdom that belong to the sectors defined by Sandbag: Cement and Lime or Glass, and that are also flagged as Power?

MATCH (c:COUNTRY)<-[:INSTALLATION_COUNTRY]-(i:INSTALLATION)-[:INSTALLATION_SECTOR]->
      (s:SECTOR)<-[:AGGREGATES_SECTOR]-(ss:SANDBAG_SECTOR), 
      (i)-[ve:VERIFIED_EMISSIONS]->(p:PERIOD) 
WHERE c.name IN [‘Spain’, ‘Germany’, ‘United Kingdom’] 
      AND ss.name IN [‘Cement and Lime’, ‘Glass’] 
      AND p.name = '2015' 
      AND node.power_flag <> ‘true’
RETURN i.id, i.name, i.latitude, i.longitude, ss.name, i.city, i.address, c.name, ve.value
ORDER BY c.name

I hope you find the EU ETS Dashboard both enlightening and helpful. Start digging into the emissions data right here on GitHub.


Want to learn more about open source graph databases?
Click below to get your free copy of the O’Reilly Graph Databases ebook and catch up to speed with the world’s fastest growing database technology.


Get My Free Copy

 

Keywords:  


About the Author

Pablo Pareja , Lead Data Scientist, Sandbag

Pablo Pareja Image

Pablo Pareja is the Lead Data Scientist and Data Visualization expert at Sandbag. He is a strong advocate of open data and open source projects. Prior to working at Sandbag, Pablo specialised in Big Data, graph databases, cloud computing and data visualization as a bioinformatics researcher at Era7 Bioinformatics where he was the leader of both the Bio4j and Biographika projects.


1 Comment

My brother recommended I may like this blog. He was
once entirely right. This submit actually made my day.
You can not imagine simply how much time I had spent for this information! Thank you!

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe

Upcoming Event

 


Have a Graph Question?

Stack Overflow
Community Forums
Contact Us

Share your Graph Story?

Email us: content@neo4j.com