我正在使用Neo4j Server版本:3.4.4(企业版)和Neo4j Browser版本:3.2.5。
当我运行这些命令时:
create (a:DVK {Naam : 'A'}) -[:IS_PROJECT_FOR]->(:DVL {Naam : 'C'})
create (a) -[:IS_PROJECT_FOR]->(:DVL {Naam : 'B'})
我创建了4个节点:A,B,C和另一个节点,以及2个关系。我原本希望有3个节点:具有2个关系的A,B,C。
您能告诉我我在做什么错,并建议如何解决此问题吗?
答案 0 :(得分:0)
根据对主要问题的评论,您似乎分别执行了每个查询,而不是在单个查询中一起执行。
请记住,变量没有保存到数据库中,仅在单个查询期间存在(如果由于未包含在查询的WITH子句中而超出范围,有时会更少)。
因此,对于第二个查询:
create (a) -[:IS_PROJECT_FOR]->(:DVL {Naam : 'B'})
执行此操作时,没有任何内容,因此此处的a
在上一个查询中未引用a
变量。相反,由于这是a
在查询中的首次使用,因此它将绑定到新创建的空白节点(没有标签,没有属性),并且将使用提供的属性创建:DVL节点,然后在它们之间添加:IS_PROJECT_FOR关系。
如果在同一个查询中执行了两个创建操作,则第一个创建操作中的a
仍将在范围内,而执行第二个创建操作时将使用该节点。