如果未提供节点名称,是否会默认忽略标签?

时间:2013-12-26 05:21:39

标签: neo4j cypher

似乎这会创建一个标签为“User”且名称为“Steve”的节点,如预期的那样。

create (u:User{id:2, name:"Steve"})

这会创建一个名为“Steve”的节点,但没有标签:

create (User{id:2, name:"Steve"})

如果为创建的节点(u:)提供变量名称,即使我以后没有提到它也是必需的,很好。但似乎不需要有效的密码,但出于某种原因,在这种情况下,标签会被默默地忽略。发生了什么事?

1 个答案:

答案 0 :(得分:1)

冒号是标签的必要前缀:

create (User{id:2, name:"Steve"})

创建一个没有标签的节点,该标签的名称为User,稍后将在语句中使用。

设置标签使用:

create (:User{id:2, name:"Steve"})

这会创建一个标签为User但没有符号名称的节点,因此您无法在cypher语句的后续部分中引用它。

create (u:User{id:2, name:"Steve"})

是两者的结合。