2017-04-22 68 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