首页 文章

在Neo4j cypher教程中返回'co-actors' [重复]

提问于
浏览
1

这个问题在这里已有答案:

我正在阅读与基本Neo4j安装捆绑在一起的基本教程 .

这个Cypher查询工作正常,并返回汤姆汉克斯的所有共同演员 .

MATCH (tom:Person {name:"Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors) RETURN coActors.name

所以查询的第一部分返回节点'Tom Hanks' . 没问题 . 但我不理解的部分是第二部分 .

<-[:ACTED_IN]-(coActors) RETURN coActors.name 行没有明确的方法可以从结果集中排除'Tom Hanks'(尽管很明显) . 它在阅读时似乎会让所有人回归 [:ACTED_IN] ......其中应该包括Tom Hanks .

除了汤姆汉克斯之外,这个查询如何返回所有其他演员?

1 回答

  • 1

    MATCH 子句过滤掉所有重复的关系 . 这就是为什么您的查询不返回"Tom Hanks" .

    另一方面,如果你拆分 MATCH 子句以便在单独的子句中找到关系,你会看到"Tom Hanks"返回:

    MATCH (tom:Person {name:"Tom Hanks"})-[:ACTED_IN]->(m)
    MATCH (m)<-[:ACTED_IN]-(coActors)
    RETURN coActors.name;
    

相关问题