Neo4j CQL 创建节点使用 CREATE
命令,本文详细的列出了不同情况下的创建节点(node)语句,CREATE
完整的语法如下:
CREATE (
<node-name>:<label-name>[,<label-name>,...]
{
<property1-name>:<property1-value>
........
<propertyN-name>:<propertyN-value>
}
)
- <node-name>:指定节点的名称,其实只是在这个命令中的一个变量而已,命令执行完了之后,就没用了,常用 n 或 p 变量;
- <label-name>:指定节点的标签,基本等同于关系数据库中的 table 表名,或者说是一个类别。但是跟 table 不同的是,这里节点可以有多个标签;
- <propertyX-name>:指定节点的属性名,一个节点可以有多个属性;
- <propertyN-value>:指定节点的属性值,属性值可以多种数据形式,支持字符串、数字、数组等。
创建没有标签没有属性的节点
CREATE (<node-name>)
CREATE 命令直接指定一个节点名称即可,示例如下:
CREATE (n)
(empty result) Rows: 0 Nodes created: 1
创建没有标签没有属性的多个节点
CREATE (<node-name>),(<node1-name>),...
从上语法格式可以看出,CREATE
创建节点命令中,一个节点用小括号包住,一次创建多个节点,用逗号将多个节点连接即可。
具体示例如下:
CREATE (n),(n1)
(empty result) Rows: 0 Nodes created: 2
创建只有一个标签的节点
CREATE (<node-name>:<label-name>)
如上格式,在节点名后面冒号再加上 label 名称即可,示例如下:
CREATE (n:传记)
(empty result) Rows: 0 Nodes created: 1 Labels added: 1
创建一个带有多个标签的节点
CREATE (<node-name>:<label-name>:<label1-name>:...)
节点后面指定标签,多个用冒号隔开,示例如下:
CREATE (n:剧情:爱情)
(empty result) Rows: 0 Nodes created: 1 Labels added: 2
创建一个带有标签和属性的节点
CREATE (
<node-name>:<label-name>
{
<property1-name>:<property1-value>
........
<propertyN-name>:<propertyN-value>
}
)
这里创建带有一个标签,多个属性的节点,示例如下:
CREATE (n:剧情{名称:"肖申克的救赎",导演:"弗兰克·德拉邦特",主演:["蒂姆·罗宾斯","摩根·弗里曼"]})
这里指定了3个属性,分别是“名称”、“导演”和“主演”,其中“名称”和“主演”是字符串数组类型,neo4j 是支持的,输出返回如下:
(empty result) Rows: 0 Nodes created: 1 Properties set: 3 Labels added: 1