neo4j-cypher语言使用

neo4j-cypher语言使用

  1. neo4j的本质就是节点+关系。
  2. 节点是用小括号来表示,(节点:节点标签 {属性名称:属性值})
  3. with 本质是with(变量) 传送到下一个语句,with 子处理(变量), with 查询return 变量。
  4. unwind 本质就是for 循环。unwind(列表) as x 就是 for x in 列表
cypher 复制代码
WITH [1, 2,4] AS a,[3, 4] AS b
with  a + b as c
unwind c as x 
return x order by x desc 
'''
4
4
3
2
1
'''
数据库相关操作

注意neo4j免费版不能创建数据库

cypher 复制代码
create database test
show databases
use test
cypher 复制代码
# create创建节点(node_name只是一个指代)
create (node_name:node_label{key1:value1, key2:value2,...})
create (n:boss{name:'biden', addr:'huashengdun'}) 
# create(创建有方向关系)
create (node_name:node_label)-[r:relation_name]->(node_name:node_label)
create (p1:boss)-[r:employ]->(p2:coder)
# merge (创建无方向关系)
create (p1:boss)-[r:marry]-[p1:boss_laopo]
cypher 复制代码
# match
match(n:boss) where n.addr='huashengdun' return n.name, n, n.addr
match (n) return n (所有)

# merge, 增强查 查不到就创建,
merge (n:boss)
cypher 复制代码
# delete
match(n:boss) delete n
cypher 复制代码
# set
match (n:boss) where name='biden' set n.name='aobama'
cypher 复制代码
# order by
match(n:boss) order by n.id
聚合
cypher 复制代码
# count(), max/min/avg/sum
创建索引
cypher 复制代码
# 给节点的属性创建索引
create index if not exists for (n:Lablename) on (n.proper1, n.proper2, n.proper3)
                                                 
# 给关系的属性创建索引
create index if not exists for ()-[r:Labelname]-() on (r.proper1, r.proper2)
相关推荐
YangYang9YangYan1 小时前
2026 校招商品分析岗位 JD 拆解,核心指标、工具与面试考点
大数据·数据库·数据分析
西安栈上月明软件科技2 小时前
从业务黑话到本体图谱:OAG本体建模五步法(西安老系统AI化改造实战)
数据库·人工智能·架构
anxiao_m2 小时前
跨云跨机房大数据迁移怎么选?不同场景工具适配指南
数据库·云启快传
风哥2号4 小时前
数据库教程FGMT43‑MySQL性能分析与优化调整
数据库·mysql
随身数智备忘录4 小时前
财务数据分析如何与业务场景结合?财务数据分析如何从数出有据到数出有用?
数据库
这个DBA有点耶5 小时前
数据库教程:从零基础到实战的完整学习路径(2026版)
数据库·程序员·代码规范
forestsea6 小时前
从零构建 Java 智能体 RAG 系统:Milvus 向量数据库实战指南
java·数据库·milvus
probex_6 小时前
从 ByConity 到 VictoriaMetrics:一次指标数据迁移引发的四种存储对比
数据库
Patrick在香港7 小时前
Python 审计香港开放数据目录:两个端点差 10 倍,只有 9.3% 的资源标了「最后修改时间」
开发语言·数据库·python·数据分析·api·数据治理·开放数据
这个DBA有点耶7 小时前
自增主键用尽了怎么办?INT溢出、在线迁移与预防策略全解析
数据库·mysql·代码规范