Neo4j 圖形資料庫(1)
jangwoo 小馬學程式設計 2月8日

序言
隨著今天網際網路不斷的發展,以前像如 oracle,mysql 這樣關係型資料庫已經難以支撐現下大資料量,高併發的場景了。於是,NoSQL橫空出世,有像cassandra這樣的column-based,像MongoDB這樣document-based。今天在這裡看一看graph-based的資料庫,以 Neo4j 為例,並且結合 express 搭建一個簡單應用來模擬一些應用場景。
科普一下基礎知識
圖資料庫名字的由來其實與其在底層的儲存方式有關,Neo4j底層會以圖的方式把使用者定義的節點以及關係儲存起來,通過這種方式,可是高效的實現從某個節點開始,通過節點與節點間關係,找出兩個節點間的聯絡。
可以到官網下載社群版,安裝非常簡單,沒有特別的。
我們還是一貫原則,先睹為快,以後在詳細介紹他介面。今天給大家演示一下如何在 neo4j 中進行增刪改查。
1. 增
進入介面後,便可以在介面的頂部的輸入框中,輸入語句執行操作。
首先建立一個節點,其中 Person 為節點的型別,在{} 中以鍵值對的形式來定義節點屬性。
、

建立後回車執行便可以看到執行結果。

單擊</code>切換到這個檢視,便可以檢視屬性詳細資訊。

在這個檢視中我們可以更加直觀看到剛剛建立的節點

同上方法,我們可以建立多個節點,看一下效果吧

也可通過單擊介面側邊選單中資料庫圖示,在彈出菜中單擊 Person 標籤來以圖形化的形式來檢視所有型別為 Person 的節點。

我們再建立一個其他型別(Movie 吧,我喜歡看電影)的節點,您會發現這時會以不同顏色來表示Movie型別的節點。

在側邊選單中也相應地多了 Movie 對應標籤

建立完節點後,我們也可以為這些建立好的節點追加和修改屬性(Set方法)



接下來我們為這些建立好的節點建立關係,以便將他們關聯起來。
首先通過 MATCH 找出要為其新增關係的節點,這裡 a,b 分別代表一個節點,Person 為節點型別,可以將後面 {} 中的內容想象為查詢條件。然後通過 MERGE 命令來建立節點之間的關係,箭頭方向是有一定意義,不要寫反,箭頭中間 [] 定義了關係物件。



也可以為不同型別的節點指定他們之間的關係。



可以在關係物件中指定關係的屬性。
