2017-02-01 2 views
2

Мне нужно запустить запрос Cypher с базой данных Neo4J из командной строки (для целей пакетного планирования).neo4j-shell пример запуска скрипта Cypher

Когда я запускаю это:

./neo4j-shell -file /usr/share/neo4j/scripts/query.cypher -path /usr/share/neo4j/neo4j-community-3.1.1/data/databases/graph.db 

Я получаю эту ошибку:

ERROR (-v for expanded information): 
     Error starting org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory, /usr/share/neo4j/neo4j-community-3.1.1/data/databases/graph.db 

Там есть бегущая Neo4j экземпляр на этой базе данных (локальный: 7474). Мне нужен скрипт для выполнения запросов против него.

ПРИМЕЧАНИЕ: это раскол original question, ради удобства.

+0

выполняет ли сценарий как тот же пользователь, выполняющий базу данных neo4j? –

+0

Да, он использует пользователя по умолчанию. Это проблема? – peleitor

+0

Я думаю, что нет необходимости указывать путь в этом случае –

ответ

1

Для выполнения (одного или нескольких) инструкций Cypher из файла, когда сервер neo4j запущен, вы можете использовать процедуру APOC apoc.cypher.runFile(file or url).

Поскольку вы указываете «периодическое планирование», могут быть полезны процедуры APOC Job management and periodic execution. Эти процедуры могут, в свою очередь, выполнять вызовы до apoc.cypher.runFile.

2

Хорошо, что я только что развернул новый экземпляр Neo4j-community-3.1.1 сегодня и столкнулся с той же проблемой. Обратите внимание, что я уже создал базу данных с использованием инструмента массового импорта, поэтому перед использованием оболочки может потребоваться создать каталог для базы данных (mkdir data/databases/graph.db).

Я считаю, что ваша проблема может заключаться в том, что у вас есть экземпляр процесса Neo4j, работающий с базой данных, к которой вы пытаетесь получить доступ.

Для меня, выключая Neo4j, а затем, начиная оболочки с явными путями работало:

cd /path/to/neo4j-community-3.1.1/ 
bin/neo4j stop ## assuming it is already running (may need a port specifier) 
bin/neo4j-shell -path data/databases/graph.db 

По некоторым причинам я думал, что вы могли бы иметь как оболочки и запустить сервер, но, очевидно, что это не случай. Надеюсь, кто-то поправит меня, если я ошибаюсь.

Смежные вопросы