当前位置: 首页 > 知识库问答 >
问题:

如何使用cypher-shell neo4j命令从终端运行cypher脚本文件?

长孙阳州
2023-03-14

我有一个密码脚本文件,我想直接运行它。

就我所知,我能找到的所有答案都使用命令neo4j-shell,在我的版本(Neo4j server 3.5.5)中,该命令似乎不推荐使用,而是用命令cyphershell代替。

一个命令行shell,您可以在其中对neo4j的实例执行Cypher。缺省情况下,shell是交互式的,但是您可以通过直接在命令行上传递cypher或通过管道传输带有cypher语句的文件(在Windows上需要Powershell)来使用它编写脚本。

下面是我的文件,它试图从csv文件中创建一个图,它来自“图算法”一书。

WITH "https://github.com/neo4j-graph-analytics/book/raw/master/data" AS base 
WITH base + "transport-nodes.csv" AS uri
LOAD CSV WITH HEADERS FROM uri AS row
MERGE (place:Place {id:row.id})
SET place.latitude = toFloat(row.latitude),
  place.longitude = toFloat(row.latitude),
  place.population = toInteger(row.population)

WITH "https://github.com/neo4j-graph-analytics/book/raw/master/data/" AS base 
WITH base + "transport-relationships.csv" AS uri
LOAD CSV WITH HEADERS FROM uri AS row
MATCH (origin:Place {id: row.src})
MATCH (destination:Place {id: row.dst})
MERGE (origin)-[:EROAD {distance: toInteger(row.cost)}]->(destination)

当我尝试用以下命令直接传递文件时:

sudo ./neo4j-community-3.5.5/bin/cypher-shell neo_4.cypher
Invalid input 'n': expected <init> (line 1, column 1 (offset: 0))
"neo_4.cypher"
 ^
 sudo cat neo_4.cypher| sudo ./neo4j-community-3.5.5/bin/cypher-shell -u usr -p 'pwd'

共有1个答案

宗政德宇
2023-03-14

使用cypher-shell-f yourscriptname。有关详细说明,请参阅--help

 类似资料:
  • 问题内容: 我想用swift替换我的CI bash脚本。我不知道如何调用普通的终端命令,例如或 问题答案: 如果您不使用Swift代码中的命令输出,则只需执行以下操作: 更新:对于Swift3 / Xcode8

  • 问题内容: 我一直在寻找使用Java运行时运行外部程序的方法。可以正常工作,例如: 如您所愿创建一个新目录。现在,在Mac的bash窗口中,我可以这样写: 在名为testgame的文件夹上运行“ Love”游戏引擎。现在,之所以可行,是因为我将“ love”作为别名来调用love可执行文件。我有一种感觉,这是下面没有理由 不 工作: 而且(对于那些想知道的人)也不是: 毫无疑问,这要么是Java方

  • 问题内容: 如何从PHP脚本运行linux命令?我正在运行Linux Debian和PHP5。我希望能够向控制台发出命令。 我正在寻找的示例如下所示: 我还能回显该函数的输出吗? 问题答案: 使用运行任何命令。但是请注意不要执行任何用户输入,因为这可能严重损害服务器。 另外,请注意,大多数共享服务器都会阻止该功能,因此您将无法使用它。 最后,作为一种简写,您可以将要执行的命令包装在反引号中。

  • 我如何通过命令行运行它?

  • 我们如何从命令行运行多个jmeter脚本。我有以下脚本test1.jmx test2.jmx test.3.jmx 现在,如果我想从命令行传递线程和循环,我该怎么做?我知道对于一个脚本,我们可以使用以下语法线程 ${__P(“线程”,25)},但是对于多个脚本,我们该怎么做

  • 请先参考这个问题, 无法读取opensslv. h:没有这样的文件或目录 基于此,我需要使用AppleScript运行以下三行终端命令, 我尝试了两种方法,我创建了带有.命令和. sh扩展名的文本文件,并添加了上述三行。然后尝试从AppleScript运行它, 但我犯了这个错误, 这可能行得通, 但它在第三行的终端上请求密码,并等待用户响应。AppleScript中显示的密码对话框(当以管理员权限