bic*_*nce 6 csv neo4j cypher load-csv
我正在尝试使用LOAD CSV创建节点,标签设置为CSV中的值.那可能吗?我正在尝试这样的事情:
LOAD CSV WITH HEADERS FROM 'file:///testfile.csv' AS line
CREATE (x:line.label)
Run Code Online (Sandbox Code Playgroud)
...但是我得到了无效的语法错误.有没有办法做到这一点?
bicpence,
首先,使用Java批量导入应用程序非常容易,而且编写起来也不难.请参阅此批处理插件示例.您可以使用opencsv读取CSV文件.
如果您更愿意坚持使用Cypher,并且如果您有一组有限的标签可供使用,那么您可以执行以下操作:
USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM 'file:///testfile.csv' AS LINE
CREATE (n:load {lab:line.label, prop:line.prop});
CREATE INDEX ON :load(lab);
MATCH (n:load {lab:'label1'})
SET n:label1
REMOVE n:load
REMOVE n.lab;
MATCH (n:load {lab:'label2'})
SET n:label2
REMOVE n:load
REMOVE n.lab;
Run Code Online (Sandbox Code Playgroud)
恩典与和平,
吉姆