2016-03-24 12 views
0

Ich möchte in Neo4j-Datenbank importieren, ohne Verwendung von CSV-Dateien, dh wenn ich mysql resultset dann dump ich nur in Neo4j und markieren Sie die verarbeiteten Datensätze in mysql db als verarbeitet.neo4j Importeur - ohne csv

Beziehung und Indexierung sollten im Speicher ohne CSV-Dateien verwaltet werden.

Eine Möglichkeit zu tun ist, .save Methode der Feder Vorlage zu verwenden, aber das nur eine Entität zu einer Zeit, ich habe Millionen von Datensätzen und es wird sehr lange so dauern.

Kann ich Bulk einfügen mit einer beliebigen API zu neo4j DB.

Antwort

0

Überprüfen Sie die neo4j-csv-firehose project. Aus der Readme-Datei:

neo4j-csv-firehose ermöglicht den Befehl LOAD CSV Cypher von Neo4j, um andere Dateien aus anderen Datenquellen zu laden. Es ermöglicht die direkte Konvertierung der anderen Datenquelle in csv - und kann daher als Eingabe für LOAD CSV dienen.

können Sie zeigen csv-Feuerwehrschlauch auf mysql und streamen die Ergebnisse einer SQL-Anweisung (oder Inhalt einer Tabelle) im CSV-Format zu LOAD CSV Cypher. Dies ermöglicht es Ihnen, den performanten LOAD CSV Cypher für den Import zu verwenden, ohne sich mit dem Exportieren von Daten in CSV von mysql befassen zu müssen.

Zum Beispiel, mysql zu verbinden und den Inhalt einer Tabelle person in Neo4j Namen importieren:

load csv with headers from "http://localhost:7474/csv/jdbc?url=jdbc%3Amysql%3A%2F%2Flocalhost%2Fmydb&table=person&user=mydb&password=123" as line create (:Person {firstname: line.firstName, lastname: line.lastName}); 

Weitere Beispiele beschrieben werden here.