是否有 Cypher 查询可以返回图表中每种关系类型的单个关系?
例如,我有一个图表,其中包含 5 个类型为 TYPE_X
的关系、10 个类型为 TYPE_Y
的关系和 1 个类型为 TYPE_Z
的关系。该查询将返回 3 个关系:
()-[r1:TYPE_X]->()
()-[r2:TYPE_Y]->()
()-[r3:TYPE_Z]->()
哪个 TYPE_X
关系作为 r1
返回并不重要。理想情况下,查询不必扫描每个关系,它只会为每种类型返回一个任意关系。
此查询对于在交互式浏览器中询问关系类型及其属性非常有用。
基于 @christophe-willemsen 的 answer 进行更新.
我使用了以下查询:
MATCH ()-[r]->()
RETURN type(r) AS rel_type, collect(r)[0] AS example
生成以下visualization每种类型都有一种关系:
最佳答案
实际上这非常简单,您只需聚合关系类型即可:
MATCH (a)-[r]->(b)
RETURN type(r), collect(r)[0] AS oneRel
-
REL3 (34)-[20:REL3]->(35)
REL2 (18)-[12:REL2]->(19)
REL1 (6)-[6:REL1]->(7)
关于types - Cypher 查询返回 Neo4j 图中每种类型的一个关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36001425/