簡體   English   中英

查找通過 2 個關系連接到至少 2 個相同節點但中間節點不同的節點

[英]Finding nodes which are connected to at least 2 same nodes through 2 relationships but with the intermediary one being different

我想找出以下案例中的所有人員和事故夫婦:

  • 參與至少 2 起相同事故的人,當他們乘坐 2 輛不同的汽車時。

我總是有以下關系:人 --> 車 --> 事故

我做了一個簡化且可重現的例子:

CREATE
  (p1:Person {name: 'Paul'})-[:DRIVES]->(c1:Car {name: 'Car A'}),
  (p2:Person {name: 'John'})-[:DRIVES]->(c2:Car {name: 'Car B'}),
  (p3:Person {name: 'Mike'})-[:DRIVES]->(c3:Car {name: 'Car C'}),
  (p4:Person {name: 'Joe'})-[:OCCUPANT]->(c1),
  (p4)-[:OCCUPANT]->(c3),
  (c1)-[:IS_DOER]->(a1: Accident {name: 'Crash 1'}),
  (c2)-[:IS_VICTIM]->(a1),
  (c2)-[:IS_DOER]->(a2: Accident {name: 'Crash 2'}),
  (c3)-[:IS_VICTIM]->(a2) ;

這是圖表的樣子:

在此處輸入圖片說明

在這個例子中,我想返回這對夫婦 ("Joe", "John") 和 ("Crash 1", "Crash 2"),因為 Joe 和 John 都卷入了至少 2 起相同的事故,同時處於不同的汽車。

感謝您的幫助。

其實我想我找到了答案:

MATCH
  (p1:Person)-[r1]->(c1:Car)-[r2]->(a:Accident)<-[r3]-(c2:Car)<-[r4]-(p2:Person)
WHERE c1<>c2
WITH p1, p2, COUNT(DISTINCT a) AS count_accident
WHERE count_accident>= 2
RETURN p1, p2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM