NEO4J:根据多个关系找到一个节点

时间:2015-08-04 23:50:20

标签: neo4j cypher spring-data-neo4j

我希望根据与其他节点的多种关系找到一个节点。 例如,找一个由演员A扮演的电影,由B执导并由C拍摄。

谁能告诉我怎么做?

也许START会这样做,但由于它需要传统索引,我更喜欢匹配。

1 个答案:

答案 0 :(得分:2)

您应该能够将多个匹配项串在一起,例如:

MATCH (m:Movie)<-[:ACTED_IN]-(a:Actor),
      (m:Movie)<-[:DIRECTED]-(d:Director),
      (m:Movie)<-[:FILMED_BY]-(f:Filmer)

或:

MATCH (m:Movie)<-[:ACTED_IN]-(a:Actor)
MATCH (m:Movie)<-[:DIRECTED]-(d:Director)
MATCH (m:Movie)<-[:FILMED_BY]-(f:Filmer)

注意:我没有测试过这个,但我相信这两种风格都应该有效。而且......为了简洁起见,我省略了诸如指定演员/导演/电影名称和RETURN部分之类的细节。 (我假设你使用标签;再次,只是一个如何实现这一点的例子。)