图数据库(三):Neo4j中的Create和Merge

在上篇文章中,我们介绍了在项目中如何使用Java来操作Neo4j图数据库。今天我们就仔细的学习一下,Neo4j中如何创建节点,以及Create和Merge的区别使用。

Create的简单用法

在Neo4j中,我们使用Create来创建节点。

create(n:Role{name:"主角",age:10}) return n

我们创建一个Role标签的节点,属性name的值为主角,age的值为10

on create

在Neo4j中我们有时候也会用到On Create,这是一个限定条件,当创建的时候才执行,不创建就不执行,经常是配合Merge使用所以接下来我们先了解一下Merge的用法

Merge的用法

Merge的用法其实可以看成Create和Match的结合,它能保证元素一定存在,如果不存在就创建一个节点

merge(n:Role{name:"主角",age:11}) 

如上,我们会查询Role标签,如果找到属性name值为主角,age值为11的节点,就返回不然就创建一个节点。

MATCH  (n:Person {name:'tom'}), (m:Person {name:"jarry"}) 
MERGE (n)-[r:friend]->(m) 
RETURN r

也可以查询两个节点,如果查询到在查看节点之间是否是friend的关系,如果是就返回,如果两个节点之间没关系就建立一个friend的关系。

merge(n:Role{name:"主角",age:11}) On create set n.age=13 return n

Merge通常也会与On Create一起使用,如上查看Role标签是否存在一个name为主角,age为11的节点,如果有就返回,如果没有就创建一个节点,但是由于有On Create表示如果创建了节点就修改age的值为13

On match

有On Create同样的也就有On match,它们的用法都是相似的

merge(n:Role{name:"主角",age:11}) On match set n.age=13 return n

查看Role标签是否存在一个name为主角,age为11的节点,如果有就修改age的值为13,如果没有就创建一个节点

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值