neo4j入门使用
创建节点
创建一个简单的“Employee”节点
CREATE (emp:Employee)
emp是一个节点
Employee是一个标签名称
- create的语法
CREATE (
<node-name>:<label-name>
{
<Property1-name>:<Property1-Value>
........
<Propertyn-name>:<Propertyn-Value>
}
)
CREATE (dept:Dept { deptno:10,dname:"Accounting",location:"Hyderabad" })
相当于json????
- 创建节点
xh是节点 person是标签 name是标签的属性 age也是标签的属性
create(xh:person{name:"xh",age:23})
- 创建一个节点多个标签
create(xh:person{name:"xh",age:23} :acmer{score:1700})
#会报错
create(xh:person:acmer{score:1700})
#正常创建
- 创建两个节点之间关系
不能使用(n)-[r]-(m)创建必须使用箭头
match (n:person{name:"xh"}) match (m:company{name:"wc"}) create (n)-[r:join]->(m)
- 创建节点的同时创建关系
create (:person{name:"xh"})-[:join]->(:company{name:"wc"})
- 查找存在关系的结点
match (n:node{lable:1})-[*..3]-(m) return n,m
#[*..3] 表示三条边之内可达的
#[*1..3]表示一条边到三条表可达的
- 查询节点去重
match (n:node{lable:1})-[*..3]-(m) return count( distinct m)
- 查询节点分页
有问题,总是查询出数据多出限制
- 字符串模糊查询
.*表示模糊
MATCH (n:person) where n.name=~".*hao.*" RETURN n
- 查询同时存在两个边的节点
MATCH (n:test)-[:link]-(m)-[:linktest]-(n) RETURN m LIMIT 25
修改节点信息
可以用来添加标签信息(set原本没有值的属性)
match (n:person{name:"xh"}) set n.sex="male"
查询节点信息
- MATCH语法(不能单独使用)
MATCH
(
<node-name>:<label-name>
)
- RETURN(不能单独使用)
RETURN
<node-name>.<property1-name>,
........
<node-name>.<propertyn-name>
组合使用
MATCH (dept: Dept)
RETURN dept.deptno,dept.dname
删除数据
match (n) delete n
match (n)-[r]-(m) delete r,n,m

浙公网安备 33010602011771号