首页 > 其他 > 详细

Neo4j常用的查询

时间:2019-06-27 17:33:16      阅读:130      评论:0      收藏:0      [点我收藏+]

一、添加操作

  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()

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

Neo4j常用的查询

原文:https://www.cnblogs.com/mzyn22/p/11098285.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!