【问题标题】:NEO4J Query to find all the title of movies that an actorNEO4J 查询以查找演员的所有电影标题
【发布时间】:2017-10-31 17:58:02
【问题描述】:

查询Cloud Atlast中的演员所出演的所有电影的标题,对于每个电影标题,还返回这些演员的姓名

MATCH (m:Movie {title:"Cloud Atlast"})<-[:ACTED_IN]-(p:Person)
RETURN p.name, m.title

请告诉我我错过了什么

【问题讨论】:

  • 您在标题中有错字 - 电影的名称是 Cloud Atlas

标签: neo4j cypher


【解决方案1】:

听起来你只需要扩展你的模式并聚合每部电影的演员:

MATCH (:Movie {title:"Cloud Atlas"})<-[:ACTED_IN]-(p)-[:ACTED_IN]->(m)
RETURN m.title as title, collect(p.name) as actors

当您使用电影图时,我们可以假设 :ACTED_IN 关系仅将 :Person 节点连接到 :Movie 节点,因此我们可以从路径的后面部分删除标签。

【讨论】:

    【解决方案2】:

    我想这就是你想要的:

        MATCH (:Movie {title:"Cloud Atlas"})<-[:ACTED_IN]-(p)-[:ACTED_IN]->(m)<-[:ACTED_IN]-(others)
        RETURN m.title as title, collect(others.name) as actors
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-24
      • 1970-01-01
      • 2020-11-22
      • 2019-04-16
      相关资源
      最近更新 更多