Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to implement web-based graph editing for Neo4j? [closed]

I am building an application that stores semantic graphs in Neo4j. I want to have a web interface that allows to edit the graph, e.g. adding new relationships with couple clicks and drag'n'drops, and editing node properties through simple popup windows.

Preferably the graph editor would be JavaScript-based, but I'm also interested in hearing about other options (Flash, Java applet, etc.).

Neo4j would be either in server or embedded server mode. Embedded mode is not acceptable, because I want to access the server also using Neo4j's own web interface.

I'm also trying to find a suitable web framework. I have mostly experience of Rails, but recently I've been interested in Vaadin because it provides neat UI components out-of-the-box. Play seems also nice, but there doesn't seem to be that many modules for the newest version.

So I've been thinking about following frameworks for the web application:

Play Well, mainly because I like Scala and Play seems to have good support in the most recent version. However, maybe a bit too small ecosystem (support, amount of libraries)?

Rails I like Rails very much. However, I don't know about any graph plugins or integrations for Rails. Maybe I should create one myself (where to start?)? Which JavaScript graph lib would fit well in Rails?

Vaadin Actually I came across Vaadin just recently. Vaadin has good IDE support and many ready-made UI components. Vaadin seems to have at least one decent graph addon (Cytographer). I don't have any experience of Cytoscape or how it works with Neo4j, though..

Some JavaScript libs that I came across:

  • Processing.js
  • sigma.js
  • VivaGraphJS
  • InfoVis

And just to make it clear: I'm not looking for a charting tool, but a graph drawing and editing tool, that integrates well with the underlying web application framework and Neo4j.

like image 967
Kitanotori Avatar asked Oct 07 '22 23:10

Kitanotori


1 Answers

This is a partial answer. For the front end look at jsPlumb. There are several toolkits that let you do graph visualization, but jsPlumb provides ways for visual graph editing.

The project homepage is here: http://jsplumb.org/

like image 92
Friso Avatar answered Oct 15 '22 15:10

Friso