{"id":387,"date":"2019-04-01T08:54:10","date_gmt":"2019-04-01T13:54:10","guid":{"rendered":"https:\/\/cdrhdev.unl.edu\/log\/?p=387"},"modified":"2019-04-01T08:54:10","modified_gmt":"2019-04-01T13:54:10","slug":"land-of-confusion-a-relationship-visualization-experiment","status":"publish","type":"post","link":"https:\/\/cdrhdev.unl.edu\/log\/2019\/land-of-confusion-a-relationship-visualization-experiment\/","title":{"rendered":"Land of Confusion: A Relationship Visualization Experiment"},"content":{"rendered":"<p>In September 2015, we launched the <em>O Say Can You See: Early Washington D.C., Law &amp; Family<\/em> website (OSCYS) [<a href=\"http:\/\/earlywashingtondc.org\">http:\/\/earlywashingtondc.org<\/a>].\u00a0 The site had an interactive network component, where users could easily see how a petitioner not only had relationships to attorneys and defendants, but to a web of family members and social connections involved in other court cases.\u00a0 What we didn&#8217;t know then is that the networks would quickly grow into incredibly tangled webs that would need to be revisited in 2019.<\/p>\n<figure id=\"attachment_389\" aria-describedby=\"caption-attachment-389\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-389 size-medium\" src=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/0_oscys-300x300.png\" alt=\"O Say Can You See logo\" width=\"300\" height=\"300\" srcset=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/0_oscys-300x300.png 300w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/0_oscys-150x150.png 150w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/0_oscys.png 400w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><figcaption id=\"caption-attachment-389\" class=\"wp-caption-text\">O Say Can You See&#8217;s logo emphasizes the project&#8217;s network of relationships<\/figcaption><\/figure>\n<p>In 2015, before the visualization tool could be born, Laura Weakly and Kaci Nash had already spent hours upon hours recording relationships between all the individuals they could identify in court documents, warrants, minute books, petitions, and more.\u00a0 As the team&#8217;s developer, I put myself through a crash course in RDF and SPARQL queries as I worked on figuring out how to present the relationships in a way that could be interrogated, and then I experimented with JavaScript visualization libraries that would allow the results to be explored by users.\u00a0 I settled on the JavaScript InfoVis Toolkit (JIT) [<a href=\"http:\/\/philogb.github.io\/jit\/\">http:\/\/philogb.github.io\/jit\/<\/a>], inspired by the Social Networks and Archival Context (SNAC) [<a href=\"http:\/\/snaccooperative.org\/\">http:\/\/snaccooperative.org\/<\/a>] website&#8217;s use of the library.\u00a0 As I recall, I struggled for a little while getting JIT to color lines correctly for the relationships between individuals, but ultimately we ended up with something we were all happy with, we launched the site, and I moved onto the next project.<\/p>\n<p>Laura and Kaci continued adding new documents, however, and that meant adding more people.\u00a0 Soon some of the visualizations were starting to break browser tabs &#8212; &#8220;Warning: unresponsive script&#8221; messages were showing up as the user&#8217;s browser scrambled about, frantically trying to draw thousands of points and lines.\u00a0 We restricted judges and clerks from showing up in the visualizations, thinking that since those people were involved in almost all of the court cases and didn&#8217;t necessarily have personal relationships with many of the individuals we were most interested in, perhaps this would help the visualization.\u00a0 It continued to limp along, but active attorneys like Francis Scott Key continued to grow into larger and larger monster networks.<\/p>\n<p>Finally this spring, we were able to find time to revisit the project.\u00a0 Although I was supposed to be primarily building a few tools for the project team&#8217;s workflow and working on a pretty sweet map,\u00a0I spent some spare time trying to mitigate some of the worst concerns about the visualizations.\u00a0 Speaking of that pretty sweet map, it&#8217;s live now!\u00a0 Take a look at the work Kaci Nash and Patrick Hoehne did putting together a map of Washington, D.C., 1822 directory data, and the people in OSCYS documents here: [<a href=\"http:\/\/earlywashingtondc.org\/maps\/directory_dc\">http:\/\/earlywashingtondc.org\/maps\/directory_dc<\/a>],<\/p>\n<figure id=\"attachment_398\" aria-describedby=\"caption-attachment-398\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-398 size-medium\" src=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/map-300x258.png\" alt=\"historical map with small dots representing individuals\" width=\"300\" height=\"258\" srcset=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/map-300x258.png 300w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/map-768x661.png 768w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/map.png 1006w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><figcaption id=\"caption-attachment-398\" class=\"wp-caption-text\">You can explore the map with layers like court role, occupation, race, and gender<\/figcaption><\/figure>\n<p>Back to the visualization:\u00a0 I tried out d3 [<a href=\"https:\/\/d3js.org\/\">https:\/\/d3js.org\/<\/a>] first, having worked with it once before for another of Dr. William Thomas III&#8217;s projects, <em>Reconstructing African American Mobility After Emancipation, 1865-1867 <\/em>[<a href=\"http:\/\/railroads.unl.edu\/mobility-after-emancipation\/\">http:\/\/railroads.unl.edu\/mobility-after-emancipation\/<\/a>].\u00a0 I have found that d3 is very powerful, but also very confusing to quickly pick up and customize for a casual user. I played around for a bit with radial dendrograms and tidy trees, but foresaw a long and mathematical struggle coming when it came to trying to prevent labels from overlapping colorful lines, among other potential hurdles.\u00a0 Another obstacle I encountered is that the radial dendrograms and trees don&#8217;t &#8220;share&#8221; relationships &#8212; people in the second-removed set of individuals would be duplicated multiple times for each first-removed individual who knew them.\u00a0 In the current OSCYS visualization, these individuals are shared and the network appears much more &#8220;web&#8221; like compared to the orderly d3 model.\u00a0 At least for now, without a lot more time to dedicate to learning the dark arts of d3, I decided to keep looking.<\/p>\n<figure id=\"attachment_400\" aria-describedby=\"caption-attachment-400\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-400 size-medium\" src=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/d3_dendrogram-300x300.png\" alt=\"circle of points and lines all inheriting from a parent node\" width=\"300\" height=\"300\" srcset=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/d3_dendrogram-300x300.png 300w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/d3_dendrogram-150x150.png 150w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/d3_dendrogram-768x768.png 768w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/d3_dendrogram-1024x1024.png 1024w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/d3_dendrogram-1280x1280.png 1280w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/d3_dendrogram.png 1300w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><figcaption id=\"caption-attachment-400\" class=\"wp-caption-text\">An example of a d3 tree from https:\/\/observablehq.com\/@d3\/radial-tidy-tree<\/figcaption><\/figure>\n<p>I remembered playing around with a library called vis.js [<a href=\"http:\/\/visjs.org\/index.html\">http:\/\/visjs.org\/index.html<\/a>] back in 2015 and that I had enjoyed the straightforward documentation and fun &#8220;physics&#8221; behavior of the points and lines.\u00a0 Unfortunately, the original project is no longer being maintained, but there are enough friendly forks of it that I decided to experiment a little, anyway.\u00a0 If it turned out to be able to handle tons and tons of data points, then one of those community maintained forks might look pretty attractive.\u00a0 I hooked up the SPARQL query to send JSON that the vis.js library could understand and took a look.\u00a0 For people with relatively few connections, it looked beautiful.\u00a0 Changing the points, lines, and labels was easy, it might not be so very labor intensive to modify the OSCYS network code which highlights types of relationships, pan, zoom, and more to use this library.<\/p>\n<figure id=\"attachment_392\" aria-describedby=\"caption-attachment-392\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-392 size-medium\" src=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/1_visjs_simple-300x289.png\" alt=\"chart with colorful circles of relationships\" width=\"300\" height=\"289\" srcset=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/1_visjs_simple-300x289.png 300w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/1_visjs_simple-768x739.png 768w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/1_visjs_simple-1024x986.png 1024w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/1_visjs_simple.png 1280w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><figcaption id=\"caption-attachment-392\" class=\"wp-caption-text\">So far so good! A vis.js relationship network with bright colors that I created from real data while testing things out<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_393\" aria-describedby=\"caption-attachment-393\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-393 size-large\" src=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/2_visjs_simple-1024x851.png\" alt=\"cluster of points with people's names around another person's point\" width=\"1024\" height=\"851\" srcset=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/2_visjs_simple-1024x851.png 1024w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/2_visjs_simple-300x249.png 300w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/2_visjs_simple-768x638.png 768w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/2_visjs_simple-1280x1063.png 1280w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/2_visjs_simple.png 1688w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption id=\"caption-attachment-393\" class=\"wp-caption-text\">A look at a zoomed in cluster while testing vis.js<\/figcaption><\/figure>\n<p>Yet, vis.js&#8217;s greatest challenge remained&#8230;&#8230;.a visualization of somebody like Francis Scott Key!\u00a0 With some trepidation, I put in the URL and hit enter.\u00a0 What followed, I feel, is best represented in images rather than text.<\/p>\n<figure id=\"attachment_394\" aria-describedby=\"caption-attachment-394\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-394\" src=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/3_visjs_key-1024x901.png\" alt=\"Francis Scott Key's visualization is a giant blob of lines and dots, almost opaque\" width=\"1024\" height=\"901\" srcset=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/3_visjs_key-1024x901.png 1024w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/3_visjs_key-300x264.png 300w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/3_visjs_key-768x676.png 768w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/3_visjs_key-1280x1126.png 1280w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/3_visjs_key.png 1764w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption id=\"caption-attachment-394\" class=\"wp-caption-text\">Oh no<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_395\" aria-describedby=\"caption-attachment-395\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-395\" src=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/4_visjs_key-1024x905.png\" alt=\"Dandelion effect of thousands of Francis Scott Key relationships\" width=\"1024\" height=\"905\" srcset=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/4_visjs_key-1024x905.png 1024w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/4_visjs_key-300x265.png 300w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/4_visjs_key-768x679.png 768w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/4_visjs_key-1280x1131.png 1280w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/4_visjs_key.png 1768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption id=\"caption-attachment-395\" class=\"wp-caption-text\">The physics of the points and lines is starting to shake things out<\/figcaption><\/figure>\n<figure id=\"attachment_396\" aria-describedby=\"caption-attachment-396\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-396\" src=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/5_visjs_key-1024x930.png\" alt=\"A huge flower of lines and points making up the huge Francis Scott Key visualization\" width=\"1024\" height=\"930\" srcset=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/5_visjs_key-1024x930.png 1024w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/5_visjs_key-300x273.png 300w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/5_visjs_key-768x698.png 768w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/5_visjs_key-1280x1163.png 1280w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/5_visjs_key.png 1550w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption id=\"caption-attachment-396\" class=\"wp-caption-text\">Francis Scott Key&#8217;s relationships make a very pretty flower, I daresay<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>Interestingly, though vis.js was also struggling with that much data, it did display everything for Francis Scott Key (although with an awful lot of spasms and twitches from the physics driving the point location), while JIT wouldn&#8217;t necessarily get that far without an awful lot of patience by the user.\u00a0 Finally being able to visualize all of Key&#8217;s relationships, however, did make it very clear that at some point we needed to ask ourselves what the visualization was for.\u00a0 Key knew too many people to navigate that type of interactive visual and come away with any particular understanding besides &#8220;wow he knew a lot of people through being an attorney.&#8221;<\/p>\n<p>So what DID we want to communicate? We wanted to be able to show if a person had many connections or relatively few (keeping in mind these are only to people on the OSCYS site, therefore somehow connected to a court case we&#8217;ve documented).\u00a0 We wanted to be able to show the type of relationship (family, legal, social, etc) in such a way that at a glance you can see the proportions of such relationships.<\/p>\n<p>Our imperfect solution was to restrict how many results are coming back and make note of the restriction in the visualization.\u00a0 If a person has several relationships, and one of those related people has dozens and dozens of connections, we are not displaying that particular related person&#8217;s secondary connections.\u00a0 If a person has scads of immediate connections, then we do not display the second ring of connections with a relationship to all those immediate connections.\u00a0 This strategy means that the visualization charts are once again usable.\u00a0 You can still get an idea of how well connected an individual was in the OSCYS world with the numbers of omitted individuals.\u00a0 You can still explore the types of immediate connections.<\/p>\n<figure id=\"attachment_402\" aria-describedby=\"caption-attachment-402\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-402 size-large\" src=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/6_jit_key-1024x872.png\" alt=\"Huge cluster of individuals around Francis Scott Key which is almost unreadable\" width=\"1024\" height=\"872\" srcset=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/6_jit_key-1024x872.png 1024w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/6_jit_key-300x255.png 300w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/6_jit_key-768x654.png 768w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/6_jit_key-1280x1090.png 1280w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/6_jit_key.png 2030w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption id=\"caption-attachment-402\" class=\"wp-caption-text\">Francis Scott key&#8217;s visualization is still a little bit silly even with the secondary relationships omitted<\/figcaption><\/figure>\n<p>Though the secondary connections may be less accessible, now, it seems less critical to know that a person&#8217;s attorney knew many people (which the original person may not have interacted with) through the courts, than that this person had an attorney, a brother, a neighbor, and a slaveholder against whom they were petitioning.<\/p>\n<div class=\"mceTemp\"><\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-401\" src=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/7_jit_omitted-1024x669.png\" alt=\"graph of individuals colored to explain relationship type\" width=\"1024\" height=\"669\" srcset=\"https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/7_jit_omitted-1024x669.png 1024w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/7_jit_omitted-300x196.png 300w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/7_jit_omitted-768x502.png 768w, https:\/\/cdrhdev.unl.edu\/log\/wp-content\/uploads\/2019\/03\/7_jit_omitted-1280x836.png 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/>Network visualization with several individuals&#8217; connections omitted<\/p>\n<p>An unexpected perk of handling the visualization problem through limiting hugely well-connected individuals is that we were able to add clerks and judges back into the mix and so note the number of their relationships, whereas before they were entirely absent from the chart.<\/p>\n<p>I&#8217;m not entirely happy with this solution, of course.\u00a0 I would rather find some way to present the networks which is straightforward and usable, but at least for now, the interactive network visualizations have survived when it appeared that this portion of the site might need to be shuttered.\u00a0 Perhaps in the future we will be able to revisit them and find either a new way of presenting the information or come across a new method for presenting them in a similar but more manageable way!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In September 2015, we launched the O Say Can You See: Early Washington D.C., Law &amp; Family website (OSCYS) [http:\/\/earlywashingtondc.org].\u00a0 The site had an interactive network component, where users could easily see how a petitioner not only had relationships to attorneys and defendants, but to a web of family members and social connections involved in&hellip;<\/p>\n <a href=\"https:\/\/cdrhdev.unl.edu\/log\/2019\/land-of-confusion-a-relationship-visualization-experiment\/\" title=\"Land of Confusion: A Relationship Visualization Experiment\" class=\"entry-more-link\"><span>Read More<\/span> <span class=\"screen-reader-text\">Land of Confusion: A Relationship Visualization Experiment<\/span><\/a>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"Layout":"","footnotes":""},"categories":[9,6,37,22],"tags":[54,52,51,11,13,53],"class_list":["entry","author-jdussault","post-387","post","type-post","status-publish","format-standard","category-linked-data","category-network","category-research","category-usability","tag-d3","tag-jit","tag-network","tag-oscys","tag-sparql","tag-visjs"],"_links":{"self":[{"href":"https:\/\/cdrhdev.unl.edu\/log\/wp-json\/wp\/v2\/posts\/387","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cdrhdev.unl.edu\/log\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cdrhdev.unl.edu\/log\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cdrhdev.unl.edu\/log\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cdrhdev.unl.edu\/log\/wp-json\/wp\/v2\/comments?post=387"}],"version-history":[{"count":7,"href":"https:\/\/cdrhdev.unl.edu\/log\/wp-json\/wp\/v2\/posts\/387\/revisions"}],"predecessor-version":[{"id":407,"href":"https:\/\/cdrhdev.unl.edu\/log\/wp-json\/wp\/v2\/posts\/387\/revisions\/407"}],"wp:attachment":[{"href":"https:\/\/cdrhdev.unl.edu\/log\/wp-json\/wp\/v2\/media?parent=387"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cdrhdev.unl.edu\/log\/wp-json\/wp\/v2\/categories?post=387"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cdrhdev.unl.edu\/log\/wp-json\/wp\/v2\/tags?post=387"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}