Neo4j 创建关系

Neo4j 创建关系

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

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

建立关系

我们可以使用 CREATE 子句创建关系。 我们将在方括号[]中指定关系,具体取决于连字符-和箭头之间的关系方向,如以下语法所示。

语法

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

复制代码
CREATE (node1)-[:RelationshipType]->(node2) 

示例

首先在数据库中创建两个节点 Jiyik 和 Chi ,如下图。

复制代码
CREATE (Jiyik:player{name: "迹忆客", YOB: 1991, POB: "Delhi"}) 
CREATE (Chi:Country {name: "China"})

现在,在这两个节点之间创建一个名为 BATSMAN_OF 的关系:

复制代码
CREATE (Jiyik)-[r:BATSMAN_OF]->(Chi) 

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

复制代码
RETURN Jiyik, Chi 

在现有节点之间创建关系

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

语法

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

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

示例

以下是使用 match 子句创建关系的 CQL 的示例 。

复制代码
MATCH (a:player), (b:Country) WHERE a.name = "迹忆客" AND b.name = "China" 
CREATE (a)-[r: BATSMAN_OF]->(b) 
RETURN a,b 

下面是运行的结果


使用标签和属性创建关系

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

语法

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

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

示例

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

复制代码
MATCH (a:player), (b:Country) WHERE a.name = "迹忆客" AND b.name = "China" 
CREATE (a)-[r:BATSMAN_OF {Matches:5, Avg:90.75}]->(b)  
RETURN a,b 

执行完成后,我们将得到以下结果。


创建完整路径

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

语法

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

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

示例

下面我们看一个 CQL 创建完整路径的示例

复制代码
CREATE p = (Jiyik {name:"迹忆客"}) - [:TOPSCORRER_OF]->
        (Chi{name:"China"}) - [:WINNER_OF] -> (CT2013{name:"Champions Trophy2013"}) 
RETURN p

执行完成后,我们将得到如下的结果。

相关推荐
考虑考虑7 小时前
数据库中的EXISTS
运维·数据库·后端
Wang's Blog8 小时前
Java框架快速入门: Spring Security+OAuth2之数据库和实体类的RBAC改造
java·数据库·spring
Niuguangshuo8 小时前
论文解读:CTC,端到端序列识别的开山之作
算法·语音识别
讳疾忌医丶8 小时前
深度拆解 RocksDB 内核:基于 C++17 的 FIFO 调度状态机与温度阶梯自愈设计
java·c++·算法·架构
高亦真8 小时前
今天是学习嵌入式的第37天
linux·学习·算法
梦想平凡9 小时前
百游棋牌源代码开发搭建教程(十):隔离部署、备份恢复与双端验收
java·前端·javascript·数据库·源代码管理
xcLeigh9 小时前
让大模型长出手脚,自己写SQL查数据库(Function Calling初探)
数据库·人工智能·sql·时序数据库·timechoai
yume_sibai10 小时前
06-Rust Web 开发实战(Axum 框架 + 数据库 + JWT 认证 + 中间件 + 部署)
前端·数据库·rust
罗西的思考10 小时前
[Agent Memory / 强化学习] MemPO源码学习笔记 --- (2)--- 训练
人工智能·算法·机器学习
AugustRed11 小时前
Neo4j 图数据库原理 + 应用场景简单介绍
数据库·neo4j