SET标签:将标签名称作为参数传递 [英] SET label : pass label name as parameter

查看:111
本文介绍了SET标签:将标签名称作为参数传递的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样的查询:

将{data}展开为MERGE行(p:Book {guid:row.bookGuid}),并将p.name = row.name,p:Science设置为

unwind {data} as row with row MERGE (p:Book{guid:row.bookGuid}) set p.name=row.name, p:Science

我想将标签"Science"作为参数传递,因为我在{data}中传递的所有行的标签都不相同.

I want to pass the label 'Science' as a parameter as this label is not same for all the rows which I am passing in {data}.

我在下面的查询中尝试过,但这会引发语法错误.

I tried below query, but this is throwing syntax error.

具有以下参数:{guid:1,name:"testName1",label1:"Histroy"}

with parameter like: { guid:1, name:"testName1",label1:"Histroy"}

将{data}展开为MERGE行(p:Book {guid:row.bookGuid})设置为p.name = row.name,p:row.label1

unwind {data} as row with row MERGE (p:Book{guid:row.bookGuid}) set p.name=row.name, p:row.label1

有什么解决方法吗?

谢谢

推荐答案

您可以使用 APOC apoc.create.addLabels():

UNWIND {data} as row WITH row
MERGE (p:Book{guid:row.bookGuid})
SET p.name=row.name
CALL apoc.create.addLabels(id(p), [row.label1])

另一个例子: 使用Cypher和AP​​OC将属性值移至标签

这篇关于SET标签:将标签名称作为参数传递的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆