Neo4j圖數據庫

    **創建節點**
CREATE (n:Person { name : 'Andres'});
    生成一個Person類別節點,該節點有一個名爲name的屬性,其值爲Andres

    **創建節點關係**
start a=node(0),b=node(1) create (a)-[n:gift]->(b)return n
    建立兩個節點之間的關係 node(x),x指代節點的下標,cerate(a)-[n:gift]->(b)指a節點通過gift關係指向了b節點

    **屬性查詢**
Match (n: Person) where n.name = 'Bndres' return n
Match (n: Person) where n.age = 12 return n
    通過節點的屬性值去查找節點,條件示例 
            =   等於
            >   大於
            >=  大於等於
            <   小於
            <=  小於等於
            <>  不等於

    **按照ID查詢**
 方法一 Start  n = node(1)  return  n
 方法二  Match  (n:Person)  where  ID(n)=1  return  n 
    按照ID查找節點

    **關係查詢**
正向查詢,當前節點爲主要節點,關係由該節點發出
方法一 
Match (n:Person)-[: gift]->(end:Person) where n.name='Andres'  return end
方法二
Match (n:Person{name: 'Bndres'})-[:gift]->(end:Person) return end   


反向查詢,該節點是關係的接收者,即關係不是由該節點發出
Match (n:Person{name: 'Bndres'})<-[:gift]-(end:Person) return end

無方向查詢,不限定關係的發出者和接收者
Match (n:Person{name: 'Bndres'})-[:gift]-(end:Person) return end

    **刪除節點**
MATCH (n:Person { name:'Andres' })DETACH DELETE n;刪除節點的同時也會把該節點的所有關係也刪除
Match (n:Person{name:'Bndres'}) delete n;用該種方式刪除節點之前,必須確認該節點與其他節點不存在關係,否則必須先刪除其他節點
Match (x:Person{name:'Bndres'})-[r:gift]->(y:Person{name:'Andres'}) delete  r 刪除兩個節點之間指定的關係,該關係由前一個節點發出,本語句中的關係爲gift

    **查詢某個類別下的人數**
    不按照屬性查詢
    Match (n:Person)  return  count(n)
    按照屬性查詢
    方法一:Match (n:Person) where  n.name='Andres'   return  count(n)  
    方法二: Match (n:Person{name:'Andres'})  return  count(n) 
    方法三:    Match (n:Person)  return  count(n.name='Andres')

        **Limit關鍵字查詢**
    Match (n:Person)  return  n  limit  1   查詢Person類別下的1個人

        ** Distinct關鍵字**
    Match (n:Person)   return  distinct(n.name) 依照distinct後面的屬性進行分組

        **Order By**
    Match(n:Person)   return  n  order by n.name        (默認升序)
    Match(n:people)   return  n  order by n.name  asc   (升序)
    Match(n:people)   return  n  order by n.name  desc   (降序)

        **In**
    Match  (n)  where ID(n)  IN[7,3]  return  n 查詢ID爲7或3的節點

        **With**
    Match  (n)   where  n.name  starts(ends)  with 'xx'  return  n 查詢以xx開頭(結尾)的節點

        **Contains**
    Match  (n)  where  n.name  Contains  're'  return  n 模糊查詢 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章