在Neo4j中获取查询的完整图表

时间:2016-08-19 08:40:15

标签: neo4j cypher

假设我有默认数据库Movies,我想找到参与每部电影的人数,无论他们的角色如何(包括演员,制片人,导演等)< / p>

我已经使用查询完成了这项工作:

MATCH (m:Movie)<-[r]-(n:Person)
WITH m, COUNT(n) as count_people
RETURN m, count_people
ORDER BY count_people DESC
LIMIT 3

好的,我已经包含了一些额外的选项,但这在我的实际问题中并不重要。从上面的查询,我将得到3部电影。

  

Q值。如何丰富上述查询,以便我可以获得包含有关这3部电影的所有关系的图表(例如DIRECTEDACTED_INPRODUCED e.t.c)?

我知道我可以通过每个电影节点上的按钮部署关于每部电影的所有关系,但我想知道我是否可以通过密码进行。

1 个答案:

答案 0 :(得分:1)

使用其他可选匹配:

MATCH (m:Movie)<--(n:Person)
WITH m, 
     COUNT(n) as count_people 
ORDER BY count_people DESC 
LIMIT 3
OPTIONAL MATCH p = (m)-[r]-(RN) WHERE type(r) IN ['DIRECTED', 'ACTED_IN', 'PRODUCED']
RETURN m, 
       collect(p) as graphPaths,
       count_people 
ORDER BY count_people DESC