Как выполнить Cypher в файле?

Я работаю над окнами. Я создал текстовый файл запроса Cypher с помощью блокнота. Как выполнить запрос в файле с помощью консоли веб-интерфейса Neo4jShell или Neo4j.

6 ответов

Решение

Просто добавьте -file в качестве параметра при запуске консоли.

На окнах это будет выглядеть так:

Neo4jShell.bat -file path/to/cql/file 

Или вы можете также распечатать результат в новый файл

Neo4jShell.bat -file path/to/cql/file > path/to/output/file

Я также уверен, что есть способ сделать это из оболочки, а не при запуске, как это однажды продемонстрировал мне Стефан Армбрустер, но ради любви к Богу, я не могу вспомнить, как он это сделал. Но этот подход работает также.

В Debian/Ubuntu или любых установках *nix используйте следующее из терминала:

$ neo4j-shell -c < path-to-cypher-query-file.cql

Обратите внимание, что каждый запрос шифра в файле должен заканчиваться точкой с запятой и должен отделяться пустой строкой от другого запроса. Так же .cql окончание (формат файла) не является обязательным.

$ neo4j-shell -file query.cql

или используя cypher-shell

$ cat query.cql | cypher-shell

Файл neo4jShell.bat был удален после того, как был задан этот вопрос. Новый подход к выполнению шифровальных файлов заключается в использовании веб-приложения под названием LazyWebCypher.

С веб-интерфейсом Neo4j я просто копирую и вставляю.

На консоли я иногда использую curl для общения с REST-интерфейсом Neo4j. Это позволяет мне использовать те же запросы (со ссылками на отдельные параметры), что и в моем приложении. Для этого вам нужно обернуть запрос в вашем файле в объект json.

data.json:

{
  "query":"match (u:User) where u.username={username} return u",
  "params":{"username":"trenkerbe"}
}

команда:

curl -i -X POST -H "Content-Type: application/json" -d @data.json http://localhost:7474/db/data/cypher

./bin/neo4j-shell -path ../data/databases/ -c

на Neo4j 3.2.1

Другие вопросы по тегам