【发布时间】:2013-07-01 23:42:48
【问题描述】:
我在 Windows 上工作。我使用记事本创建了 Cypher 查询的文本文件。如何使用 Neo4jShell 或 Neo4j Web 界面控制台在文件中运行查询。
【问题讨论】:
我在 Windows 上工作。我使用记事本创建了 Cypher 查询的文本文件。如何使用 Neo4jShell 或 Neo4j Web 界面控制台在文件中运行查询。
【问题讨论】:
只需在启动控制台时添加-file作为参数即可。
在 Windows 上,它看起来像这样:
Neo4jShell.bat -file path/to/cql/file
或者您也可以将结果打印到新文件中
Neo4jShell.bat -file path/to/cql/file > path/to/output/file
我也确信有一种方法可以在 shell 中而不是在启动时做到这一点,正如 Stefan Armbruster 曾经向我展示过的那样,但看在上帝的份上,我不记得他是怎么做到的.但这种方法也很有效。
【讨论】:
使用 Neo4j 网络界面,我只需进行复制和粘贴。
在控制台上,我有时会使用 curl 与 Neo4j 的 REST 接口对话。这允许我使用我在我的应用程序中拥有的相同查询(引用单独的参数)。 为此,您必须将文件中的查询包装到 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
【讨论】:
在 Debian/Ubuntu 或任何 *nix 安装中,从终端使用以下命令:
$neo4j-shell -c < path-to-cypher-query-file.cql
请注意,文件中的每个密码查询都必须以分号结尾,并且必须用空行与其他查询隔开。此外,.cql 结尾(文件格式)不是强制性的。
【讨论】:
自从提出这个问题后,neo4jShell.bat 文件已被删除。执行密码文件的新方法是使用名为 LazyWebCypher 的 Web 应用程序。
【讨论】:
neo4j-shell.bat 仍然存在,you just need to download the zip file to get it。虽然它已被弃用,但官方替换为cypher-shell。
./bin/neo4j-shell -path ../data/databases/ -c 在 Neo4j 3.2.1 上
【讨论】:
-c。
$ neo4j-shell -file query.cql
或使用cypher-shell
$ cat query.cql | cypher-shell
【讨论】: