【Neo4j02】CQL命令_关系基础

关系基础

Neo4j图数据库遵循属性图模型来存储和管理其数据。

根据属性图模型,关系应该是定向的。 否则,Neo4j将抛出一个错误消息。

基于方向性,Neo4j关系被分为两种主要类型。

1.单向关系 2.双向关系

在以下场景中,我们使用CREATE命令来创建两个节点之间的关系。这些情况同时适用于单向和双向关系。

1.在两个现有节点之间创建无属性的关系

2.在两个现有节点之间创建与属性的关系

3.在两个新节点之间创建无属性的关系

4.在两个新节点之间创建与属性的关系

5.在具有WHERE子句的两个退出节点之间创建/不使用属性的关系

如图在Customer和CreditCard的关系中:
在这里插入图片描述

Customer是从节点(From Node),CreditCard是到节点(To Node)。

对于Customer,Relationship是外向关系;对于CreditCard,Relationship是到达关系。

而对于一个双向关系,等同于在Customer和Creditcard节点之间创建了两个关系:
在这里插入图片描述

对现有节点创建没有属性的关系

语法
MATCH (<node1-label-name>:<node1-name>),(<node2-label-name>:<node2-name>)
CREATE  
	(<node1-label-name>)-[<relationship-label-name>:<relationship-name>]->(<node2-label-name>)
RETURN <relationship-label-name>

在此语法中,RETURN子句是可选的,当想要立即看到结果,可以使用他。

例如我们创建标签名为XuHuan的x节点,和标签名为FengWeiheng的f节点:
在这里插入图片描述
在这里插入图片描述
通过以下命令创建x节点和f节点之间的关系IS_HIS_FATHER:
在这里插入图片描述
Graph形式下关系如下,可以通过单击节点和关系查看他们的属性。
在这里插入图片描述

对现有节点创建有属性的关系

语法
MATCH (<node1-label-name>:<node1-name>),(<node2-label-name>:<node2-name>)
CREATE  
	(<node1-label-name>)-[<relationship-label-name>:<relationship-name>
	{<define-properties-list>}]->(<node2-label-name>)
RETURN <relationship-label-name>

例如我们对现有的标签名为FengWeiheng的节点f和标签名为ZangRuiqing的节点f创建关系IS_HIS_SISTER:
在这里插入图片描述
Graph形式下关系如下,可以点击关系查看关系的属性。
在这里插入图片描述

对新节点创建无属性关系

语法
CREATE  
   (<node1-label-name>:<node1-name>)-
   [<relationship-label-name>:<relationship-name>]->
   (<node1-label-name>:<node1-name>)
RETURN <relationship-label-name>

例如我们创建标签名为ZhengJuntai的节点j和标签名为HeShi的节点h创建关系IS_HIS_PET:
在这里插入图片描述
Graph形式下关系如下:
在这里插入图片描述

对新节点和现有节点创建有属性的关系

对标签名为XiaoBowen的新节点和现有节点标签名为x的XuHuan创建有属性的关系IS_HIS_GRANDSON:
在这里插入图片描述
经过一番折腾,博主终于将他和他的朋友们的家谱创建好啦!
在这里插入图片描述

检索关系节点的详细信息

语法
MATCH 
(<node1-label-name>)-[<relationship-label-name>:<relationship-name>]->(<node2-label-name>)
RETURN <relationship-label-name>

例如我们检索关系为IS_HIS_GRANDSON的两个节点,并返回他们:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值