Как выполнить 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