2017-12-15 1 views
1

Ich habe ein Diagramm, in dem viele Beziehungen zwischen einigen der Knoten bestehen, was das Durchsuchen dieser Graphen schwierig macht. Ist es möglich, solche multiplen Beziehungen durch eine einzige "aggregierte" zu ersetzen, die möglicherweise von einer anderen Art ist?Neo4j: Wie man mehrere Beziehungen in eine Zusammenfassung einfügt?

Idealerweise würde ich gerne nur solche Beziehungen eingehen, bei denen es mehr als 10 Beziehungen zwischen Knotenschmerzen gibt - aber alles wird helfen.

Antwort

1

Ich glaube, Sie so etwas wie zu tun:

// 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 * 
+1

Wow, danke! Genau das habe ich gesucht (und vieles mehr)! – johndodo

+0

@johndodo oh du bist willkommen! :) Aber was meinst du mit "macht das Durchsuchen dieser Grafiken schwierig"? Kannst du etwas mehr erklären? –

+0

Sicher ... Ich habe _many_ Beziehungen zwischen einigen der Knoten, so wenn ich sie visualisieren Firefox manchmal abstürzt (in der Regel wenn ich Knoten näher an den Rand des Browser-Fensters verschieben). Chrom stürzt nicht ab, aber es ist viel langsamer und friert ab und zu für ein paar Sekunden. – johndodo

Verwandte Themen