Return 从 Neo4j 中的多个关系与 Cypher 匹配的类型

Return type matched from multiple relationships in Neo4j with Cypher

我知道您可以在 Neo4j 中匹配多个关系,就像文档中的这个例子:

MATCH (wallstreet {title: 'Wall Street'})<-[:ACTED_IN|:DIRECTED]-(person)
RETURN person.name

哪些 return 个节点与 'Wall Street' 有 ACTED_IN 或直接关系。

但是,有没有办法获取此查询中关系的类型?也就是说,我不仅要 return 名称,还要 哪个关系适用于 him/her,以查看它是否是 ACTED_IN,或者导致输出结果的DIRECTED关系。

你可以在这里做同样的事情:

MATCH (:Person {name: 'Oliver Stone'})-[r]->(movie)
RETURN type(r)

但这只是匹配任何关系。我想这样做,但仅限于子句中指定的两个关系。

谢谢

您不再需要在查询的有效边缘类型之间使用额外的冒号。否则你可以像在非特定边缘情况中那样使用变量:

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