2013-04-09 64 views
0

我创造了一些节点,如下面的关系来准确的节点,请忽略的变量名约定: -如何让基于某些属性

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”我不应该得到该实体。请让我知道 我该如何编写密码查询。

回答

1

你应该使用这个查询:

START e = node:node_auto_index('name:sayeed') 
MATCH e-[:HAS_REL]-p 
WHERE p.is_flag2='N' 
RETURN DISTINCT e; 

您使用不正确的关系,查找您的匹配子句。我希望这有帮助。