グラフ全体 (リレーションを持つノードと「独立した」ノードの両方) を Gephi にエクスポートするつもりです。それを実現するために、現在 2 つのクエリを実行しています。
// 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
私はそれらを次のような単一のクエリに置き換えようとしました:
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
残念ながら、クエリは決して終了せず、Neo4j を効果的に DoS 攻撃します (Neo4j 側で CPU と RAM の消費が高くなり、応答しなくなります)。また、関係の深さを制限しようとしまし[*0..10]
たが、役に立ちませんでした。
単一のクエリでデータをエクスポートする正しい方法は何ですか?