title: How to implement web-based graph editing for Neo4j?
body: <p>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.</p>
  
  <p>Preferably the graph editor would be JavaScript-based, but I'm also interested in hearing about other options (Flash, Java applet, etc.).</p>
  
  <p>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.</p>
  
  <p>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.</p>
  
  <p>So I've been thinking about following frameworks for the web application:</p>
  
  <p><strong>Play</strong>
  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)?</p>
  
  <p><strong>Rails</strong>
  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?</p>
  
  <p><strong>Vaadin</strong>
  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 (<a href="https://vaadin.com/directory#addon/cytographer" rel="noreferrer">Cytographer</a>). I don't have any experience of Cytoscape or how it works with Neo4j, though..</p>
  
  <h2>Some JavaScript libs that I came across:</h2>
  
  <ul>
  <li><a href="http://processingjs.org/" rel="noreferrer">Processing.js</a></li>
  <li><a href="http://sigmajs.org/" rel="noreferrer">sigma.js</a></li>
  <li><a href="https://github.com/anvaka/VivaGraphJS/" rel="noreferrer">VivaGraphJS</a></li>
  <li><a href="http://thejit.org/" rel="noreferrer">InfoVis</a></li>
  </ul>
  
  <p>And just to make it clear: I'm not looking for a <em>charting</em> tool, but a <em>graph</em> drawing and editing tool, that integrates well with the underlying web application framework and Neo4j.</p>