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)
相关推荐
数据库小组2 小时前
2026 年,MySQL 到 SelectDB 同步为何更关注实时、可观测与可校验?
数据库·mysql·数据库管理工具·数据同步·ninedata·selectdb·迁移工具
华科易迅2 小时前
MybatisPlus增删改查操作
android·java·数据库
Kethy__3 小时前
计算机中级-数据库系统工程师-计算机体系结构与存储系统
大数据·数据库·数据库系统工程师·计算机中级
SHoM SSER3 小时前
MySQL 数据库连接池爆满问题排查与解决
android·数据库·mysql
熬夜的咕噜猫3 小时前
MySQL备份与恢复
数据库·oracle
jnrjian4 小时前
recover database using backup controlfile until cancel 假recover,真一致
数据库·oracle
lifewange4 小时前
java连接Mysql数据库
java·数据库·mysql
大妮哟4 小时前
postgresql数据库日志量异常原因排查
数据库·postgresql·oracle
还是做不到嘛\.5 小时前
Dvwa靶场-SQL Injection (Blind)-基于sqlmap
数据库·sql·web安全
不写八个5 小时前
PHP教程004:php链接mysql数据库
数据库·mysql·php