2016-04-07 17 views
1

Ich versuche, eine CSV-Datei in Neo4j (Community Edition V 2.3.2) zu importieren. Die CSV ist folgendermaßen aufgebaut:Neo4j CSV-Import Typ Fehler

id,title,value,updated 
123456,"title 1",10,20160407 
123457,"title 2",11,20160405 

Der CSV-Pfad wird in der Neo4j-Eigenschaftendatei festgelegt.

Wenn ich den folgenden Import-Anweisung verwenden

LOAD CSV WITH HEADERS FROM 
'file:///test.csv' AS line 
CREATE (:Title_Node { title: line[1], identifier: toInt(line[0]), value: line[3]}) 

ich die folgende Fehlermeldung angezeigt:

ACHTUNG: 1 Erwartete ein java.lang.String sein, aber es war ein java.lang. lange

Wenn ich Abfrage nur die test.csv Datei mit

LOAD CSV WITH HEADERS FROM 'file:///test.csv' 
AS line 
RETURN line.title, line.id, line.value; 

Cypher kann problemlos auf die Daten zugreifen.

+------------------------------------+ 
| line.title | line.id | line.value | 
+------------------------------------+ 
| "title 1" | "123456" | "10"  | 
| "title 2" | "123457" | "11"  | 
+------------------------------------+ 

Der Effekt tritt sowohl im Browser als auch in der Shell auf.

Ich habe die folgende Frage an Having `Neo.ClientError.Statement.InvalidType` in Neo4j gefunden und habe die in dem Neo4j Link in dieser Antwort genannten Hinweise versucht, aber mit wenig Erfolg. Die CSV-Datei selbst scheint in Ordnung zu sein (UTF8, keine versteckten Einträge etc.).

Jede Hilfe bei der Lösung dieses Problems wird sehr geschätzt.

Beste

Krid

Antwort

1

Sie die Felder für den Zeilenkopf liefert, so sie in den Import verwenden -

LOAD CSV WITH HEADERS FROM 
'file:///test.csv' AS line 
CREATE (:Title_Node { title: line.title, identifier: line.id, value: line.value}) 
+1

vielen Dank vorzuziehen, das war das Problem. – Krid

0

Dies ist ein klassisches Beispiel für eine Fehlermeldung, die ist völlig korrekt, aber nicht sehr hilfreich!

Sie Literale liefern können Indizes Zeile, wenn Sie

LOAD CSV WITH HEADERS FROM 
'file:///test.csv' AS line 
CREATE (:Title_Node { title: line['title'], identifier: line['id'], value: line['value']})