我有一个这样的查询:
将 {data} 展开为行 MERGE (p:Book{guid:row.bookGuid}) set p.name=row.name, p:Science
我想传递标签“科学”作为参数,因为该标签对于我在 {data} 中传递的所有行都不相同。
我尝试了下面的查询,但这引发了语法错误。
参数如下: { guid:1, name:"test Name1",label1:"History"}
将 {data} 展开为行 MERGE (p:Book{guid:row.bookGuid}) set p.name=row.name, p:row.label1
有什么解决办法吗?
Thanks
您可以使用APOC https://neo4j-contrib.github.io/neo4j-apoc-procedures/ 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 和 APOC 将属性值移动到标签 https://neo4j-contrib.github.io/neo4j-apoc-procedures/#_using_cypher_and_apoc_to_move_a_property_value_to_a_label
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)