Невозможно экспортировать результаты запроса в формате csv в neo4j

У меня есть база данных сотрудников с 1800 сотрудниками и 45000 сообщений между ними. Я пытаюсь экспортировать результаты следующего запроса в файл csv, щелкнув параметр экспорта в браузере neo4j.

LOAD CSV WITH HEADERS FROM 
'file:///employees.csv' AS line 
WITH line
MATCH(e:Employee{pkey:line.profile_key})-[r:Message]->(b:Employee) RETURN 
e.pkey, b.pkey, COUNT(r)
ORDER BY e.pkey;

Но это не работает. Я получаю только начальные 100 строк. Я также изменил количество строк на 10000 в настройках браузера, но опять же после выполнения запроса мой браузер перестает отвечать и закрывается автоматически. Я использую neo4j Community Edition 3.2.1 для Windows. Есть ли другой способ экспортировать результаты, кроме опции браузера в Windows? Заранее спасибо!


person Ram    schedule 17.06.2017    source источник


Ответы (1)


Возможно, вы захотите использовать процедуры APOC и запускать их из оболочки Cypher. Пример :

neo4j> CALL apoc.export.csv.query("MATCH(p:Part) RETURN p.name","/var/tmp/parts.csv", {});

Это требует от вас установки плагина apoc и добавления следующего параметра в neo4j.conf.

apoc.export.file.enabled=true

Надеюсь, это поможет, Том

person Tom Geudens    schedule 17.06.2017
comment
Привет, Том, спасибо за ответ... не могли бы вы также упомянуть, как настроить плагин apoc в Windows - person Ram; 17.06.2017
comment
Конечно. Если вы используете zip-установку, вам нужно поместить ее (получить банку с сайта apoc) в папку neo4j-community-3.2.1\plugins и перезапустить. Если вы используете установку exe, каталог плагинов находится в C:\users\youruser\Documents\Neo4j\default.graphdb\plugins... - person Tom Geudens; 17.06.2017
comment
Привет, Том, я выполнил следующую инструкцию CALL apoc.export.csv("MATCH(e:Employee) RETURN e.pkey", "c:/tmp/parts.csv", {}); . Я поместил файл jar в указанную папку, но все равно получаю сообщение о том, что процедура не зарегистрирована для этого экземпляра базы данных. - person Ram; 17.06.2017
comment
Вы перезапускали базу данных? Это необходимо, чтобы подобрать новый плагин. - person Tom Geudens; 17.06.2017
comment
Привет, Том, я перезапустил базу данных, но получаю ту же ошибку. Я также поместил банку в папку c:/program files/neo4j CE 3.2.1/plugins. Но во втором случае я даже не смог запустить базу данных. - person Ram; 17.06.2017
comment
Нет, он определенно находится в каталоге C:\users (обратите внимание, он находится внутри самого каталога базы данных). Получили ли вы правильную версию (github.com/neo4j-contrib/neo4j-apoc-procedures/releases/)? После перезапуска базы данных попробуйте CALL dbms.procedures(); чтобы получить список. Вы видите там процедуры apoc (должны быть прямо вверху)? - person Tom Geudens; 17.06.2017
comment
Кстати, apoc.export.csv действительно не является существующей процедурой, это apoc.export.csv.query, apoc.export.csv.all, apoc.export.csv.data или apoc.export.csv.graph. - person Tom Geudens; 17.06.2017
comment
Давайте продолжим обсуждение в чате. - person Ram; 18.06.2017