我正在尝试将单个csv加载到Neo4j数据库中。我有followed this guideline但仍然无法理解为什么不适合我。
我可以正确地创建节点(它的属性是除了一个之外的所有列),我想在所有节点之间建立一个关系,只剩下没有添加到节点的属性。
file.csv
中的数据如下:
列,instaGramId,imageDateCreated,imageTagCount,ImageFilter中,googleLabel_list 0,1165524631240624607_638926073,1453161384,7,普通," [卡通,漫画, 艺术品]"
...
我按照以下步骤操作:
第1步:创建节点 这是正常的
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:///file.csv" AS row
CREATE (:Post {instaGramId: row.instaGramId,
imageDateCreated: toInt(row.imageDateCreated),
imageTagCount: row.imageTagCount,
imageFilter: row.imageFilter});
只剩下属性为googleLabel_list
,需要在不同的节点中
第2步:创建索引 这也正常工作,我想
CREATE INDEX ON :Post(instaGramId);
第3步:创建关系 这不能正常工作
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:///file.csv" AS row
MATCH (post:Post {id: row.instaGramId})
MATCH (objects:Post {id: row.googleLabel_list})
MERGE (post)-[:CONTAINS_OBJECTS]->(objects);
答案 0 :(得分:1)
以下子句可能永远不会匹配任何东西(因此不会创建任何关系):
MATCH (objects:Post {id: row.googleLabel_list})
这是因为您现有的POST
个节点有id
个值(例如," 1165524631240624607_638926073"来自row.instaGramId
),这些值可能与您的row.googleLabel_list
不同{1}}值(例如," [卡通,漫画,艺术品]")。