Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jexp/neo4j-rdbms-import
Massively parallel RDBMS to Neo4j Importer
https://github.com/jexp/neo4j-rdbms-import
Last synced: about 2 months ago
JSON representation
Massively parallel RDBMS to Neo4j Importer
- Host: GitHub
- URL: https://github.com/jexp/neo4j-rdbms-import
- Owner: jexp
- License: gpl-3.0
- Created: 2015-03-01T12:41:52.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2016-05-04T06:40:31.000Z (over 8 years ago)
- Last Synced: 2024-10-03T12:24:19.400Z (2 months ago)
- Language: Java
- Size: 822 KB
- Stars: 42
- Watchers: 10
- Forks: 15
- Open Issues: 3
-
Metadata Files:
- Readme: Readme.adoc
- License: LICENSE
Awesome Lists containing this project
- awesome-neo4j - neo4j-rdbms-import - An automatic importer for relational databases into Neo4j. (REST API / Other)
README
== Relational to Neo4j Importer
Scans Database Metadata to determine how to model
Uses Parallel Batch Importer to ingest data from all tables in parallelBlog Post: link:docs/relational_to_neo4j_import_tool.adoc[]
=== Usage
Currently you need http://maven.apache.org/download.cgi[apache maven] installed.
Command line parameters are:
`import-rdbms-mvn.sh "jdbc:url" "schema" "graph.db"`
e.g.
`import-rdbms-mvn.sh "jdbc:mysql://localhost:3306/northwind?user=root" "northwind" "northwind.db"`
=== Transformation Rules
* Table with primary key become nodes
* FK (1:1, 1:n and n:1) become relationships
* Tables with no PK and exactly two FK and properties become relationships (optionally also if there is a pk)
* Tables with more than two FK become nodes
* remove all fk fields=== Todo
* Table name, column name transformation
* Modeling Rules by table name pattern
* Type transformation
* Skipping Columns / Rows
* Unique Constraints
* Indexes
* Compound Indexes (create artificial property)
* Skip keys
* Limit row rounds, by time
* Custom SQL statements
* Configure concurrency for JDBC reads=== Ideas
neo4j-rdbms-import
--into ...
--relationship-rule no-pk, two-fk, table% | default: no-pk
--skip table% table%.field,table_.id | default none
--rename: label: Capitalize,UP_CASE,camelCase,CamelCase | default:CapitalizeCamel
relationship:
property:* include and exclude with patterns (% and _)