现在我正在通过以下Cypher查询创建一对一关系
@Query("MATCH (R:`User`{uuid:{uuid}}), (L:`Role`{uuid:{roleUuid}}) CREATE (R)-[r:`FILTER_ON`]->(L);")
现在我的问题是我有多个roleUuid
,例如roleUuid1
,roleUuid2
,roleUuid3
等,现在我想与User(uuid
)建立关系多个roleUuid
如何在Cypher查询中完成?
答案 0 :(得分:1)
使用包含角色UUID列表的参数roleUuids
,可以发出
MATCH (R:`User`{uuid:{uuid}}), (L:`Role`)
WHERE L.uuid IN {roleUuids}
CREATE (R)-[r:`FILTER_ON`]->(L)
或者如果您在uuid
属性上具有索引:
UNWIND {roleUuids} AS roleUuid
MATCH (R:`User`{uuid:{uuid}}), (L:`Role`{uuid:roleUuid})
CREATE (R)-[r:`FILTER_ON`]->(L)
一句话:如果您使用的是Neo4j的最新版本,建议您使用$parameter
语法代替{parameter}
语法,以提高可读性。