In the previous chapters, we looked at all the aspects of querying graph databases using Cypher. This chapter focuses on the Cypher ecosystem. You will be introduced to a selection of tools and packages available for more advanced data processing, along with visualizing the results as graphs, tables, and more.
We will look at the following topics in this chapter:
First, we will take a look at the Neo4j extensions.
While Cypher is a very powerful language for expressing graph traversal in a simple manner, it is difficult to implement complex graph analytics or handle different kinds of data effectively. This is where Neo4j extensions come into the picture. Neo4j provides the ability to build and register plugins with procedures that can be invoked from Cypher to perform more complex operations.
In the following screenshot, we can see the plugins available to install for the selected database in Neo4j Desktop:
Figure 11.1 – Plugin management in Neo4j Desktop
Let’s review what these plugins provide in the following list:
You can find more details on this at https://neo4j.com/labs/apoc/.
It also provides a catalog of procedures to support data science workflows and machine learning tasks on graph data. All these procedures are built for massive scale and parallelization. You can read more about graph algorithms and machine learning capabilities at https://neo4j.com/product/graph-data-science/.
We have introduced these extensions so that developers are aware of external plugins that can expand Cypher’s functionality. It is out of the scope of this book to go deeper than this, but feel free to visit the sites provided to understand more about these extensions and how they can help us to build better solutions.
We will take a look at visualization tools available for Cypher to present results next.
We will take a look at the visualization tools available to present the results. The visualization tools available from Neo4j are already installed in Neo4j Desktop by default. These are as follows:
Along with these visualization tools, Neo4j Desktop also provides options to explore other visualization aspects via graph apps. You can install graph apps at https://install.graphapp.io/.
Let’s take a look at a few of the graph apps and utilities available at the preceding link:
We have only discussed the tools available for Neo4j Desktop here. There are other visualization tools such as Linkurious, yWorks, and KeyLines, among others.
Let’s take a look at Kafka and Spark connectors next.
Neo4j has official support for Kafka and Spark connectors that can read and write data to graphs. The Kafka connector makes it easy to ingest data into Neo4j at scale, without needing to build custom client code. Spark connector simplifies the reading and writing of data to graphs using dataframes. Let’s take a look at the core features provided by these connectors:
Now let’s look at the Graph Data Science plugin.
Neo4j’s Graph Data Science (GDS) library implements a lot of graph algorithms to help users derive intelligence from data. They are implemented to run in parallel, allowing algorithms to run fast and provide results quickly.
The algorithms included are as follows:
Along with these graph algorithms, this library also provides the following machine learning pipelines:
This library is a must-have tool in any data scientist’s toolkit to process graph data effectively and extract intelligence and outcomes from the data.
Next, let’s look at Neo4j Workspace, which is a new feature released recently to help developers work with Neo4j without needing to write any code.
Neo4j Workspace is a new tool to help developers quickly map and load the data and analyze it with visual tools such as Neo4j Browser and Bloom without needing any coding experience. It makes it easy for graph enthusiasts, explorers, and data scientists who lack coding experience or knowledge of Cypher to get started very quickly. It includes other tools such as Data Importer, which provides a UI to map CSV/TSV data to a graph model and load the data into a graph. Browser and Bloom are also included to help explore the data visually in a single place. Workspace is still in early access; users can register for access at https://neo4j.com/product/workspace/.
Now, let’s summarize what we’ve learned in this chapter.
In this chapter, we took a brief look at Neo4j extensions including APOC, the Graph Data Science library, Neosemantics, and Neo4j streams, which can enhance Cypher’s capabilities to handle complex activities in Neo4j. We also talked about visualization tools such as Bloom, NeoDash, and others that are available to explore graph data using charts and maps, among other things.
In the next chapter, we will take a look at some tips and tricks to help you get the most out of Cypher.