如何在create节点的时候判断属性的值是否已经存在?是需要先match该节点属性值,根据返回结果自己判断呢? 还是有相关的cypher语句能够判断?
发布于 8 年前 作者 yiluxin 5561 次浏览 来自 问答

如何在create节点的时候判断属性的值是否已经存在?是需要先match该节点属性值,根据返回结果自己判断呢? 还是有相关的cypher语句能够判断?

4 回复

我是这么办的: 可以加个where 语句 判断下, 用 IS NULL 或者 IS NOT NULL 如:

MERGE (c:C {p1: 123}) WITH c WHERE c.p2 IS NULL RETURN c

如果不存在 p2属性 就只创建 只有 p1属性的 节点

MERGE (c:C {p1: 123,p2:456}) WITH c WHERE c.p2 IS NOT NULL RETURN c

如果存在 p2属性 就创建 有 p1 、p2属性的 节点

MATCH (c:人员) where c.人员编号 IS NULL SET c.人员编号 = ‘123123’

@pangguoming 谢谢哈。我穿越回来感谢

回到顶部