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

Head of Product Innovation & Developer Strategy, Neo4j
2 min read
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.
Loving the new ASCII browser in @neo4j 2.2. Works great with Lynx. pic.twitter.com/RIJdmL486Q
— Ian Robinson (@iansrobinson) April 1, 2015
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:
