Tuesday, October 15, 2013

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.


Thanks to everyone who helped beta-test the new interface.

Cheers,
Andreas

22 comments:

David Bigelow said...

Brilliant! Looks amazing!

Anonymous said...

Brilliant! Looks amazing!

Michael said...

Neo4j just became better...
I just wish it was possible to change the graph scale ("à la" GoogleMaps).

Unknown said...

This looks great. Can't wait for the download to finish.

Peter Neubauer said...

@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.

Anonymous said...

With the new 2.0.0-M06 it is said that there is a new Web-UI but I can't find any differences between 1.9 and 2.0 as long as Web-UI is concerned. Am I missing something ?

Peter Neubauer said...

Are you sure you have stopped and uninstalled your previous neo4j installation?

Peter Neubauer said...

http://127.0.0.1:7474/webadmin/ is the old UI, http://127.0.0.1:7474/browser/ or http://127.0.0.1:7474/ is the new one.

Andreas Kollegger said...

@Michael We will continue to evolve the graph visualization, and have considered different approaches to zooming and also panning.
From an information visualization perspective, could you share what you're trying to achieve with changing the graph scale?

Anonymous said...

@Peter Thanks for the heads up, I didn't know there was a new URL for the new UI.

Nat Pryce said...

Lovely. Is there a video of the new browser in action somewhere online?

Jeff Altman said...

Hi - Looks great. How do I access the styling tab to change node colors,change the display, etc?

Yossi said...

Sounds great
Would it be possible in the future to open the visual graph results as a portlet from within the application using it?

Anonymous said...

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.

Peter Neubauer said...

Hi there,
the changelog in more details is at https://github.com/neo4j/neo4j/blob/master/packaging/standalone/standalone-enterprise/src/main/distribution/text/enterprise/CHANGES.txt

Ramon said...

Thank you for this new webadmin. It'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 "clear" a couple of times on terminals when they get too long.

Andreas Kollegger said...

@ramon Try the :clear command. ;)

netcrush said...

Great work done! Congrats!

I have created one node with label "Person" and property "name". 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 somehow?

Ramon said...

@Andreas Kollegger: Thank you so much! I'd also like to know how to delete from the sidebar the labels that are no longer there. Loving everything so far!!!

Andreas Kollegger said...

The labels and types in the sidebar are, at the moment, a quirk of the database itself. Even if you delete all the nodes and relationships, the "meta" constructs remain.

Ameer Nuri said...

awesome :)

when will it be available on heroku?

Michael Hunger said...

@Ameer Nuri, check out http://graphenedb.com for the lastest hosted Neo4j releases.