neo4j Cypher:关系未按预期运行

neo4j Cypher:关系未按预期运行,neo4j,cypher,Neo4j,Cypher,我直接从neo4j的Cypher手册中复制代码,但该代码在我的环境中不起作用,正如文档所述: CREATE (john:Person {name: 'John'}) CREATE (joe:Person {name: 'Joe'}) CREATE (steve:Person {name: 'Steve'}) CREATE (sara:Person {name: 'Sara'}) CREATE (maria:Person {name: 'Maria'}) CREATE (john)-[:

我直接从neo4j的Cypher手册中复制代码,但该代码在我的环境中不起作用,正如文档所述:

CREATE (john:Person {name: 'John'}) 
CREATE (joe:Person {name: 'Joe'}) 
CREATE (steve:Person {name: 'Steve'}) 
CREATE (sara:Person {name: 'Sara'}) 
CREATE (maria:Person {name: 'Maria'}) 
CREATE (john)-[:FRIEND]->(joe)-[:FRIEND]->(steve) CREATE (john)-[:FRIEND]->(sara)-[:FRIEND]->(maria)
其工作原理如下:

MATCH (user)-[:FRIEND]->(follower) WHERE user.name IN ['Joe', 'John', 'Sara', 'Maria', 'Steve'] AND follower.name =~ 'S.*' RETURN user.name, follower.name
给出: +

但我得到的却是:

(无更改,无记录)

我实际上是在将手册中的代码复制/粘贴到neo4j中,并得到了意想不到的结果。谢谢你的帮助


编辑:我一次复制一行代码,一次执行一行代码。如果我复制整个代码块并将其作为一个块执行,它就可以正常工作。我仍然不明白为什么每次执行一行时neo4j不能工作

如果一次执行一行,变量名将超出范围。这是在人之前的事情。您也可以使用创建节点

CREATE (:Person {name:'John'})
但是当你自己执行的时候

CREATE (a:Person {name:'John'})

然后变量名
a
随后在下一行中丢失。因此,当您自己执行定义关系的最后一行时,变量名是没有意义的。当您同时执行所有行时,变量定义将得到维护,并且可以正常工作。

如果一次执行一行,变量名称将超出范围。这是在人之前的事情。您也可以使用创建节点

CREATE (:Person {name:'John'})
但是当你自己执行的时候

CREATE (a:Person {name:'John'})

然后变量名
a
随后在下一行中丢失。因此,当您自己执行定义关系的最后一行时,变量名是没有意义的。当您同时执行所有行时,变量定义将得到维护,并且可以工作。

当您仅运行create语句时,它会说什么?当您仅运行create语句时,它会说什么?