我正在创建一些节点和关系,如下所示,请忽略变量名称约定: -
create e1={name:'sayeed', eId:1},
p1={pId:101, is_flag1:'Y', is_flag2:'N', is_flag3:'Y'},
p2={pId:102, is_flag1:'N', is_flag2:'N', is_flag3:'N'},
p3={pId:103, is_flag1:'N', is_flag2:'Y', is_flag3:'N'},
p1<-[:HAS_REL]-e1, p2<-[:HAS_REL]-e1, p3<-[:HAS_REL]-e1;
并从此查询中搜索节点:
start e = node:node_auto_index('name:sayeed')
match e-[:HOLD]-p
where p.is_flag2='N'
return distinct e;
以上查询获取实体“e”但在我的情况下它不应该得到。以下是详细说明。
我想获得具有“:HAS_REL”关系且所有“is_flag2”值应为“N”的实体 如果“is_flag2”中的任何一个是“Y”我不应该得到该实体。请让我知道 如何编写密码查询。
答案 0 :(得分:1)
您应该使用此查询:
START e = node:node_auto_index('name:sayeed')
MATCH e-[:HAS_REL]-p
WHERE p.is_flag2='N'
RETURN DISTINCT e;
您在match子句中使用了错误的关系查找。我希望这会有所帮助。