如何在文件中执行Cypher?

时间:2013-07-04 05:13:00

标签: neo4j cypher

我正在开发Windows。我使用记事本创建了Cypher查询的文本文件。如何使用Neo4jShell或Neo4j Web界面控制台在文件中运行查询。

6 个答案:

答案 0 :(得分:13)

在Debian / Ubuntu或任何 * nix 安装中,使用终端中的以下内容:

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

请注意,文件中的每个cypher查询必须以分号结尾,并且必须用另一个查询中的空行分隔。此外,.cql结尾(文件格式)不是必需的。

答案 1 :(得分:8)

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

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

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

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

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

我也确定有一种方法可以在shell中进行,而不是在启动时,就像Stefan Armbruster曾向我展示的那样,但是对于上帝的爱,我不记得他是怎么做到的。但这种方法也有效。

答案 2 :(得分:5)

$ neo4j-shell -file query.cql

或使用cypher-shell

$ cat query.cql | cypher-shell

答案 3 :(得分:4)

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

答案 4 :(得分:2)

使用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

答案 5 :(得分:0)

./ bin / neo4j-shell -path ../data/databases/ -c&lt; commands.cql

on Neo4j 3.2.1