Neo4j ETL
Neo4j ETL allows importing data from relational databases into Neo4j.
Features
-
Neo4j-ETL UI in Neo4j Desktop
-
Manage multiple RDBMS connections
-
automatically extract database metadata from relational database
-
derive graph model
-
visually edit labels, relationship-types, property-names and types
-
visualize current model as a graph
-
persist mapping as json
-
retrieve relevant CSV data from relational databases
-
run import via neo4j-import, bolt-connector, cypher-shell, neo4j-shell
-
bundles MySQL, PostgreSQL, allows custom JDBC driver with Neo4j Enterprise
License
This tool is licensed under the NEO4J PRE-RELEASE LICENSE AGREEMENT.
Issues & Feedback & Contributions
-
You can raise GitHub issues or send feedback to [email protected]
-
Please also join our Community Site ask in the appropriate category
Download & Run Command Line Tool
Download & unzip the latest neo4j-etl.zip.
Examples of command usage:
./bin/neo4j-etl export \ --rdbms:url <url> --rdbms:user <user> --rdbms:password <password> \ --destination $NEO4J_HOME/data/databases/graph.db/ --import-tool $NEO4J_HOME/bin \ --csv-directory $NEO4J_HOME/import
./bin/neo4j-etl export \ --rdbms:url <url> --rdbms:user <user> --rdbms:password <password> --rdbms:schema <schema> \ --using { bulk:neo4j-import | cypher:neo4j-shell | cypher:shell | cypher:direct | cypher:batch | cypher:fromSQL } \ --neo4j:url <neo4j url> --neo4j:user <neo4j user> --neo4j:password <neo4j password> \ --destination $NEO4J_HOME/data/databases/graph.db/ --import-tool $NEO4J_HOME/bin \ --csv-directory $NEO4J_HOME/import --options-file import-tool-options.json --force --debug
cypher:batch
and cypher:fromSQL
import modes:--unwind-batch-size <value> (Batch size that will be used for unwind data) \ --tx-batch-size <value> (Transaction Batch size that will be used for unwind commit) \
For detailed usage see also the: tool documentation.
Neo4j-Desktop
Use the Application URL https://r.neo4j.com/neo4j-etl-app
in the "Graph Apps" tab of Neo4j Desktop.
Then the next time you start Neo4j Desktop you’ll see Neo4j ETL as a UI to be used interactively.
Configure Driver | Load Mapping | Edit Mapping | Import Data |
---|---|---|---|
We put detailed usage instructions for the Neo4j ETL Tool in the Neo4j Developer Pages.
JDBC Drivers
The drivers for MySQL and PostgreSQL are bundled with the Neo4j-ETL tool.
To use other JDBC drivers use these download links and JDBC URLs.
Provide the JDBC driver jar-file to the command line tool or Neo4j-ETL application.
And use the JDBC-URL with the --rdbms:url
parameter or in the JDBC-URL input field.
Database | JDBC-URL | Â Driver Source |
---|---|---|
Oracle |
|
|
MS SQLServer |
|
|
IBM DB2 |
|
|
Derby |
|
Included since JDK6 |
Cassandra |
|
|
SAP Hana |
|
|
MySQL |
|
|
PostgreSQL |
|