我有一个 CSV 文件,其中包含以下数据:
ID,Name,Role,Project
1,James,Owner,TST
2,Ed,Assistant,TST
3,Jack,Manager,TST
并且想要创建与项目的关系在其中指定的人员。我尝试这样做:
load csv from 'file:/../x.csv' as line
match (p:Project {code: line[3]})
create (n:Individual {name: line[1]})-[r:line[2]]->(p);
但是它呕吐了:
Invalid input '[': expected an identifier character, whitespace, '|', a length specification, a property map or ']' (line 1, column 159 (offset: 158))
因为它似乎无法在关系创建中取消引用line
。如果我硬编码它可以工作:
load csv from 'file:/../x.csv' as line
match (p:Project {code: line[3]})
create (n:Individual {name: line[1]})-[r:WORKSFOR]->(p);
那么我该如何进行引用呢?
最佳答案
现在您不能,因为这是结构信息。
使用neo4j-import tool为此。
或者像您一样手动指定它,或者使用此解决方法:
load csv with headers from 'file:/../x.csv' as line
match (p:Project {code: line.Project})
create (n:Individual {name: lineName})
foreach (x in case line.Role when "Owner" then [1] else [] end |
create (n)-[r:Owner]->(p)
)
foreach (x in case line.Role when "Assistant" then [1] else [] end |
create (n)-[Assistant]->(p)
)
foreach (x in case line.Role when "Manager" then [1] else [] end |
create (n)-[r:Manager]->(p)
)
关于csv - 如何在 CSV 中指定关系类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29312417/