Octetful Notes - Graphs - Visualisation
This section contains details on different visualisation tools and techniques used for graphs.
Graphviz
Graphviz is open source graph visualization software. Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks.
The DOT Language
DOT is a graph description language. DOT graphs are typically files with the filename extension gv or dot. The extension gv is preferred, to avoid confusion with the extension dot used by versions of Microsoft Word before 2007. Various programs can process DOT files. Some, such as dot, neato, twopi, circo, fdp, and sfdp, can read a DOT file and render it in graphical form. Others, such as gvpr, gc, acyclic, ccomps, sccmap, and tred, read DOT files and perform calculations on the represented graph. Finally, others, such as lefty, dotty, and grappa, provide an interactive interface. The GVedit tool combines a text editor with noninteractive image viewer. Most programs are part of the Graphviz package or use it internally. -- Wikipedia
You can find the the abstract grammar defining the graph language here.
There is also an active Reddit thread of discussions for more graph visualisation libraries.
GraphViz React
graphviz-react
provides a simple to use component for rendering Graphviz objects in React.
You can find the source code for graphviz-react
on Github.
IntelliJ IDEA Plugin
There is a plugin that can provide basic editing support for dot language files (*.dot
and *.gv
) in IntelliJ IDEA called the dotPlugin.
Visualising Tinkerpop/Gremlin Graphs
There are potentially multiple visualisation options for Tinkerpop or Gremlin graphs, some of which we tried as noted below:
Using Neo4J embedded mode browser
This is also linked under Neo4J notes section, and is deprecated and only applicable when using Neo4J embedded provider in Tinkerpop. Still untested, but the UI for neo4j works like a charm.
Using graphexp
This method would require a Tinkerpop server to connect to. You would need to change the configurations in the scripts/graphConf.js
file.
Using a custom visualization component
You could for example write a translator to translate a Gremlin Graph to Graphviz dot file usign the Graphviz Java library.