NEO4j Cypher查询返回不同的值

时间:2014-05-21 10:51:39

标签: neo4j cypher

大家好我是cypher查询的新手,我想在结果中限制重复值

查询

match (ee:Personal {id:"id"})-[:Friend]->(fr),
 (fr)-[:Friend]->(fr2),
 (fr2)-[:Friend]->(friend:Personal),
 (friend)-[:Works]->(comp:Company) 

where comp.name=~".*name.*" 
and not friend.id="id" 
and not (friend)-[:Friend]-(fr) 
and not (friend)-[:Friend]-(ee) 
and not (fr2)-[:Friend]-(ee) 

optional match (comp)-[:Position]->(pos), 
 (friend)-[:Position]->(pos)  
optional match (friend)-[:Location]->(loc) 

return distinct  friend.name,  comp.name

但我得到重复的值,因为返回statemnt中有多个节点属性。如果我只返回一个属性,那么罚款。但我想要不同的朋友

1 个答案:

答案 0 :(得分:17)

如果你想要回复每个公司的不同朋友,那么整个行的区别是:

return comp.name, collect(distinct friend.name)