2017-11-15 8 views
0

Ich möchte meinen gesamten Graph (beide Knoten mit Relationen und "unabhängige" Knoten) in Gephi exportieren. Um es zu erreichen, currenly ich zwei Abfragen ausführen:Wie exportiert man alle Knoten und alle Relationen von Neo4j in Gephi?

// export relationships 
match path = (n)--() 
with collect(path) as paths 
call apoc.gephi.add(null, 'workspace1', paths, '', ['attr1', 'attr2']) yield nodes, relationships, time 
return nodes, relationships, time 

// export independent nodes 
match path = (p) 
where not (p)--() 
with collect(path) as paths 
call apoc.gephi.add(null, 'workspace1', paths, '', ['attr1', 'attr2']) yield nodes, relationships, time 
return nodes, relationships, time 

ich versucht habe, sie mit einer einzigen Abfrage wie zu ersetzen:

match path = (n)-[*0..]-() 
with collect(path) as paths 
call apoc.gephi.add(null, 'workspace1', paths, '', ['attr1', 'attr2']) yield nodes, relationships, time 
return nodes, relationships, time 

Leider ist die Abfrage nie beendet und effektiv DoS-es Neo4j (führt zu einem hohen CPU- und RAM-Verbrauch auf der Neo4j-Seite und macht es nicht mehr reaktionsfähig). Ich habe auch versucht, die Relationen Tiefe mit [*0..10] zu begrenzen, aber es hat nicht geholfen.

Was wäre eine korrekte Möglichkeit, meine Daten mit einer einzigen Abfrage zu exportieren?

+0

Wenn Sie Ihre neo4j-Instanz herunterfahren und Zugriff auf den Grafikordner haben, können Sie [neo4j-admin] (https://neo4j.com/docs/operations-manual/current/tools/dump-load/) verwenden. –

Antwort

1

Ich würde in Ihrem Fall versuchen Sie folgendes ...

match path = (n)-[*0..1]->() 
with collect(path) as paths 
call apoc.gephi.add(null, 'workspace1', paths, '', ['attr1', 'attr2']) yield nodes, relationships, time 
return nodes, relationships, time 

So haben wir die Richtung von Beziehungen und Grenzen nur 1 Hop hinzugefügt. Auf diese Weise entfernen wir Exportduplikate und beschleunigen den Export.

Verwandte Themen