我正在尝试创建以下Cypher查询:
.icons a.fa-twitter { }
我需要将当前未分配的所有权限(MATCH (p:Permission)
WHERE NOT ((p)<-[:HAS|:CONTAINS*1..2]-(u:User) WHERE u.id = {userId}) AND p.minUserReputation <= {minUserReputation}
RETURN p
)返回给用户(使用NOT ((p)<-[:HAS|:CONTAINS*1..2]-(u:User)
),并按最小信誉值(u.id = {userId}
)进行过滤
目前,此查询失败,出现以下Cypher错误:
p.minUserReputation <= {minUserReputation}
请帮助修复此查询。谢谢!
答案 0 :(得分:1)
由于WHERE <pattern>
和WHERE EXISTS(<pattern>)
不允许在模式上使用其他WHERE子句,因此最好先匹配用户,允许您使用WHERE子句,然后为该用户包含变量在你的谓语中:
MATCH (u:User)
WHERE u.id = {userId}
MATCH (p:Permission)
WHERE p.minUserReputation <= {minUserReputation}
AND NOT (p)<-[:HAS|:CONTAINS*1..2]-(u)
RETURN p