是否可以在neo4j中的同一csv中导入多个节点类型?
我想在neo4j中导入一些不同类型的节点,其中节点仅在类型上不同,而在数据上不同。是否可以导入以下内容:是否可以在neo4j中的同一csv中导入多个节点类型?,neo4j,cypher,Neo4j,Cypher,我想在neo4j中导入一些不同类型的节点,其中节点仅在类型上不同,而在数据上不同。是否可以导入以下内容: NodeType,Id,Name NodeX,1,Yolo NodeY,2,World LOAD CSV WITH HEADERS FROM "file:///nodes.csv" as row WITH row WHERE row.Id IS NOT NULL MERGE (c:row.NodeType {id: row.Id, name: row.Name});
NodeType,Id,Name
NodeX,1,Yolo
NodeY,2,World
LOAD CSV WITH HEADERS FROM "file:///nodes.csv" as row
WITH row WHERE row.Id IS NOT NULL
MERGE (c:row.NodeType {id: row.Id, name: row.Name});
然后得到两个节点,一个是类型NodeX
,另一个是类型NodeY
我想写的是这样的:
NodeType,Id,Name
NodeX,1,Yolo
NodeY,2,World
LOAD CSV WITH HEADERS FROM "file:///nodes.csv" as row
WITH row WHERE row.Id IS NOT NULL
MERGE (c:row.NodeType {id: row.Id, name: row.Name});
对于具有动态指定标签的节点,可以使用APOC过程执行与
MERGE
等效的操作:
LOAD CSV WITH HEADERS FROM "file:///nodes.csv" as row
WITH row WHERE row.Id IS NOT NULL
CALL apoc.merge.node([row.NodeType], {id: row.Id, name: row.Name}) YIELD node
RETURN node
酷,我会测试一下。谢谢作为一种解决方法,我开始为我想做的每件事生成一行CREATE,但这不是很好。对,这也会使您通过文件数据遭受“密码注入”攻击。