16 Ideas of Graph Visualization / Graph Databases Usages

Manfred Touron
Passion & Madness
Published in
3 min readFeb 17, 2019
photo by Kelly Sikkema

I’m passionate about devtool and data visualization for a long time. I’m regularly giving trials to new tools in the mission to improve my productivity; I’m also creating some tools by myself (assh, depviz, wookie ADN solver, etc.)

There is a sub-topic where I’m more consuming external tools than producing ones: graph visualization; which contains itself some sub-topics: graph databases, graph optimizations, social graphs, real-time graph, graph UI, etc.

For about a week now, thinking (again) about ”how to represent a complex system”, and more precisely: ”how to make a collaborative tool that allows defining, viewing and analyzing an unstructured, complex, evolutive, and living system.”

For now, I’m mostly reading articles and PoCing, from what I can see, there are a lot (maybe too much) of different existing solutions that handles every part I would need for the final solution.

The different parts I want to address:

  • how to store the data
  • how to programmatically inject and edit data
  • how to manually inject and edit data
  • how to generate code based on the model definitions
  • how to visualize easily / navigate
  • how to perform queries
  • how to create real-time dashboards

My plan is now to give a more in-depth look at my favorite options. In this intention, I listed 10 (actually 11) ideas of usages that are easier to implement than my target.

Usages for myself or my projects:

  1. Visualize GitHub issues relationships — dependencies, author, people working on, people commenting out, project & organization hierarchy, milestone grouping, labels tagging, etc.
  2. Visualize Git code/PRs/Commits — similar to GitHub issues above, but based on code instead of issues: code, files, languages, author, PRs, commits, etc.
  3. Define and visualize IT architecture (intermediary milestone to my target) — host, container, ports, cluster, dependencies, Datacenter, process, developers, product, etc.
  4. Personal CRM — maintain a wiki about my relationships (people and company), visualize my social graph, etc.
  5. Blog content relationship — analyze content based on multiple criteria (keywords, tags, labels, label’s metadata, etc.) to analyze what I talk most, and generate better “related posts” suggestions.
  6. Cross-service social graph — create aggregators to visualize people, groups, the friends of friends, followers, followed, etc.
  7. Real-time monitoring — define services hierarchically and then write probs that to monitor the health
  8. Service/Application comparison based on features and other attributes
  9. My GitHub stats; repos, organizations, languages, libraries, metadata, CI used, followers, custom flags (more than 1000 commits, edited < 1 year ago, has a Dockerfile, contributors, etc.).
  10. Log parser to analyze user agent to endpoint (real-time dependency) — https://link.medium.com/rSLv1KGPnU
  11. P2P network efficiency analysis

Bonus: usages that could interest my friends

  1. PayFit: engine rules visualization
  2. Doctrine: analysis of legal case relationships
  3. Zenly: social graph, party recommendation
  4. Sounds.am: social graph, friend/playlist/artist/song recommendations
  5. Scaleway: visualize relationships between image / volume / volume layer / server entities

PS: about 1 year ago, I forced myself to list “10 something” every morning for a month. Writing this blog post motivated me to retry the experience and share some outputs in the form of small articles on this blog.

Originally published at manfredtouron.com on February 17, 2019.

--

--