2017-04-22 44 views
2

我想寫一個查詢,以找到所有與凱文培根2號的演員,女演員在電影中與凱文培根在一部電影中扮演的角色他們從未與凱文培根本人一起在電影中表演過。到目前爲止,我有:Neo4j Cypher凱文培根2的數字

MATCH (a:Actor{name: "Kevin Bacon"})-[:ACTS_IN]->(m:Movie)<-[:ACTS_IN]-(b:Actor) 
MATCH (b:Actor)-[:ACTS_IN]->(n:Movie)<-[:ACTS_IN]-(c:Actor) 
WHERE b.name <> "Kevin Bacon" AND c.name <> "Kevin Bacon" 
RETURN c.name 

當演員c的2.凱文·貝肯數但這顯示爲1的凱文·貝肯數演員以及(他們在電影與凱文·培根擔任)。任何與凱文培根數量1的演員篩選出的幫助將不勝感激

回答

2

你靠近!

缺失的部分是指定你不想讓你的演員c在任何電影中與凱文·培根一起演過。

嘗試此查詢:

MATCH (a:Actor{name: "Kevin Bacon"})-[:ACTS_IN]->(m:Movie)<-[:ACTS_IN]-(b:Actor) 
MATCH (b:Actor)-[:ACTS_IN]->(n:Movie)<-[:ACTS_IN]-(c:Actor) 
WHERE c <> a AND NOT (a)-[:ACTS_IN]->()<-[:ACTS_IN]-(c) 
RETURN c.name