2016-06-07 5 views
0

Ich bin neu bei Neo4j/Cypher. Ich versuche, Eigenschaften eines Knotens mit verschiedenen Spalten von Informationen aus meiner importierten CSV-Datei zu setzen, aber ich habe Probleme. Hier sind die relevanten Teile meines Versuch:SET in Kombination mit LOAD CSV in cypher

// Barge, Boat, City, Port. 

USING PERIODIC COMMIT 
LOAD CSV WITH HEADERS FROM 
'file:///test.csv' AS line 
WITH line 

CREATE (p:port {name: UPPER(line.location_name)}) 

SET p.year = {line.event_year}, 
    p.day = {line.event_day}, 
    p.month = {line.event_month} 

Aber ich halte eine Fehlermeldung erhalten, die lautet:

Invalid input '.': expected an identifier character, whitespace, '}' or   ':' (line 33, column 19 (offset: 871)) 
"SET p.year = {line.event_year}," 
       ^

Und ich weiß nicht, was daraus zu machen. Ich weiß, dass wenn ich die Eigenschaft manuell auf einen Wert festlegen würde und die Eigenschaft nicht als Wert in der angegebenen Spalte der CSV-Datei festgelegt wäre, wäre das kein Problem. Ich habe auch versucht, den Eigenschaftswert in Backticks im Gegensatz zu geschweiften Klammern einzuschließen.

Antwort

2

Nur eine Syntax Problem - Sie brauchen nicht die geschweiften Klammern:

SET p.year = line.event_year, 
    p.day = line.event_day, 
    p.month = line.event_month 

Geschweifte Klammern für Abfrageparameter verwendet werden (oder Objekte in einem Knoten Muster inlining). In diesem Fall ist line eine Zuordnungsvariable, kein Abfrageparameter.