Neo4j CQL - 创建关系

在Noe4j中,关系是一个元素,我们使用它连接图的两个节点。 这些关系具有数据的方向、类型和形式模式。 本章教你如何 −

  • 建立关系
  • 在现有节点之间创建关系
  • 创建与标签和属性的关系

创建关系

我们可以使用 CREATE 子句创建关系。 我们将根据连字符"-"和箭头" → "之间关系的方向来指定方括号"[ ]"内的关系,如以下语法所示。

语法

以下是使用 CREATE 子句创建关系的语法。

CREATE (node1)-[:RelationshipType]->(node2) 

示例

首先在数据库中创建两个节点Ind和Dhawan,如下所示。

CREATE (Dhawan:player{name: "Shikar Dhawan", YOB: 1985, POB: "Delhi"}) 
CREATE (Ind:Country {name: "India"})

现在,在这两个节点之间创建名为 BATSMAN_OF 的关系,如下所示 −

CREATE (Dhawan)-[r:BATSMAN_OF]->(Ind) 

最后,返回两个节点以查看创建的关系。

RETURN Dhawan, Ind 

浏览器应用程序

将所需的查询复制并粘贴到 $ 美元提示符中,然后按以下屏幕截图中突出显示的player按钮(以执行查询)。

Highlighted Query

结果

执行后,您将得到以下结果。

Executing

在现有节点之间创建关系

您还可以使用 MATCH 子句在现有节点之间创建关系。

语法

以下是使用 MATCH 子句创建关系的语法。

MATCH (a:LabeofNode1), (b:LabeofNode2) 
   WHERE a.name = "nameofnode1" AND b.name = " nameofnode2" 
CREATE (a)-[: Relation]->(b) 
RETURN a,b 

示例

以下是一个示例 Cypher 查询,它使用 match 子句创建关系。

MATCH (a:player), (b:Country) WHERE a.name = "Shikar Dhawan" AND b.name = "India" 
CREATE (a)-[r: BATSMAN_OF]->(b) 
RETURN a,b 

要执行上述查询,请执行以下步骤。

第 1 步 − 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。 使用 URL http://localhost:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。

浏览器应用程序

第 2 步 − 将所需的查询复制并粘贴到 $ 美元提示符中,然后按以下屏幕截图中突出显示的player按钮(以执行查询)。

Existing Node

结果

执行后,您将得到以下结果。

Executing

创建标签和属性的关系

您可以使用 CREATE 子句创建标签和属性的关系。

语法

以下是使用 CREATE 子句创建标签和属性关系的语法。

CREATE (node1)-[label:Rel_Type {key1:value1, key2:value2, . . . n}]-> (node2) 

示例

以下是一个示例 Cypher 查询,它创建与标签和属性的关系。

MATCH (a:player), (b:Country) WHERE a.name = "Shikar Dhawan" AND b.name = "India" 
CREATE (a)-[r:BATSMAN_OF {Matches:5, Avg:90.75}]->(b)  
RETURN a,b 

要执行上述查询,请执行以下步骤 −

第 1 步 − 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。 使用 URL http://localhost:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。

浏览器应用程序

第 2 步 − 将所需的查询复制并粘贴到 $ 美元提示符中,然后按以下屏幕截图中突出显示的player按钮(以执行查询)。

Label Property

结果

执行后,您将得到以下结果。

Executing

创建完整路径

在 Neo4j 中,路径是使用连续关系形成的。 可以使用 create 子句创建路径。

语法

以下是使用 CREATE 子句在 Neo4j 中创建路径的语法。

CREATE p = (Node1 {properties})-[:Relationship_Type]->
   (Node2 {properties})[:Relationship_Type]->(Node3 {properties}) 
RETURN p 

Example

要执行上述查询,请执行以下步骤 −

第 1 步 − 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。 使用 URL http://localhost:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。

浏览器应用程序

第 2 步 − 将所需的查询复制并粘贴到 $ 美元提示符中,然后按以下屏幕截图中突出显示的player按钮(以执行查询)。

Champions Trophy

结果

执行后,您将得到以下结果。

Result