NEuler: No-code graph algorithms

Goals
In this guide, we will learn about NEuler: The Graph Data Science Playground, a graph app that helps onboarding with the Graph Data Science Library.
Prerequisites
Please have Neo4j (version 4.0 or later) downloaded and installed to use NEuler.

Beginner

What is NEuler?

220px Leonhard Euler

NEuler is a no-code UI that helps users onboard with the Neo4j Graph Data Science Library. It supports running each of the graph algorithms in the library, viewing the results, and also provides the Cypher queries to reproduce the results.

We will use the terms 'Neuler' and 'The Graph Data Science Playground' interchangeably in this guide.

Installing NEuler

NEuler is a Graph Application (Graph App) that can be installed from the Graph App Gallery that comes installed by default on the Neo4j Desktop.

We can launch the Graph Apps Gallery by clicking on the right hand side of the 'Open' menu underneath a running database:

Once we’ve done that, we’ll see the following screen.

graph apps gallery
Figure 2. The Graph Apps Gallery

We can see the Graph Data Science Playground on the first row and, if we’re using Mac or Windows, we can install it automatically by clicking on the 'Install' button.

If we’re using a Linux based Operating System we’ll need to install it manually. We can get the installation link by clicking on the get link button. Copy that link onto the clipboard and then paste it into the 'Install' section of the graph apps button sub menu:

The installation link is https://neo.jfrog.io/neo/api/npm/npm/neuler in case you don’t want to get it via the Graph Apps Gallery!

Once we’ve done that, we’re can launch NEuler. It will now appear under the menu that we get by clicking on the right side of the 'Open' button under our database, and the first time that we click on it we’ll be asked to install the dependencies:

The Graph Algorithms Playground won’t work unless you install those dependencies, so make sure you click on the 'Install dependencies' button.

Once the dependencies have been installed, The Graph Algorithms Playground will launch:

By default the 'neo4j' database is selected, but we can change the selection using the dropdown. We can also see descriptions of the available categories of algorithms: centralities, community detection, path finding, and similarity. We’re now ready to start using the playground.

Configuring algorithms

Once we’ve selected one of the algorithm categories, we’ll be taken to a screen that lists that category’s algorithms along the top and a form for running the selected algorithm just below. We can configure the projected graph that an algorithm will be run against, as well as other parameters for more complex algorithms.

The form for configuring the PageRank algorithm, one of the most well known centrality algorithms, is shown in the screenshot below:

Once we’re happy with the configuration, we can execute the algorithm by pressing the 'Run' button.

Exploring results

Results from running the algorithm will be shown on the right hand side of the algorithm form. The output from running the PageRank algorithm against a projected graph of the interactions between Games of Thrones characters in Season 1 of the popular TV show can be seen in the diagram below:

We can see that Ned is the most important character in the show in the early days. If we want to compute the results for another season, we can do that by changing the 'Relationship Type'.

We can also view the results in chart or graph visualization formats. We can see the chart representation of PageRank run against the Game of Thrones graph in the screenshot below:

And a graph visualization of the algorithm run in the diagram below:

We can change configure the properties that select the caption, node size, and node color by using the dropdown menus above the visualization.

Seeing the code

Running algorithms in NEuler is intended as the first step in the process of learning how to use graph algorithms. The next step is learning how to run the algorithms using the underlying procedures, and NEuler helps with this by describing the procedure calls in the 'Code' tab. The procedure call and parameter setup for running the PageRank algorithm is shown in the diagram below:

We can use the 'Copy' button on the top right of each window to copy the code fragment to our clipboard. Alternatively, we can create a Neo4j Browser guide by clicking on the 'Send to Neo4j Browser' button.