检查Neo4J中的两个节点之间是否存在关系,如果不存在关系,则使用随机id创建节点

检查Neo4J中的两个节点之间是否存在关系,如果不存在关系,则使用随机id创建节点,neo4j,Neo4j,我有UserTypeA节点和UserTypeB节点,我想将它们连接到一个用户节点,该节点现在只用于包含随机ID。 是否可以检查两个节点之间是否存在关系(检查UserTypeA是否已经有一个连接到他的用户节点),如果没有,是否可以创建一个新的用户节点并为此节点设置一个随机id(甚至可以设置一个随机id?)。 有没有一种方法可以在一个查询中完成?(如果不存在关系,请创建新的用户节点并为其设置随机id) 谢谢您可以非常简单地完成这项工作,几乎可以将您的英语转换为密码: MATCH (a:User {n

我有UserTypeA节点和UserTypeB节点,我想将它们连接到一个用户节点,该节点现在只用于包含随机ID。 是否可以检查两个节点之间是否存在关系(检查UserTypeA是否已经有一个连接到他的用户节点),如果没有,是否可以创建一个新的用户节点并为此节点设置一个随机id(甚至可以设置一个随机id?)。 有没有一种方法可以在一个查询中完成?(如果不存在关系,请创建新的用户节点并为其设置随机id)


谢谢

您可以非常简单地完成这项工作,几乎可以将您的英语转换为密码:

MATCH (a:User {name:"userA"}),(b:User {name:"userB"})
WHERE NOT (a)-[:KNOWS]-(b)
WITH a,b
CREATE (c:User {name:"userC",id:rand()})
CREATE (a)-[:KNOWS]->(c)
CREATE (b)-[:KNOWS]->(c);

是否可以将rand()转换为返回整数?