Neo4j 图数据库Cypher语法基础


  Cypher是Neo4J的声明式图形查询语言,允许用户不必编写图形结构的遍历代码,就可以对图形数据进行高效的查询。Cypher的设计目的类似SQL,适合于开发者以及在数据库上做点对点模式(ad-hoc)查询的专业操作人员。其具备的能力包括: - 创建、更新、删除节点和关系 - 通过模式匹配来查询和修改节点和关系 - 管理索引和约束等。


 

创建节点:

CREATE (n:`涅法雷姆` {name:'拉斯玛'}) RETURN n

涅法雷姆是标签,代表新的节点是一个“涅法雷姆”;{}花括号内为节点的属性,其中name的值为拉斯玛。

 

查询节点:

MATCH (n:`涅法雷姆` {name: '布尔凯索'}) return n

查询标签为涅法雷姆并且属性name为布尔凯索的节点。

 

删除节点:

MATCH (n:`涅法雷姆` {name: '伊苏'}) DELETE n

删除属性name为伊苏的涅法雷姆。

 


 

添加关系:

MATCH (a:`天使` {name:'伊纳瑞斯'}), (b:涅法雷姆 {name:'拉斯玛'}) CREATE (a)-[r:`父亲`]->(b)

创建一条由天使伊纳瑞斯指向涅法雷姆拉斯玛的边,边的名字为父亲。直观来讲就是创建了伊纳瑞斯与拉斯玛的父子关系。

 

查询关系:

MATCH p=(a:`恶魔` {name: '莉莉丝'})-[r:`母亲`]->() RETURN p

查询由恶魔莉莉丝节点开始的所有名为母亲的边。直观来讲就是查询莉莉丝的所有孩子。

 

删除关系:

MATCH (a:`天使`)-[r:`父亲`]-(b:`涅法雷姆`) DELETE r

删除所有天使与涅法雷姆的父亲关系。

 


 

添加/修改节点属性:

MATCH (n:`涅法雷姆` {name: '拉斯玛'}) SET n.desc = '第一个涅法雷姆,也是死灵法师们的祖师爷'

为涅法雷姆拉斯玛增加属性desc,并设置值为“第一个涅法雷姆,也是死灵法师们的祖师爷”。若属性已存在则会修改原值。

 

删除节点属性:

MATCH (n:`涅法雷姆` {name: '拉斯玛'}) REMOVE n.desc

删除涅法雷姆拉斯玛的属性desc。

 


 

删除节点+关系:

MATCH (n:`涅法雷姆`) DETACH DELETE n

在DELETE前加上DETACH就可以删除MATCH匹配到的节点本身和它的所有关系。

 


 

创建索引:

CREATE INDEX ON :`涅法雷姆`(name)

为标签涅法雷姆的属性name创建索引。

 

删除索引:

DROP INDEX ON :`涅法雷姆`(name)

删除标签涅法雷姆属性name的索引。

 


 

 

 

posted @   何效名  阅读(304)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示