CALL apoc.cypher.doIt创建动态节点的时候怎么指定多个标签?

下面的创建节点实例,请教一下CALL apoc.cypher.doIt如何创建多个标签?现在的方式是只能指定一个标签!

UNWIND 
[{name:"sdasdsad234fdgsasdfas33",properties:{born:1978},labels:"ables213"},{name:"ssds12ad23489gsasdfas33",properties:{born:1978,sex:"男性",age:22},labels:"label31"}] AS row
CALL apoc.cypher.doIt('MERGE (n:`' + row.labels + '` {name: {name}}) SET n += {properties}', {properties: row.properties, name: row.name}) YIELD value
RETURN 1

解决方案一:

写在set里面,set n += {properties},n:human

解决方案讨论:

@zhoujieren64 用参数的形式传递怎么写呢? 例如这个会报错:

UNWIND 
[{name:"sdasdsad234fdgsasdfas33",properties:{born:1978},labels:"ables213",labelTest:"test"},{name:"ssds12ad23489gsasdfas33",properties:{born:1978,sex:"男性",age:22},labels:"label31",labelTest:"test"}] AS row
CALL apoc.cypher.doIt('MERGE (n:`' + row.labels + '` {name: {name}}) SET n += {properties},n:{labelTest}', {properties: row.properties, name: row.name,labelTest:row.labelTest}) YIELD value
RETURN 1
原文地址:http://neo4j.com.cn/topic/5c4e7ea5cd4dafa110f1c6f1
posted @ 2019-10-22 14:03  星朝  阅读(682)  评论(0编辑  收藏  举报