9bNine Bits

How Journalists Used Graph Databases on the Panama Papers

Journalists at the International Consortium of Investigative Journalists (ICIJ) used the graph database Neo4j, together with the visualization tool Linkurious, to map relationships between people, shell companies, and intermediaries hidden in the leaked Mossack Fonseca files known as the Panama Papers. A graph database stores entities as nodes and relationships as edges, so following an ownership chain several hops deep is a direct traversal rather than a chain of relational joins. The same modeling approach applies to any investigation or application built around networks of connections rather than isolated records.
How Journalists Used Graph Databases on the Panama Papers

In April, the Panama Papers of ICIJ(The International Consortium of Investigative Journalists) scared the whole world. They are 11.5 million leaked documents that detail financial and attorney–client information for more than 214,488 offshore entities. The leaked documents were created by Panamanian law firm and corporate service provider Mossack Fonseca; some date back to the 1970s.

The leaked documents illustrate how wealthy individuals, including public officials, are able to keep personal financial information private. While offshore business entities are often not illegal, reporters found that some of the Mossack Fonseca shell corporations were used for illegal purposes, including fraud, kleptocracy, tax evasion, and evading international sanctions.

Why did ICIJ decide to use a graph database?

The Panama Papers and Offshore Leaks datasets reveal the names of the people behind opaque offshore structures and expose these networks of secrecy. Graph databases are the best way to explore the relationships between these people and entities — it’s much more intuitive to use for this purpose than a SQL database or other types of NoSQL databases. In addition, graphs allow understanding these networks in a very intuitive way and easily discovering connections.

Do you look at a red circle? Korean users are very active and enthusiastic!

The below link is a page for user guide. https://offshoreleaks.icij.org/pages/howtouse

Well, then, let’s start to search by using the guide.

  1. Enter the URL https://offshoreleaks.icij.org/
  2. Search information by using search condition.

Selecting country by country and zone by zone is possible. On the tab “Search by country”, enter the searching keyword and click “Search”.

We received the result but it wasn’t data of Panama Papers. Anyway, we tried to click it because it belongs to Offshore Leaks data.

There are graphics linked a person to associative entity. Click “GROUP LIMITED”.

It shows the information for relationship by Graph like this and if clicking “Edge”, you can confirm the information. Sure, each Edge of this Graph is transferred in the diagram on the way of drag-and-drop.

Until now, it is about Graph Database technology which is constructed for a year and offered for service in Panama Papers.

 

Common questions

What specific tools did journalists use to investigate the Panama Papers?

Reporters working with the International Consortium of Investigative Journalists used the graph database Neo4j to store relationships between people, companies, and intermediaries, and the visualization tool Linkurious to explore that network visually without writing queries directly.

Why not just use a relational database with SQL joins for this kind of investigation?

The useful connections were often several steps removed, such as a person linked to a company through two or three intermediaries. That kind of variable-depth traversal requires chaining many joins in a relational database, which gets slow and hard to write, while a graph database walks the same connections directly through stored edges.

Is Neo4j the only graph database available?

No. Other options include Amazon Neptune, ArangoDB, and JanusGraph as standalone graph databases, and Apache AGE as an open-source extension that adds graph queries to PostgreSQL. The right choice depends on whether you want a dedicated graph engine or graph capability layered on an existing relational system.

Can you run graph-style queries without leaving PostgreSQL?

Yes. Apache AGE adds openCypher query support inside Postgres through a SQL function call, and the SQL/PGQ extension to the SQL standard is bringing native property graph queries to some relational engines directly. Check current documentation for which engines support SQL/PGQ, since support is still rolling out.

What's the main risk of modeling data as a graph?

The biggest risk is over-applying the model: putting data that is naturally tabular and shallow into a graph structure adds query complexity and operational overhead without a real traversal benefit. Graph modeling pays off specifically when your core queries follow chains of relationships of unknown or varying depth.

Sources

  1. ICIJ: The Panama Papers investigation
  2. Apache AGE (PostgreSQL graph extension)
  3. openCypher project

About this page

Last reviewed October 30, 2026 by the Nine Bits editors. Read our editorial policy or report an error.