欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Neo4j常用的查询

程序员文章站 2022-07-09 20:51:26
一、添加操作 1. 添加节点: create (x:学生{studentId:'1001',age:20} 2. 添加关系: 对现有的节点添加关系 match (x:学生{studentId:1001}),(y:教师{tid:'09'}) create (x)-[jx:课程{name:'高数'}]- ......

一、添加操作

  1. 添加节点:

    create (x:学生{studentid:'1001',age:20}

  2. 添加关系:

    对现有的节点添加关系

      match (x:学生{studentid:1001}),(y:教师{tid:'09'}) create (x)-[jx:课程{name:'高数'}]->(y)

    添加节点并添加关系

      create (x:学生{studentid:1001})-[jx:课程{name:'高数'}]->(y:教师{tid:'09'}) 

二、删除操作

  1. 删除节点:

    match (x:学生{studentid:1001}) delete x

  2. 删除关系:

    match (x:学生{studentid:1001})-[jx:课程{name:'高数'}]->(y:教师{tid:'09'})  delete jx

  3. 删除关系的同时,删除数据:

    match (x:学生{studentid:1001})-[jx:课程{name:'高数'}]->(y:教师{tid:'09'})  delete x,jx,y

三、查询操作

  1. 根据节点属性查找对应节点:

    match(x:student{studentid:'1001'}) return x

    或者

    match(x:student) where x.studentid='1001' return x

  2. 根据关系查找节点

    match (x)-[r:教学内容]-(y) where r.课程='语文' return x,r,y

  3. 查询单独的节点,即:与其他任何节点没有任何关系

    match(x) where not (x)-[]-() return x

  4. 查询n层关系的节点:

    match q=(x)-[*5..8]-() return q limit 200 这个为查询5到8层关系的

    match q=(dh)-[r]-(jq)-[rr]-()-[]-()-[]-()-[]-()-[]-()-[]-() return q limit 400

  5. 查询节点关系数个数:

    match(dh:`学生`)-[r]-(jq:`老师`) with dh, count(r) as dhs where dhs > 2 return dh

  6. 查询节点个数:

    match(x) return count(x)

  7. 查询所有的关系类型:

    call db.relationshiptypes()

  8. 查询所有的节点标签:

    call db.labels()

   9. 查询节点关系种类:

    call db.schema()

  暂时先写这么多吧,想起来了再添加