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的索引。
欢迎转载,转载时请注明来源。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端