使用LOAD CSV

时间:2017-08-31 21:52:59

标签: neo4j cypher

我正在尝试使用LOAD CSV将数据导入neo4j

资源文件包含我需要创建的所有节点的名称

resource1
resource2
resource3

在另一个文件中,我拥有该资源的所有属性

resource1,name,xyz
resource1,year,1920
resource1,age,100
resource2,length,300
resource2,age,30

我管理将节点加载到neo4j但是如何导入第二个文件以便我可以将数据作为属性添加到该特定节点,我尝试动态设置密钥

USING PERIODIC COMMIT
LOAD CSV FROM 'file:///infobox.csv' AS line
MERGE (:Node{line[1]:line[2]})

neo4j不允许动态设置密钥?

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

本地,Neo4j不允许动态设置密钥。但您可以安装APOC Procedures使用apoc.create.setProperty来执行此操作。

尝试类似:

USING PERIODIC COMMIT
LOAD CSV FROM 'file:///infobox.csv' AS line
// match the node by resource1, resource2, etc
MATCH(node:Node{resource_id : line[0]}) 
CALL apoc.create.setProperty(node, line[1], line[2])
RETURN *

注意:请记住根据您使用的Neo4j版本安装APOC程序。请查看Version Compatibility Matrix