Neo4j学习3操作图数据库的语

Cypher是一种用来处理图数据库的语言,语法比较简单。1查询数据库里的数据

match(n)returnn

match是匹配规则,(n)表示所有节点,语法要求加上小括号。returnn表示返回匹配到的所有节点

1.png

刚安装完,数据库里没有数据。所以显示“norecords”。

2创建一个节点

CREATE(p1:Person{name:"LiuDa",age:20})

p1是变量名,Person是节点名,{}内包含了节点的两个属性。

2-1.png

查询数据库中的所有节点

match(n)returnn2-2.png

3删除单节点

match(p1:Person)detachdeletep13-1.png

查询数据库中的节点,如果删除成功的话,此时数据库里没有节点

3-2.png

4创建两个节点并建立关系

create(p1:Person{name:"LiuDa",age:20}),(p2:Person{name:"ChenEr",age:22}),(p1)-[:KNOWS]-(p2)4-1.png

这里创建了两个节点,并且LiuDa知道ChenEr,但ChenEr不知道LiuDa查询这两个节点及关系

MATCH(p1:Person)-[KNOWS]-(p2:Person)returnp1,KNOWS,p24-2.png

5删除两个节点和它们的关系注意,neo4j删除节点时,要求把关系一并删除掉。不能只删除节点,不删除关系。

MATCH(p1:Person)-[KNOWS]-(p2:Person)DELETEp1,KNOWS,p25-1.png

查询所有节点

5-2.png

6为节点增加属性

create(p1:Person{name:"LiuDa"})6-1.png

match(p1)setp1.age=-2.png6-3.png

7修改节点属性

match(p1)setp1.age=-1.png7-2.png

8查找节点的共有属性

CREATE(p2:Person{name:"LiuEr",age:15,learn:"MuayThai"}),(p3:Person{name:"ZhangSan",age:25,sex:“Male”}),(p4:Person{name:"LiSi",age:30,hobby:"MuayThai"}),(p2)-[:KNOWS]-(p3),(p3)-[:KNOWS]-(p2),(p3)-[:KNOWS]-(p4)8-1.png

LiuEr和ZhangSan互相认识,ZhangSan认识LiSi,LiSi不认识ZhangSan和LiuEr,LiuEr正在学习泰拳,LiSi的爱好是泰拳。

8-2.png

MATCH(x)-[:KNOWS]-()-[:KNOWS]-(fighter)WHEREx.name="LiuEr"andfighter.hobby="MuayThai"RETURNfighter

这里先找出p2认识的人,因为这个人不是最终要找的人,所以()里不用填写变量名,再通过这个人找出业余爱好为泰拳的人,这个人用变量fighter来表示。

8-3.png

9删除所有节点先看数据库里有多少个节点

match(a)returna9-1.png

删除所有节点和关系

9-2.png

再次查询数据库里的所有节点

9-3.png

10导入csv数据从







































白癜风带的中药验方
北京哪家治疗白癜风最好



转载请注明:http://www.xcqg58.com/zyyd/8551.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了