为什么CREATE [relation]在Neo4j中创建2个空节点?

时间:2016-01-21 18:14:04

标签: neo4j cypher relationship

我首先创建这个2:

CREATE (user1:Person {name:"User1"})

CREATE (user2:Person {name:"User2"})

当我尝试

CREATE (user1)-[:FOLLOWS]->(user2)

它创建了2个空节点,没有名称,也没有任何与FOLLOW相关的节点,但两个节点都是" User1"和#34; User2"从来没有被我与他们联系的简单意图所祝福。

为什么这个简单的事情不起作用?

1 个答案:

答案 0 :(得分:2)

您正在单独处理这些陈述。 user1user2是适用于特定cypher语句的标识符。当您执行最后一个语句时,cypher不再具有user1user2的引用。

你可以写

match (u1:Person {name:"User1"}), (u2:Person {name:"User2"})
create (u1)-[:FOLLOWS]->(u2)

然后会找到您之前创建的节点,并使用:FOLLOWS关系加入它们。

因此,当您刚刚指定标识符int eh create语句时,它将匹配每个节点并加入它们。