zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

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

节点 创建 怎么 动态 指定 多个 标签 时候
2023-09-27 14:24:44 时间

下面的创建节点实例,请教一下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