Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j 使用Cypher shell执行脚本时不会发生任何事情_Neo4j_Cypher Shell - Fatal编程技术网

Neo4j 使用Cypher shell执行脚本时不会发生任何事情

Neo4j 使用Cypher shell执行脚本时不会发生任何事情,neo4j,cypher-shell,Neo4j,Cypher Shell,我正在尝试使用Cypher shell根据执行一系列Cypher查询。我已经创建了一个名为cypher.ex1的文件,并将其放在import和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

我正在尝试使用Cypher shell根据执行一系列Cypher查询。我已经创建了一个名为cypher.ex1的文件,并将其放在import和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来终止命令。以下是问题的屏幕截图:


事实上,CypherShell可以很好地用于单行命令,但不能用于脚本。怎么了?

您正在尝试执行以下命令行:

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参数。

执行:source cypher.ex1后,出现:找不到文件:“cypher.ex1”我应该将cypher.ex1放在哪里?默认情况下,当前工作目录,这是您启动cypher.shell时所在的目录。如果文件不存在,则:source参数可以是该目录的相对路径。我已将此信息添加到我的答案中。