Neo4j ETL now Ready for the Cloud

I’m happy to announce that the latest release (1.4.1) of the Neo4j-ETL tool graph-app now also works well with remote databases.

Now you can import your relational data into any self-hosted or provisioned remote database in a few simple steps.

1. Add your remote database to Neo4j Desktop
2. Add the ETL-Tool to Neo4j Desktop and then your project. Best via the graph app gallery (
3. Make sure the database is activated i.e. Desktop connected to a running database
4. Start the ETL tool
5. Add a JDBC connection to your RDBMS
6. Start the mapping process
7. Edit the relational to graph mapping as needed
8. Import the relational data via “Mode Batch” (you can leave the settings unchanged)
9. Done

We had to adapt two things to make this possible. Thanks a lot to our partners at Larus BA, Italy for working on these features.

In the past, the ETL-Tool used LOAD CSV of a local file url, which doesn’t work anymore if your database is remote and can’t access your local CSV files.
So we added a mode that reads the CSV locally and sends batches of rows as parameters to the remote Neo4j Database, where they are inserted using UNWIND and MERGE.

Secondly as Desktop doesn’t provide a local directory for remote databases to store mapping information, config and the CSV dump in, we use the temporary directory on your machine.

We also enabled support for the bolt+routing scheme to connect to a causal cluster of Neo4j instances.

Graph model of the imported data

Please try out the ETL tool and let us know how it works for you for different relational databases and Neo4j deployments. If you encounter issues please raise them on GitHub.

Happy importing,


Neo4j ETL now Ready for the Cloud was originally published in Neo4j Developer Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.