Neo4j Blog

Neo4j 2.0.0-M06 – Introducing Neo4j’s Browser

Type in a Cypher query, hit <enter>, then watch a graph visualization unfold. Want some data? Switch to the table view and download as CSV. Neo4j’s new Browser interface is a fluid developer experience, with iterative query authoring and graph visualization.

Available today in Neo4j 2.0.0 Milestone 6, download now to try out this shiny new user interface.

Cypher Authoring

Neo4j Browser is like a mashup of a REPL and a lightweight IDE, sprinkled with pretty graphs (ooh, ahh). Writing and running Cypher queries is the center of all the action, which happens in the editor along the top. Just type in a single-line query and hit <enter>. You’ll get a result frame in the stream, showing either a table of property data or a graph visualization of nodes and relationships.

Type another query, get another frame. Tap the up arrow to retrieve a previous entry, edit, then run it again.

For larger queries, hit <shift-enter> to switch into multi-line editor mode. Now you’ll need to use <ctrl-enter> to run, and <ctrl> up or down arrow to navigate history (the modifier also works in single-line mode).

Finally, and thankfully, you can save scripts. Hit the star button to save the current editor content, which will be available in the sidebar. By convention, the first line can be a comment which will be used as the name of the query. You can even drag-and-drop in scripts, for sharing queries or small-scale data import.

Query result visualization

To show your proud parents (or maybe boss) the work you’ve been doing, nothing beats graph visualization to explain what’s going on. All exploration starts with a Cypher query that returns nodes or relationships.

Click on any node or relationship in the visualization to bring up an inspector which will reveal its properties. Switch to the inspector’s styling tab to tweak the colors and content, based on node label or relationship type.

Developer’s Friend

A primary design goal of Neo4j Browser is that every interaction is a demonstration. It should be capable enough to get things done, while recognizing that your main interest is developing an application. Any “buttons” which do anything work by running queries or commands which you can learn from.

All the actions in the sidebar works like that, using client-side commands to run queries, interact with the REST api, or load content like help pages and mini guides. The interface should do things for you, but also show you how things are done so you can smoothly transition into application development.

Result frames adopt that perspective by being both meaningful and useful: examine the result data, then click a button to download raw JSON results or a CSV table.

We’ve got plans for extending this approach to make this a tool which integrates with your everyday workflows, whether debugging, prototyping, or exploring. Got some ideas of your own? Let us know how you use Neo4j on a daily basis.

Your turn

Neo4j Browser debuted at the recent Graph Connect in San Francisco, with a live preview during the keynote. You can get it today.

@Michael feel free to try out to add customizable widgets as Frames and give us a Pull Request! I guess generic widgets need to assume some structure to the nodes in question, in this case some Lat/Lon attribues being present on all nodes to be visualized.

@Michael We will continue to evolve the graph visualization, and have considered different approaches to zooming and also panning.<br />From an information visualization perspective, could you share what you&#39;re trying to achieve with changing the graph scale?

Looks nice! Were there any changes made to cypher (i.e. MERGE) or the transactional server endpoint in M06? If so, is there a changelog or more detailed release notes somewhere? See none on the download page.

Thank you for this new webadmin. It&#39;s like a gift from heaven. Is there any way to clear the results though? I had to click trash icon on every result to clear the log. Sorry some people are OCD that way, typing &quot;clear&quot; a couple of times on terminals when they get too long.

Great work done! Congrats!<br /><br />I have created one node with label &quot;Person&quot; and property &quot;name&quot;. Then I have removed this node, but the label and the property are still staying remembered in sidebar on the left. Is there any way to remove properties, labels and relationships that are no longer exists in database from the left sidebar? Or to say: to refresh the sidebar

is it possible to redefine the default query of a double click on a node? this would be a very useful feature, because at the moment it just opens all related nodes which in most cases reaches the max. node limit.

That’s a good suggestion. I agree with the observation that the node-expansion behavior isn’t great. We’re looking into how that can be re-designed to handle this scenario. A user-definable query is an interesting possibility.