2016-06-07 33 views
0

我是Neo4j/Cypher的新手。我嘗試使用來自導入的CSV文件的各種信息列來設置節點的屬性,但我遇到了麻煩。下面是我嘗試的相關部分:SET與加密CSV在密碼組合

// 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} 

但我不斷收到讀取錯誤消息:

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

而且我不知道這是怎麼回事。我知道,如果我手動將屬性設置爲一個值並且沒有將該屬性設置爲CSV文件的指定列中的值,則不會有問題。我也嘗試用反引號括住屬性值,而不是大括號。

回答

2

只是一個語法問題 - 你不需要花括號:

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

大括號用於查詢參數(或在節點內聯模式的屬性)。在這種情況下,line是一個映射變量,而不是查詢參數。