Neo4j經常使用的查詢

1、添加操做ip

  1. 添加節點:it

    create (x:學生{studentId:'1001',age:20}io

  2. 添加關係:im

    對現有的節點添加關係數據

      match (x:學生{studentId:1001}),(y:教師{tid:'09'}) create (x)-[jx:課程{name:'高數'}]->(y)查詢

    添加節點並添加關係db

      create (x:學生{studentId:1001})-[jx:課程{name:'高數'}]->(y:教師{tid:'09'}) 標籤

2、刪除操做co

  1. 刪除節點:let

    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

3、修改節點

  1. 給節點添加一個新的屬性,兩種方式:

    match(x:學生{studentId:'1001'}) set x.age=21 return x

    match(x:學生{studentId:'1001'}) set x+={age:21} return x

  2. 給節點添加屬性並刪除現有屬性

    match(x:學生{studentId:'1001'}) set x={age:21,name:'abc'} //注意這裏,會將studentId屬性刪除

  3. 添加新標籤:

    match(x:學生{studentId:'1001'}) set x:男生 return x  //添加一個標籤

    match(x:學生{studentId:'1001'}) set x:男生:團員 return x  //添加多個標籤

4、查詢操做

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

  暫時先寫這麼多吧,想起來了再添加

相關文章
相關標籤/搜索