The Trump presidency

A visual presentation of the Trump White House using neo4j

After finishing reading Fire and Fury, the famous description of the Trump White House by Michael Wolff, I was left with an urgent desire to visualise at least some of the complex relationships that were being portrayed in this work. The book reminded me of Russian novels, and as usual in such cases I was unable to keep track of all the main characters and their respective interactions.

To make up for this missing information, I started off by drawing a little graph just using paper, pen and pencil. I would insert this paper into the book itself for future reference. However, even when I was working on this overview one rainy Sunday morning, news from the White House was pouring in that made the information on it already outdated. So I decided to create a little database and website on which I could keep track of all the political and personal developments of the current presidency. Not only would that be fun to do, it would also give an insight of the different forces and factions that make up the current administration.

Since this project is all about people and their relations, it is only natural to envisage this force-field as a (directed) graph. So I decided to use the graph-database neo4j for this exercise. But because I did not want to type in all the Cypher queries in the neo4j web-interface, I rewrote my initial paper drawing as a set of json-files and used Python to process these into the database.

Wolff's book describes three factions in the White House, apart from POTUS and his principal aids (which I dubbed 'Core'). So I created three kinds of nodes: moderate republicans (ModRep), republican establishment (RepEst), and altright. The first phase of the database-creation reads in twentyone principal players divided among those four node-types. To make things easy, the relations between the principle representative of the faction (Kushner, Priebus, Bannon) and the persons aligned to him I have just called 'employs' (which leads to a rather disturbing relationship between e.g. Kushner and Ivanka Trump).

In the second phase, the particular relations between the different players in this force-field were added. These relations have a specific name and direction, and feature the reference to the page number in Fire and Fury where Wolff describes this particular relationship.

I have used neo4jrestclient for the first phase and (the more native) neo4j.v1 for the second, for no particular reason. Both the data and the scripts are available on github.

The graph below is an svg representation of the current result of this work. In it, in purple we see POTUS sitting in the middle with his closest advisors Hicks and Walsh above him. Surrounding him, we see the three main factions in yellow, blue and red hues. According to Wolff, the communication between Trump and the principal representative of these factions goes through his principal adviser Kellyann Conway, so there are edges from her node to the three main players. From these nodes, several relations fan out and the force-field kind of becomes apparant.

Momentarily, this image is rather static – it has just two mouseover-events to make the display somewhat more interesting. I will be adding functionality to it in the near future, such as particular details on both relations and persons (among others, the amount of Scaramucci that one has been empoyed). Also, using Cypher updates I will try to keep track of the rapid developments on the White House.

The Trump presidencyCreated using Neo4j (…collegue_ofreplaced_byemploysemploysemploysemploysemploysemploysemploysphones_withremoveskitchen_kabinet_of Donald Trump Katie Walsh Hope Hicks Jared Kushner Ivanka Trump Anthony Scaramucci Gary Cohn Paul Ryan Jeff Sessions James Comey Herbert McMaster Kellyanne Conway Michael Flynn Dina Powell Reince Priebus Sean Spicer Steve Bannon Rupert Murdoch John Kelly Roger Ailes