查询数据集
更新数据集
// 匹配所有`ROLE_PERMISSION`关系路径
MATCH p=()-[r:ROLE_PERMISSION]->(res)
// 筛选出路径中包含名为"开发人员"的节点,并且资源节点的名称为"埋点订单明细表"
WHERE all(n IN nodes(p) WHERE NOT n.name IS NULL) AND any(n IN nodes(p) WHERE n.name = '开发人员') AND res.name = '埋点订单明细表'
// 从匹配的路径中提取具有operation属性的第二个节点
// 收集满足条件的关系
WITH collect(r) AS rolePermissions
// 迭代收集的关系,并更新operation属性
UNWIND rolePermissions AS r
SET r.operation = CASE
WHEN 'CREATE_FIELD' IN r.operation THEN r.operation
ELSE r.operation + ['CREATE_FIELD']
END
// 返回更新后的关系
RETURN r