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


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