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
posted @ 2020-12-17 23:57  continued258  阅读(103)  评论(0)    收藏  举报