csv - Neo4j Cypher-使用LOAD CSV创建节点并设置标签

标签 csv neo4j cypher load-csv

我正在尝试使用LOAD CSV创建标签设置为CSV值的节点。那可能吗?我正在尝试类似的方法:

LOAD CSV WITH HEADERS FROM 'file:///testfile.csv' AS line
CREATE (x:line.label)

...但是我收到无效的语法错误。有什么办法吗?

最佳答案

比比肯斯

首先,使用Java批量导入应用程序很容易做到这一点,而且编写起来也不难。参见this batch inserter example。您可以使用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;

恩典与和平

吉姆

关于csv - Neo4j Cypher-使用LOAD CSV创建节点并设置标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24992977/

相关文章:

Python csv : Optimizing header output

java - Gephi 无法导入 Neo4j 数据

java - 我如何在 Neo4j 中创建这个索引?

java - 删除neo4j中的多个节点及其关系

Neo4j 匹配多个关系

PHP 将 MySQL 导出为 csv 以供应用程序发明者使用

python - 尾随定界符混淆了 pandas read_csv

python-3.x - 将 npz 转换为 csv 格式时出现关键错误

Neo4j 计数零关系?

Neo4j 2.0.0M04,使用 Cypher 和新索引