You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求满足成员权限规则的Neo4j树形结构查询语句(需返回路径)

符合权限规则的Neo4j路径查询语句

业务背景

  • Space节点通过:PARENT_OF关系构建层级结构,节点包含privacy属性,取值为open或private
  • 用户与Space节点通过:member_of关系关联,关系的role属性分为manager(管理员)和member(普通成员)

权限规则对应的查询语句

以下查询通过参数$userId(用户ID)和$topSpaceSlug(目标顶级空间标识),返回用户有权查看的空间路径:

MATCH (topSpace:Space {slug: $topSpaceSlug})
OPTIONAL MATCH (user:User {id: $userId})-[memberRel:member_of]->(topSpace)
MATCH path = (topSpace)-[:PARENT_OF*]->(child:Space)
WHERE
  // 规则1:用户是该顶级空间的管理员,可查看完整子空间树
  (memberRel.role = 'manager') OR
  // 规则2:用户是该顶级空间的普通成员,仅查看隐私为open的子空间
  (memberRel.role = 'member' AND child.privacy = 'open') OR
  // 规则3:顶级空间隐私为open,所有用户可查看其下隐私为open的子空间
  (topSpace.privacy = 'open' AND child.privacy = 'open')
RETURN path

说明

  • 若用户未与顶级空间建立关联,但顶级空间为open,则自动触发规则3,返回所有open属性的子空间路径
  • 若用户同时满足多个规则(如既是管理员且顶级空间为open),规则1优先级最高,返回完整子空间树

内容的提问来源于stack exchange,提问作者Lorenz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 11:37:15