Due to CEO Demand, Neo4j 2.2 Features Ascii-Art Graph-Browser

One hidden gem of the latest Neo4j 2.2.0 release is the built-in Ascii-Art rendering of the Neo4j Browser. This ties in nicely with the similar iconographic syntax of our Cypher Query Lanuage.
MATCH (neo:Database:Graph:NoSQL {name:"Neo4j"}),
      (emil:Person {name:"Emil"})  -[:IMAGINED]->(neo),
      (johan:Person {name:"Johan"})-[:CODED]->(neo),
      (peter:Person {name:"Peter"})-[:SPREAD_LOVE_FOR]->(neo)
RETURN * 
Senior Neo4j Engineer Ian Robinson shared it today for the first time with the public. As our CEO Emil Eifrem actively developed and administrated one of the Swedish Multi User Dungeon (MUD), a purely text based online RPG (imagine MMORPG without the graphics) in the nineties, he has been demanding a text only feature for Neo4j Browser for a long time. The graph visualization layout proved to be the biggest challenge, but Javascript Ninjas Oskar Hane and Alistair Jones did not give up and so in Neo4j 2.2 there is a hidden CEO-only feature to display the Web Interface as pure Ascii Version. To give you an idea here, the actual display:
   |                  |
   | Neo4j 2.20       |   MATCH (company)<-[:WORKS_FOR]-(me:person)-[:HAS_SKILL]->(skill),                          * | + | >
   |                  |         (company)<-[:WORKS_FOR]-(colleague)-[:HAS_SKILL]->(skill)                           
*  | Node labels:     |   WHERE me.name = 'Ben'
   |  Company         |   RETURN company, colleague, skill
i  |  Person          |
   |  Skill           +---------------------------------------------------------------------------------------------------------
   |                  |
   | Relationships:   |
   |  WORKS_FOR       |
   |  HAS_SKILL       |
   |                  |
   | Database:        |
   |  Size: 1.98 MiB  |                            (:Company {
   |                  |                              name:'Acme'})
   |                  |                              ^          ^
   |                  |                             /            \
   |                  |                            /              \
   |                  |                     [:WORKS_FOR]      [:WORKS_FOR]
   |                  |                          /                  \
   |                  |                         /                    \
   |                  |                   (:Person {             (:Person {                        (:Skill {
   |                  |                     name:'Ben'})           name:'Lucy'})---[:HAS_SKILL]--->  name:'C#'})  
   |                  |                      /       \               /         \
   |                  |                     /         \             /           \
   |                  |             [:HAS_SKILL] [:HAS_SKILL]  [:HAS_SKILL]   [:HAS_SKILL]
   |                  |                   /             \         /               \
   |                  |                  /               \       /                 \
   |                  |                 v                 v     v                   v
   |                  |            (:Skill {            (:Skill {                (:Skill {
   |                  |              name:'Java'})        name:'Neo4j'})           name:'REST'})                         
   |                  |                               
   |                  |                                                  
   |                  |                                                  
   |                  |
   |                  |
   |                  |
   |                  |
   |                  |
   |                  |
   |                  |  Displaying 7 nodes, 7 relationships
   |                  |
And a screenshot in the browser: Want to learn more about graph databases? Click below to get your free copy of O’Reilly’s Graph Databases ebook and discover how to use graph technologies for your application today. Download My Ebook

 

Keywords:  


About the Author

Michael Hunger, Developer Relations

Michael Hunger Image

Michael Hunger has been passionate about software development for a very long time. For the last few years he has been working on the open source Neo4j graph database filling many roles.

As caretaker of the Neo4j community and ecosystem he especially loves to work with graph-related projects, users and contributors. As a developer, Michael enjoys many aspects of programming languages, learning new things every day, participating in exciting and ambitious open source projects and contributing and writing software related books and articles.


4 Comments

Kevin Reschke says:

Is this real? Can you explain to me how to access the ascii browser. /ascii-browser is not present in Neo4j 2.2.10 nor 2.3.x.

Joy Chao says:

Hi Kevin, this was actually a post written for April’s Fools. Sorry about any confusion this may have caused!

Kevin Reschke says:

Hehe, funny! I came across this when looking for good ways to represent graphs in code comments. Too good to be true it seems!

James says:

Yeah, same, I need to be able to put graphs in code comments and I thought this was perfect

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe

Upcoming Event

 

From the CEO

Emil's Blog


Have a Graph Question?

Stackoverflow
Slack
Contact Us

Share your Graph Story?

Email us: content@neotechnology.com


Popular Graph Topics