He found the nodal points. Sometimes, falling asleep in Santa Monica, he wondered vaguely if there might be a larger system, a field of greater perspective. –William Gibson, Idoru
Representation is the essence of social engineering. –Fred Brooks, adapted
By Lambert Strether of Corrente.
Last April, I was enchanted by a diagram of the “web of corruption” surrounding New Jersey Governor and Republican Presidential candidate Chris Christie, which the New York Times coyly labels “the Lane Closings,” but which you and I know as BridgeGate. I encourage you to go view the original article at full size, and spend a little time reading it. This is the diagram, created by Bill Marsh and Kate Zernike:
Figure 1: Christie’s Web of Corruption
You can see how it would be interesting and even useful to map the webs of corruption surrounding Jebbie, or Hillary Clinton, or even Donald Trump; each of these candidates has a different type of corruption within our typology of corruption, and presumably one would expect that a proper visualization of each candidate’s “social network” would show differing patterns, rather like different species of spider can be classified by the geometries of the webs they weave.
That strikes me now; what struck me in April would be how useful it would be, for Naked Capitalism readers, if Richard Smith’s narratives of incredibly intricate international scams could be visualized using a similar technique, and so I set out do determine it was possible to support that use case. (Spoiler: Very possibly, depending on requirements.)
Before I go on, I should introduce some simple — really! — terminology. In the diagram, Christie is a node. Nodes — Christie and his colleagues and minions — are connected together by lines called arcs. Both nodes and arcs can have labels (“Chris Christie,” “Many loyalists among at least 50 people recommended for jobs,” respectively). The entire set of nodes and arcs is called a graph; that is, Figure 1 (above) is a graph. Generally, I call a subgraph of nodes and arcs within a complete graph a relation; Christie and his Chief Staff, Kevin Dowd, have a relation. Caveat: People also use “graph” to mean “chart.” Not only is this confusing, it makes graphing software hard to search for (especially as Google is increasingly abandoning its hitherto core search function and degenerating into a meta-shopping cart, ka-ching). Caveat: Graph theory has a powerful mathematical grounding, so but and different schools of thought have adopted different terminologies; for example, “edge” for “arc.” This is a second factor that makes for confusion and poor search results. (Given the quality of the NC commentariat, there’s probably a reader out there right now who’s aching to set me straight on this stuff; that’s one reason I left comments open.)
With that detour out of the way, let me introduce the detail image at left to show why I enjoyed the Times graph so much:
Why is this graph different from all others? What I call narrative labels. Most graphs and graphic software use symbols, letters, or simple phrases for labels, like Ω,, or “A”,” or at most (as in Figure 1 at top left) “Egea’s boss.” However, in Marsh and Zernike’s diagram, we have labels like “Long-time Christie friend, confidant. Firm has millions in state business” (the arc between Christie and David Samson, Chair of the Port Authority), or “Samson, furious at Foye for sending email about the lanes, warned ‘He’s playing in the traffic, made a big mistake” (the arc between Samson and Patrick J. Foye, Executive Director of the Port Authority). To trace the relationships mapped on the graph is to tell a story; that’s the value to readers that narrative arcs deliver, and why I found Figure 1 so uniquely enchanting. Further, the narrative labels are much more informative than simple phrases; they can support more powerful analysis. (We might pause for a moment to consider that Figure 1 shows only one set of relations that Christie is involved in; imagine the scale of a graph that showed all of them. And now imagine what graphs for Jebbie and Clinton would look like; this is the sort of information our elites carry around in their heads, or have people to carry for them. Now think of private equity squillionaires.)
So, I got in touch with Marsh and Zernike, and determined that Figure 1 was drawn by hand in a graphics program. (That is, considered as data, it was only bits or vectors or something; in other words, their graph was not data driven. Well, obviously at NC we aren’t going to be spending days drawing graphs by hand; we’re not artists, and with the size of crew we have, we don’t have the time. So, in order to satisfy Richard’s use case, I formulated the following set of requirements:
- Be generated algorithmically from data I control. That is, a workflow where Richard (say) would build a spreadsheet of players and their relations, export it to CSV, the CSV would be converted into a data format appopriate for graphs, and then fed to software that would display the graph automagically.
- Have narrative labels on curved arcs. See above for the rationale for narrative labels. The arcs must be curved, as the arcs in Figure1 are curved, to fit the graph within the smallest possible (screen) space.
- Be pretty. There is an entire literature devoted to making “pretty” graph, starting with making sure arcs don’t cross each other. In essence, though, it’s down to the algorithm, and we know it when we see it. A hairball, for example, is not pretty.
So now I’m going to take you on my serindipitous journey through the wonderful world of graphing software to see if I can find anything that meets my requirements. One reason I’m not jumping straight to the conclusion (although you may) is that the graphing world seems very siloed; combine that with Google’s wretched search function, and there are almost certain to be technical alternatives I didn’t consider, so readers, please correct me. Further, two of these tools, at least — Muckety and LittleSis (opposite of Big Brother) — may be useful to you in your own research.
So first let’s look at Muckety, “the place for tracking people and organizations with power and influence.” Here’s what Muckety’s graph of Christie looks like; handily, they enable embedding, so I’ll include the live, interactive version. (Here’s the link if you don’t have Flash.)
Figure 2: Muckety
So this is neat, but Muckety fails Requirement #2: The labels are not narrative and they are not on curves. The detail image:
A second failing, at least in my view, is that labels only appear when you hover over them; you cannot, as with Marsh and Zernike, get a comparative and synoptic view of all relations at the same time. Muckety also fails — unless, I think, one licenses the software — Requirement #2: Although the graph is algorithmically generated, I don’t control the data.
Next, let’s look at software from the world of mathematical typesetting, since graph theorists need to generate images of graphs for their papers. To me, that means the formidable TEX typesetting package, which includes a (very cool) library called Tikz (examples; documentation). I downloaded it and did some typesetting, and it will produce diagrams like this:
Figure 3: Tikz
(This is, of course, static, like Figure 1, and unlike the dynamic Figure 2; no hovering or dragging about of nodes. (Dynamic graphs are not a requirement for me, because my first priorities are representation and social engineering; see the epigraphs.)
Tikz meets Requirement #1 (TEX generated the file from my data) and arguably meets Relequirement #3 (it is pretty) but it fails Requirement #2: It does not permit narrative labels. My hope was that somehow TEX could be cajoled into treating arcs as baselines, along which the text fo the labels would run, following the curve if the arc curved, but Tikz does not do that, and try as I might, I couldn’t find another package that did. The TEX world wants, it seems, to put a short snippet of text in a box and stick the box near the label. The detail image:
Finally, in phase one of my quest, I looked at the concept mapping world and found Cmap, which “empowers users to construct, navigate, share and criticize knowledge models.” (Here’s a gallery.) There is not yet a Cmap of Chris Christie’s web of corruption, so I made a small test map:
Figure 4: Cmap
As we can see from this detail image, Cmap meets Requirement #2, at least as stated: It supports narrative labels, and arcs can be curved:
Further, Cmap meets Requirement #1: It supports importing data from a spreadsheet, and it generates the graph algorithmically.
However, in my opinion Cmap fails Requirement #3: The maps are not pretty. To be fair, there are many formatting tools available (that’s why the text in the labels can be bold and italic, as in Figure 1) but it’s way too much work to make the graph look good, and I think the narrative label text really should follow the baseline.
So there the matter rested; Cmap seemed like the best I could do. If we ever needed a graph of relationships that could be generated from spreadsheet data, there was a tool for it.
The matter rested until the following from Edward Tufte came across the Twitter. Note the narrative labels; narratives always include verbs:
— Edward Tufte (@EdwardTufte) July 19, 2015
Tufte’s posts recalled me — and how could I have forgotten? — to Mark Lombardi’s hand-drawn “narrative structures” of power relationships, which are wall-sized and hang in fine art galleries:
Figure 5: Lombardi
The full image can be seen here at Socks, which describes it:
A nodal point in Mark Lombardi’s oeuvre was the 1999 “George W. Bush, Harken Energy and Jackson Stephens, ca 1979–90″ (also shown in dOCUMENTA 13), which described the alleged connections between James Bath, the Bush and bin Laden families, and business deals in Texas and around the world.
Gorgeous, isn’t it? Clearly, this meets Requirement #3; it’s pretty. However, Lombardi fails to meet Requirement #2, as this detail image shows:
Lombardi does not use labels, let alone narrative labels, and so his “description” (as Socks would have it) is not nearly thick enough. It’s not enough to draw an arc between the node for “George W. Bush” and the node for “Arbusto Energy,” because absent a label, the relationship has no type? Father-son, as the relation between the nodes “George W. Bush” and “George H.W. Bush”? Ownership? Employment? We just don’t know. So Lombardi’s graphs, though beautiful art, are weak analytical tools.
Q: So you want to scan all Lombardi works?
A: No, the works shall not be scanned as images. The networks depicted shall be represented as a datastructure. In it, nodes are connected by edges. The format of choice for this representation is called GraphML and a variety of tools for editing such networks is available.
Q: So you want to generate Lombardis drawings by computers?
A: No. Although there are tools to draw graphs and there is even a thing called “Lombardi Graphs” [Christian A. Duncan, David Eppstein, Michael T. Goodrich. Lombardi Drawings of Graphs. Journal of Graph Algorithms and Applications. Vol. 16, no. 1, pp. 37-83 (2012)], the intention is to provide the data structures and to do analysis on them. Their visualization is not in the scope of this project.
Well, I want to “do analysis on them,” and “vizualization” too! However, vizualization inevitably involves tooling, and Tolksdorf recommends Cytoscape, which I tried in the first phase of this effort, but couldn’t get it to meet my requirements. And if any readers know of a GraphML tool that will, I’d love to hear about it!)
Tolksdorf’s site, however, linked to and reminded me of the LittleSis site — and I’d also been seeing some small LittleSis graphs float by on the twitter, so I went there and found this. It’s not of Christie, but at least it’s a New Jersey pension “pay to play” scandal.
Figure 6: LittleSis
So far as I can tell, LittleSis meets my requirements:
- LittleSis graphs are generated algorithmically from data I control. True, there’s a web interface for data entry. But the data is under my control, and the graph is generated algorithimcally. (Whether I could import an entire graph as CSV, in the spreadsheet workflow, I don’t yet know.)
- LittleSis has narrative labels on curved arcs. See the detail shot below
- LittleSis is reasonably pretty. I’m seeing some arcs running into each other, but they don’t cross each. The graph is certainly not a hairball!
Here is the detail image, showing the narrative label on a curved arc:
Now, whether it’s possible for me to set up a LittleSis operation on my own machine… And set up that spreadsheet-driven workflow… I don’t yet know.
(At this point, I should mention that both LittleSis and Muckety are encouragingly free — at least as I poke around their sites — of funding sources that make my neck hairs rise. It’s almost like the elites don’t want their power relation examined too closely, isn’t it?
But– But– Why are you telling me all this? For several reasons:
First, look at Naked Capitalism’s motto: “Fearless commentary on finance, economics, politics and power.” Images like those in Figures 1, 2, and 6 can surely assist in commentary. Whether in finance, economics, politics, or power, we are dealing with highly complex and interacting systems, and graph representations — especially those that meet my requirements :-) — are suitable for visualizing them.
Second, one of my takeaways from our Greek coverage is that we have many technical readers. We may not always agree with them, but technical they are! It’s possible that graph visualizations will speak to such readers — who may be familiar with UML or dataflow diagrams, for example — more clearly than prose alone (subject to the condition, expressed in Requirement #1, that the graph visualizations are data-driven and algorithmically generated; we aren’t going to be tweaking illustrations manually to make them prettier than possible).
Third, there’s is a tremendous variety of discussion on what we call “the left” about the relations between “finance, economics, politics and power” as expressed in the (dread word) intersections between class, race, gender, and so forth. In a perfect world, which I am not clever or powerful enough to bring about, discussions for “the nodal points” among social engineers — perhaps we should think about replacing that word “activist” — would be enhanced by a common visualization that could be whiteboarded (as opposed to bullet points on flip charts, say). I think that graph theory is the place to look for such a visualization, and Muckety and LittleSis (as well as Lombardi) may be pointing the way toward this. Such a visualization would appeal to people as disparate the activist community, and as separated in culture and cohort as node.js and COBOL programmers.
Comments are open!