18

我在窗户上工作。我使用记事本创建了 Cypher 查询的文本文件。如何使用 Neo4jShell 或 Neo4j Web 界面控制台在文件中运行查询。

4

6 回答 6

15

在 Debian/Ubuntu 或任何*nix安装上,从终端使用以下命令:

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

请注意,文件中的每个密码查询都必须以分号结尾,并且必须用空行与其他查询隔开。此外,.cql结尾(文件格式)不是强制性的。

于 2014-10-13T09:38:39.953 回答
10

只需在启动控制台时添加-file为参数。

在 Windows 上,它看起来像这样:

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

或者您也可以将结果打印到新文件中

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

我也确信有一种方法可以在 shell 中而不是在启动时做到这一点,正如 Stefan Armbruster 曾经向我展示过的那样,但看在上帝的份上,我不记得他是如何做到的。但这种方法也有效。

于 2013-07-04T09:05:43.823 回答
7
$ neo4j-shell -file query.cql

或使用cypher-shell

$ cat query.cql | cypher-shell
于 2017-10-18T13:37:25.043 回答
4

自从提出这个问题以来,neo4jShell.bat 文件已被删除。执行密码文件的新方法是使用名为LazyWebCypher的 Web 应用程序。

于 2017-01-17T21:29:20.070 回答
2

使用 Neo4j Web 界面,我只需进行复制和粘贴。

在控制台上,我有时会使用 curl 与 Neo4j 的 REST 接口对话。这允许我使用我在我的应用程序中拥有的相同查询(引用单独的参数)。为此,您必须将文件中的查询包装到 json 对象中。

数据.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
于 2013-12-20T08:39:17.760 回答
0

./bin/neo4j-shell -path ../data/databases/ -c < commands.cql

在 Neo4j 3.2.1 上

于 2017-07-04T19:06:01.477 回答