这个问题在这里已有答案:
我正在阅读与基本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 回答
MATCH
子句过滤掉所有重复的关系 . 这就是为什么您的查询不返回"Tom Hanks" .另一方面,如果你拆分
MATCH
子句以便在单独的子句中找到关系,你会看到"Tom Hanks"返回: