2013-09-26 43 views
1

我有以下問題:我想回到一個批評家已經審查了所有獨特的瓶子,如果任何由他們審查在指定的商店目前銷售。 的問題是,我得到重複的兩個集合,雖然我可以單獨進行篩選,我無法過濾加入結果:如何返回Cypher中的集合聯盟的獨特元素?

START shop=node:shops('SHOP_ID:...') 
MATCH (shop)-[:SELLS]->(bottle)<-[:REVIEWED]-(critic)-[:REVIEWED]->(other_bottle) 
WITH critic, COLLECT(DISTINCT(bottle))) + COLLECT(DISTINCT(other_bottle))) as all_bottles 
RETURN wine_critic, all_bottles 

回答

3

嘗試:

START shop=node:shops('SHOP_ID:...') 
MATCH (shop)-[:SELLS]->(bottle)<-[:REVIEWED]-(critic) 
WITH critic 
MATCH (critic)-[:REVIEWED]->(other_bottle) 
RETURN critic, COLLECT(other_bottle) as all_bottles 
+1

一場比賽拿到路徑,另一個獲取數據。涼! – Nikos

+1

這很好,謝謝!我試圖得到它通過 START N =節點(50)中,b =節點(137)MATCH P = N- [R * 1..2] -B RETURN節點(p)的工作; 找到共同的鄰居,它是這樣,但它返回它作爲收藏品,和你的示例返回的節點。 謝謝! –

相關問題