我正在尝试从CSV向我的图形数据库添加一些节点,这就像:
| city continent feature_1 ...
|--------------------------------------------------
0 | Barcelona Europe
1 | Stockholm Europe
2 | New York America
3 | Nairobi Africa
4 | Tokyo Asia
第一种方法是简单地将数据加载为:
// Insert city nodes
USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM 'file:///city_data.csv' AS row
MERGE (city: City {name: row.city})
下一步是合并大陆信息,因此我可以拥有不同颜色的节点。这意味着每个节点都有两个标签,我不确定该怎么做。无论如何,此刻我决定只换一个标签,其中包含大洲的信息。由于此信息位于CSV文件中,因此我相信apoc.create.node
工具是解决之道。因此,受How to use apoc.load.csv in conjunction with apoc.create.node的启发,我尝试了以下操作:
CALL apoc.load.csv('file:///city_data.csv') YIELD row
CALL apoc.create.node(['row.continent'], {name:['row.continent']}) YIELD node
RETURN count(*)
这不会引起任何错误,但是它所做的事情与我所想的有所不同。基本上,它会将列名称(“ row.continent”)本身设置为标签...
答案 0 :(得分:0)
问题是您将变量括在撇号中,因此请尝试以下操作:
CALL apoc.load.csv('file:///city_data.csv') YIELD row
CALL apoc.create.node([row.continent], {name: row.continent}) YIELD node
RETURN count(*)