This chapter introduces the difference between the Neo4j 1.7 drivers and the Neo4j 4.x drivers.
From 4.0, the drivers are built to provide a user-friendly and unified API across all languages.
In previous versions of Neo4j, client-server communication uses encrypted local connections and generated a self-signed certificate out of the box. From 4.0 however, the default is set to unencrypted. Please see Driver Manual → Connection URIs for more information.
Neo4j 4.0 introduces a reactive API, compatible with the Reactive Streams standard. This enables fine-grained control of the data flow for Cypher query results, including the ability to pause or cancel part-way through. Read more in Driver Manual → Queries and results.
When using the 4.x driver to connect to a 4.x database, it is possible to work with multiple databases. From a driver API perspective, this means that one database must be selected for use as an execution context for transactions within a session. This can be configured on session construction. If no database is selected, the driver will connect to the server’s default database.
|Drivers 1.7 work in fallback mode with Neo4j 4.x. They do not support features introduced in Neo4j 4.0 and later, such as multiple databases, Neo4j Fabric, and fine-grained access control. To be able to run multiple databases online concurrently and to do distributed queries over them, you must migrate from 1.7 to 4.x.|
The examples in this chapter are mainly written in Java, using the Java driver. However, similar code can be translated to other languages.