Neo4j Cypher查询 - 与"或"

时间:2018-01-10 03:51:13

标签: neo4j cypher relationship

我试图在查询中与or建立命名关系。我认为查询应该类似于:

MATCH (A:person)-[B (:ACTED_IN|:DIRECTED)]->(C:person) RETURN A, B, C

但无论我如何放入parens我都会收到错误。我想一个UNION可以做到这一点,但我希望有一些方法可以做到与上面类似。 TIA。

编辑:这就是我想要的,但似乎不是的方式。

MATCH (A:person)-[B]->(C:person) WHERE type(B)="ACTED_IN" OR type(B)="DIRECTED" RETURN A,B,C

1 个答案:

答案 0 :(得分:5)

我是新用户,因此我无法对问题发表评论。我猜你正试图让那个演出或指导电影的人。它在官方Cypher文档中描述:Match on multiple relationship types

借助Neo4j上的Demo Movie Data来获取The Matrix电影中的人物,我会用这个:

MATCH (TheMatrix { title: 'The Matrix' })<-[rel:ACTED_IN|:DIRECTED]-(person)         
RETURN person.name, rel