types - Cypher 查询返回 Neo4j 图中每种类型的一个关系

标签 types neo4j cypher relationship

是否有 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每种类型都有一种关系:

rephetio: one relationship per type

最佳答案

实际上这非常简单,您只需聚合关系类型即可:

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/

相关文章:

types - 参数化子集

javascript - 如何区分对象文字和其他 Javascript 对象?

java - 使用 cypher 获取带有标签和索引的节点

java - Neo4j 通过 REST 批处理请求

neo4j - 如果节点不存在,则使用密码在节点之间创建关联

neo4j cypher如何消除计数中的重复项

Scala 类型推断限制

Swift 泛型类型推断

jquery - 如何使用 jQuery 查询 neo4j 图

neo4j - 如何创建独特的关系 neo4j 2.0