本文主要是介绍neo4j-cypher语言使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
neo4j-cypher语言使用
- neo4j的本质就是节点+关系。
- 节点是用小括号来表示,(节点:节点标签 {属性名称:属性值})
- with 本质是with(变量) 传送到下一个语句,with 子处理(变量), with 查询return 变量。
- unwind 本质就是for 循环。unwind(列表) as x 就是 for x in 列表
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免费版不能创建数据库
create database test
show databases
use test
增
# 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]
查
# match
match(n:boss) where n.addr='huashengdun' return n.name, n, n.addr
match (n) return n (所有)# merge, 增强查 查不到就创建,
merge (n:boss)
删
# delete
match(n:boss) delete n
改
# set
match (n:boss) where name='biden' set n.name='aobama'
排
# order by
match(n:boss) order by n.id
聚合
# count(), max/min/avg/sum
创建索引
# 给节点的属性创建索引
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)
这篇关于neo4j-cypher语言使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!