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
我知道您可以在 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