Cypher:找一个在电影中扮演多个角色的演员

时间:2017-07-21 09:44:50

标签: neo4j cypher

使用电影数据集,如何在电影中找到充当多个角色的演员。

2 个答案:

答案 0 :(得分:2)

在电影db中,roles是关于:ACTED_IN关系的列表属性,所以我们需要做的就是找到roles列表大于1的特定模式:

MATCH (a:Person)-[r:ACTED_IN]-(m:Movie)
WITH a, r.roles as roles, m
WHERE size(roles) > 1
RETURN a, roles, m

答案 1 :(得分:-1)

好的,你可以通过更多的方式做到这一点......因为角色被保存为你可以检查的关系,谁与电影有多个关系。

MATCH (a:Person)-[r]-(m:Movie)
WITH a,m,collect(type(r)) as rels where length(rels) > 1
RETURN a,rels,m