根据here,我正在尝试使用Cypher shell执行一系列Cypher查询。我已经创建了一个名为"cypher.ex1“的文件,并将其放入导入和bin文件夹中。下面是它的内容:
MATCH (n) RETURN n;
MATCH (batman:Person {name: 'Bruce Wayne'}) RETURN batman;我尝试使用以下命令来执行它:
$neo4j-home> cat cypher.ex1 | bin/cypher-shell -u neo4j -p 123456 --format plain但是当我运行这个命令时,什么也没有发生,在等待了很长一段时间没有输出之后,我需要按"CTRL + C“来终止命令。以下是问题的屏幕截图:

实际上,cypher-shell适用于一行命令,但不适用于脚本。怎么了?
发布于 2020-02-15 07:10:51
您正在尝试执行以下命令行:
cat cypher.ex1 | bin/cypher.shell -u neo4j - 123456在cypher.shell环境中。这是行不通的,因为cypher.shell只支持Cypher语句和一组有限的命令(使用:help命令查看可用的命令)。
没有发生任何事情的原因(甚至不是错误)是因为cypher.shell在命令行的开头没有看到冒号(':'),所以它假定您正在输入一个Cypher语句,并且在解析它之前(永远)等待结束的分号(';')。
如果您想要执行该命令行,则必须在cypher-shell外部执行它(当它不运行时)。
但是,如果您确实希望在cypher.shell环境中执行相同的操作,则可以使用它的:source命令。例如:
:source cypher.ex1源文件的默认位置是“当前工作目录”,这是您启动cypher.shell时所在的目录。如果文件位于其他位置,则可以将当前工作目录中文件的相对路径指定为:source参数。
https://stackoverflow.com/questions/60233417
复制相似问题