Network visualization, exploration and querying

Hi ,

I am building an application that should show 1. graph visualization 2. Graph Navigation - user should be able to move through the graph and explore example click on specific node then display more detailed properties. Move from one node to another, then graph should be updated with other connected nodes from Neo4j database 3. user should be able to query ...

Please suggest the best open source tool for above considering I am using community edition of Neo4J

1 Like

I haven't played with the open source options much, but here are some of the ones I've heard of:

  • Gephi, I've used this one, good exploratory tool but it may not be suitable for production
  • D3.js
  • NetworkX
  • GraphGL
  • Graphviz
  • Neoviz.js

A lot depends on what underlying language you use, how pretty it needs to be, and what level of effort you want to put into it. Gephi probably has the lowest barrier to entry (you basically load your data and point and click to show what you want). The other options require more programming.

A more complete list of network visualization options can be found on KDNuggets.

Thank you Julie, I do Java programming for server side, but I can do a bit of Python. But in the UI it could be React or JavaScript. I am aware that some tools connect to Neo4J directly while some tools go via an API. We want to build something for production - open source. - does that refine your list or you'd recommend something else?
Thanks and Regards,

I'm not familiar with Java options.

For Python you can use NetworkX. Looks like plotly also uses NetworkX. Bokeh also has a way to create network graphs.

For JavaScript the one I see most is probably D3.js. You might also want to check out neovis.js. I haven't used either, but neovis.js looks like it has pretty good documentation. The github README has some nice examples.

Can be a quick options.