【问题标题】:How to execute Cypher in a file?如何在文件中执行 Cypher?
【发布时间】:2013-07-01 23:42:48
【问题描述】:

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

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

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

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

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

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

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

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

    【讨论】:

      【解决方案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
      

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

        • 当前当一个人运行它时,它也会尝试运行被注释掉的代码。有没有更好的方法来避免这种情况。没关系,只是好奇
        【解决方案4】:

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

        【讨论】:

        【解决方案5】:

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

        在 Neo4j 3.2.1 上

        【讨论】:

        • 您不再需要最新版本的-c
        【解决方案6】:
        $ neo4j-shell -file query.cql
        

        或使用cypher-shell

        $ cat query.cql | cypher-shell
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-09-07
          • 2014-12-31
          • 2021-08-06
          • 2015-08-12
          • 2013-02-07
          • 2017-06-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多