Как экспортировать _все_ узлы и все отношения из Neo4j в Gephi?

Я намерен экспортировать весь свой граф (как узлы с отношениями, так и «независимые» узлы) в 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

Я попытался заменить их одним запросом, например:

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

К сожалению, запрос никогда не завершается и эффективно DoS-es Neo4j (приводит к высокому потреблению ЦП и ОЗУ на стороне Neo4j и делает его не отвечающим). Я также пытался ограничить глубину отношений с помощью [*0..10], но это не помогло.

Каким будет правильный способ экспортировать мои данные с помощью одного запроса?


person olegg    schedule 15.11.2017    source источник
comment
Если вы можете закрыть свой экземпляр neo4j и иметь доступ к папке графа, вы можете использовать neo4j-admin   -  person Vivek Kumar    schedule 15.11.2017


Ответы (1)


Я бы попробовал в вашем случае следующее...

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

Поэтому мы добавили направление отношений и ограничили только 1 переход. Таким образом мы удаляем дубликаты экспорта и ускоряем экспорт.

person Tomaž Bratanič    schedule 15.11.2017