本文概述
CREATE语句用于创建节点之间的关系。这些关系定义了数据的方向, 类型和形式模式。
它主要定义了三件事:
- 建立关系
- 在现有节点之间创建关系
- 使用标签和属性创建关系
建立关系
创建关系时, 应在方括号” []”中指定关系, 具体取决于关系在连字符”-“和箭头”?”之间的关系方向, 如以下语法所示。
句法:
CREATE (node1)-[:RelationshipType]->(node2)
例子
让我们先创建两个节点” Raul”和” It”, 然后指定它们之间的关系。
CREATE (Raul:player{name: "Raul Vinci", YOB: 1973, POB: "Milan"})
CREATE (It:Country {name: "Itly"})
RETURN Raul, It

现在在这两个节点之间创建一个关系” PLAYER_OF为?
CREATE (Raul)-[r:PLAYER_OF]->(It)
RETURN Raul, It
输出

你还可以以表格或文本形式查看它:


你还可以下载(导出)你要保存的格式的图形。单击下载按钮, 请参见示例:

在现有节点之间创建关系
MATCH语句用于在现有节点之间创建关系。
句法:
MATCH (a:LabeofNode1), (b:LabeofNode2)
WHERE a.name = "nameofnode1" AND b.name = " nameofnode2"
CREATE (a)-[: Relation]->(b)
RETURN a, b
例子
使用MATCH语句创建关系。
MATCH (a:player), (b:Country) WHERE a.name = "Raul Vinci" AND b.name = "Itly"
CREATE (a)-[r: FOOTBALLER_OF]->(b)
RETURN a, b
输出

使用标签和属性创建关系
CREATE语句用于创建带有标签和属性的关系。
句法:
CREATE (node1)-[label:Rel_Type {key1:value1, key2:value2, . . . n}]-> (node2)
例:
让我们举一个例子, 使用CREATE语句为具有标签和属性的节点创建关系。
首先创建一个具有多个标签的节点” Kohli”
CREATE (Kohli:person:player)
然后使用相同的节点创建一些属性:
CREATE (Kohli:player{name: "Virat Kohli", YOB: 1988, POB: "Delhi"})
RETURN Kohli

创建另一个节点” Ind”:
CREATE (Ind:Country {name: "India"})

现在, 创建带有标签和属性的关系:
MATCH (a:player), (b:Country) WHERE a.name = "Virat Kohli" AND b.name = "India"
CREATE (a)-[r:BATSMAN_OF {Matches:5, Avg:90.75}]->(b)
RETURN a, b

创建一条完整的道路
在Neo4j中, 使用CREATE语句创建路径。使用连续关系形成路径。
句法:
CREATE p = (Node1 {properties})-[:Relationship_Type]->
(Node2 {properties})[:Relationship_Type]->(Node3 {properties})
RETURN p
例:
首先创建一个名为” Champions_Trophy”的node3以进行进一步的操作。

现在执行以下代码:
CREATE p = (Kohli {name:"Virat Kohli"})-[:TOPSCORRER_OF]->
(Ind {name: "India"})-[: WINNER_OF]->(Node3 {CT: "Champions_Trophy"})
RETURN p
