Create A Graphical Front End To Graph Queries?

Can Neo4j create a graphical front end to graph queries?

In my view, Neo4j will never have the acceptance it deserves until the product contains a graphical (not text) interface into the graph query language.

Current Non-Graphical Queries Are Too Difficult To Understand

The current non-graphical queries are too difficult to understand. For example, in the article We Replaced SQL with a Graph DB — Then Nothing Made Sense. the author presents these Neo4j queries.

MATCH (u:User {id: 123})-[:FOLLOWS]->(f:User)-[:POSTED]->(t:Thread)<-[:COMMENTED_ON]-(c:Comment)
RETURN c
(:User)-[:FOLLOWS]->(:User)
(:User)-[:POSTED]->(:Thread)
(:Thread)-[:IN_GROUP]->(:Group)
(:Comment)-[:COMMENTED_ON]->(:Thread)

The author lists the following complaints.

  • It looks clean, but it wasn’t obvious who was required, optional, or what direction meant in business terms.
  • And debugging involved visualizing the graph, not just looking at rows.
  • The tools weren’t ready

A graphical front end to the graph query would remediate these complaints.

Example: Topology Query Language User Interface

An example of a graphical front end to a graph query appears in the Microfocus UCMDB product.

The Microfocus UCMDB product has an excellent query language for graph databases called Topology Query Language. The product has an excellent front end to the Topology Query Language called the Topology Query Language User Interface.

Here is an example from the Topology Query Language User Interface. In this example, the user is queries a graph topology that includes two Node CIs and and one IP Address CI. Each Node CI is related to the IP Address CI with a Containment relationship.

there is a separation between a graph database engine (like neo4j) and a front-end for visualisation.

For "real" life examples of graph, visualisations would start in the thousands (impractical).

That said the latest version of the desktop now has editing capabilities for schemas and imports.

there is also the arrows app.