neo4j的搭建和例項使用

2021-09-29 03:31:40 字數 2391 閱讀 8767

一. 簡介

neo4j是當今最流行的圖資料庫,基於 節點+關係 的架構,儲存了圖形資料的基本元素。同時,資料庫也支援通過基礎資料元素和獨特的cql查詢語法,快速方便的檢索、構建複雜的圖表關係結果。

二. 基礎知識

windows安裝方法: 安裝方法

cql基本語法:基本語法

三. 例項

我想構建乙個父子繼承關係的圖表結構,以蘇洵蘇軾家族為例,先建節點node如下:

create(suxun:person_)

create(sushi:person_)

create(suzhe:person_)

create(suxiaomei:person_)

create(susun:person_)

create(suxiaosun:person_)

其中有些節點人名為虛構,為了建立例項方便。  

因為我資料庫中先前已有person標籤名做了其他的測試,為避免重複和歧義,本例中標簽名起為"person_"。

對於節點之間的關係,為 :

蘇洵-------|------蘇軾 --------------蘇孫 ---------------蘇重孫

|------蘇轍

|------蘇小妹

因此建立結構的cql為:

match(p1:person_),(p2:person_)

where p1.name="蘇洵" and p2.name = "蘇軾"

create (p1) -[parent:parent]-> (p2);

match(p1:person_),(p2:person_)

where p1.name="蘇洵" and p2.name = "蘇轍"

create (p1) -[parent:parent] -> (p2);

match(p1:person_),(p2:person_)

where p1.name="蘇洵" and p2.name = "蘇小妹"

create (p1) -[parent:parent] -> (p2);

match(p1:person_),(p2:person_)

where p1.name="蘇軾" and p2.name = "蘇孫"

create (p1) -[parent:parent] -> (p2);

match(p1:person_),(p2:person_)

create (p1) -[parent:parent] -> (p2);

其中有兩種方法: 

第一種用where進行節點篩選,例如 where p1.name="蘇洵" and p2.name = "蘇軾"

第二種用屬性進行節點篩選,例如match(p1:person_),(p2:person_)

兩種方法都可以達到效果

最終結果為:

使用match進行篩選,並且拼裝成樹狀結構:

可以發現,查出來的圖形雖然是只有一條鏈路,但其實代表兩條資料,各**節點,如下

那如果要查詢某個節點開始的**結構呢?

這樣就只篩選得到的是以「蘇洵」為頂點的**結構,依次是「蘇洵」-->「蘇軾」-->「蘇孫」

可看到只有一條資料

Neo4j簡單使用

節點 乙個圖形的乙個基本單元 屬性 描述節點及關係的鍵值對 關係 連線兩個節點的部分,具有方向 標籤 由節點或關係組成,乙個節點可以包含多個標籤 neo4j中使用的資料庫查詢語言是cypher,是一種類sql的宣告式語言,簡稱cql。現簡單示例增刪改查操作。操作一 增 不同於sql中的insert插...

neo4j使用總結

埠配置 外掛程式配置 dbms.jvm.additional dunsupported.dbms.udc.source tarball org.neo4j.server.thirdparty jaxrs classes org.neo4j.tableau.wdc tableau wdc dbms.s...

Neo4j使用操作

neo4j zip環境設定 1 windows 下安裝 2 neo4j啟動 開啟cmd命令列,找到neo4j安裝目錄 在瀏覽器中開啟neo4j操作頁面 輸入賬號密碼,點選connect即可訪問資料庫。注 初始使用者名稱密碼都是neo4j,首次開啟需要修改密碼。資料庫訪問 成功連線資料庫之後進入上圖頁...