Neo4j:如何将多个关系连接成一个汇总关系?

Neo4j:如何将多个关系连接成一个汇总关系?,neo4j,cypher,Neo4j,Cypher,我有一个图,其中一些节点之间有很多关系,这使得浏览这些图很困难。有没有可能用一个单一的“聚合”关系(可能是另一种类型的关系)来取代这种多重关系 理想情况下,我只想加入那些在一个节点之间有10个以上关系的关系,但任何事情都会有帮助。我想你可以做如下事情: // Match the pattern MATCH (a:Node)-[t:REL_TYPE]->(b:Node) // pass to the next context nodes a, b, list of t // where n

我有一个图,其中一些节点之间有很多关系,这使得浏览这些图很困难。有没有可能用一个单一的“聚合”关系(可能是另一种类型的关系)来取代这种多重关系


理想情况下,我只想加入那些在一个节点之间有10个以上关系的关系,但任何事情都会有帮助。

我想你可以做如下事情:

// Match the pattern
MATCH (a:Node)-[t:REL_TYPE]->(b:Node)
// pass to the next context nodes a, b, list of t 
// where number of relations between a and b is greater than 10
WITH a, b, collect(t) AS ts, count(t) AS count
WHERE count > 10
// create new relation between a and b nodes
CREATE (a)-[:OTHER_REL_TYPE]->(b)
// pass list of old relations to the next context
WITH ts
// unwind & delete old relations
UNWIND (ts) AS t
DELETE t
RETURN *

哇,谢谢你!这正是我想要的(还有更多)@哦,不客气!:)但你所说的“让浏览这些图表变得困难”是什么意思?你能再解释一下吗?当然。。。我在一些节点之间有很多关系,所以当我可视化它们时,Firefox有时会崩溃(通常是当我将节点移到靠近浏览器窗口边缘的位置时)。铬不会破碎,但速度要慢得多,偶尔会冻结几秒钟。