简体   繁体   中英

Importing data from two files into neo4j using LOAD CSV

I am trying to import data into neo4j using LOAD CSV

The resource file contains names of all the nodes I need to create

resource1
resource2
resource3

In another file I have all the properties of that resource

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

I Managed to load the nodes into neo4j but how do I import the second file so that I can add the data to that particular node as properties, I tried setting the key dynamically

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

neo4j doesn't allow setting the key dynamically?

How do I solve this?

Natively, Neo4j doesn't allow setting the key dynamically. But you can install APOC Procedures use apoc.create.setProperty to do this.

Try something like:

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 *

Note: Remember to install APOC procedures according the version of Neo4j you are using. Take a look in the Version Compatibility Matrix .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM