天天看點

neo4j入門——neo4j安裝和簡易操作

什麼是neo4j,其優點是什麼?有什麼用。

neo4j是一個圖形資料庫,它的優點是:

  • 它很容易表示連接配接的資料
  • 檢索/周遊/導航更多的連接配接資料是非常容易和快速的
  • 它非常容易地表示半結構化資料
  • Neo4j CQL查詢語言指令是人性化的可讀格式,非常容易學習
  • 它使用簡單而強大的資料模型
  • 它不需要複雜的連接配接來檢索連接配接的/相關的資料,因為它很容易檢索它的相鄰節點或關系細節沒有連接配接或索引

neo4j可以很容易在衆多關系中查詢到指定兩者間的關系,并且将其可視化,直覺快速地找到其之間關系的所有内容。

1. 安裝Java

在安裝neo4j之前,需要先确定你的電腦是否已經安裝Java程式,如果沒有,你可以參考這個安裝教程。https://blog.csdn.net/Good_zwn/article/details/87906599

2. neo4j下載下傳

neo4j下載下傳位址: https://neo4j.com/download-center/#releases

選擇community Server, 選擇windows版本。

下載下傳到你指定的路徑去。

neo4j入門——neo4j安裝和簡易操作

3. 解壓檔案

然後解壓檔案到指定的目錄下,我解壓檔案到我的電腦F盤,之後為了友善我辨認,我将它的檔案夾名稱改成neo4j_execise,你也可以寫成其他名字,但是以英文字母命名(不要出現中文)。解壓後的檔案夾neo4j_execise裡面的内容如下圖:

neo4j入門——neo4j安裝和簡易操作

4. 更改檔案設定

因為我們以後可能電腦裡面會存取多個neo4j資料庫,是以這裡我們就不去設定環境變量了,而是改動檔案裡面的一些設定。來達到我們可以開啟neo4j的目的。

下面更改

F:\neo4j_execise\bin\neo4j.ps1

檔案的一些設定:

查找

Import-Module "$PSScriptRoot\Neo4j-Management.psd1

改為:

Import-Module "F:\June28\GREG\bin\Neo4j-Management.psd1

如果你存放的路徑不同,記得在這裡要改變成相應的路徑。

5. 啟動neo4j

快捷鍵

win+ R

,輸入cmd,運作,

neo4j入門——neo4j安裝和簡易操作

進入到指令行界面,切換目錄到

F:\neo4j_execise\bin

,然後輸入

neo4j.bat console

, 或者輸入

neo4j console

也可以運作neo4j。

neo4j入門——neo4j安裝和簡易操作

然後打開浏覽器,輸入網址:

http://localhost:7474/browser/

首次登入界面如下:

neo4j入門——neo4j安裝和簡易操作

預設密碼是·neo4j·,之後更改成你自己的密碼。

neo4j入門——neo4j安裝和簡易操作

之後的界面如下圖:

neo4j入門——neo4j安裝和簡易操作
neo4j入門——neo4j安裝和簡易操作

6. neo4j簡單代碼入門

在指令行輸入的位置輸入:

:play write-code

,或者點選

write code

之後用快捷鍵Ctrl+Enter進行運作,或者點選最右邊的運作指令。

neo4j就會出現一些例子給你選擇學習了。

neo4j使用的是Cypher語言進行操作的,最主要的是CREATE、MATCH、RETURN、where等語句,下面展示的是這幾個的基本用法。

6.1 建立——CREATE

6.1.1 建立節點

建立節點使用

create

指令。

文法格式

CREATE (
   <node-name>:<label-name>
   { 	
      <Property1-name>:<Property1-Value>
      ........
      <Propertyn-name>:<Propertyn-Value>
   }
)
           

文法說明

neo4j入門——neo4j安裝和簡易操作

建立節點

create(:person{name:'小黃'})
create(:person{name:'老黃'})
create(:person{name:'小黃哥'})
create(:person{name:'小黃姐'})
create(:person{name:'小黃妹'})
create(:person{name:'小黃弟'})
create(:person{name:'小肖'})
create(:person{name:'小黃媽'})
           

這裡我們圍繞小黃同學的家庭設立節點。

person

是label,

name

是屬性(property)。

小黃

等是屬性值(property key)

6.1.2 建立關系

因為我們已經建立了節點,為了避免節點重複,我們先要找到對應的節點,然後建立關系。

找到對應的節點用的是

MATCH

語句。關于

MATCH

文法請看後面

建立關系

match(n:person{name:'小黃'}),(m:person{name:'小黃哥'})
create (n)-[r:home {relationship:'兄弟'}]->(m)
           
match(n:person {name:'小黃'}),
          (dad:person {name:'老黃'}),
          (sister1:person {name:'小黃姐'}),
		(sister2:person {name:'小黃妹'}),
		(bro:person {name:'小黃弟'}),
		(girlfriend:person {name:'小肖'}),
		(mam:person {name:'小黃媽'})
create (n)-[:home {relationship:'父母'}]->(mam),
	(n)-[:home {relationship:'父母'}]->(dad),
	(n)-[:home {relationship:'姐姐'}]->(sister1),
	(n)-[:home {relationship:'妹妹'}]->(sister2),
	(n)-[:home {relationship:'弟弟'}]->(bro),
	(n)-[:friend {relationship:'女朋友'}]->(girlfriend)
           

6.2 查找——MATCH

6.2.1

MATCH

文法

MATCH 
(
   <node-name>:<label-name>
)
           

文法說明

neo4j入門——neo4j安裝和簡易操作

6.2.2 查找節點

查找

小黃

MATCH (n:person{name:'小黃'})
RETURN n
           
neo4j入門——neo4j安裝和簡易操作

查找

小黃

小黃哥

MATCH (n:person{name:'小黃'}),(m:person {name:'小黃哥'})
RETURN n,m
           

6.2.3 查找關系

查找

小黃

小肖

的關系

MATCH p = (n:person{name:'小黃'})-[]->(m:person {name:'小肖'})
RETURN p
           
neo4j入門——neo4j安裝和簡易操作

查找

小黃

和所有人的關系

MATCH p = (n:person{name:'小黃'})-[]->()
RETURN p
           
neo4j入門——neo4j安裝和簡易操作

6.3 篩選——where

where語句是用來篩選節點或關系的。

6.3.1 篩選節點

查找

小黃

指令1

match (n)
where n.name='小黃'
return n
           

指令2

match (n:person)
where n.name='小黃'
return n
           

指令1是周遊所有之後,才根據條件name='小黃’篩選出來的,當節點過多的時候,建議采用指令2去查找,有label這個設定之後,周遊的節點範圍會有所縮小,速度會更快一些,所占用記憶體空間也會減少。

neo4j入門——neo4j安裝和簡易操作

查找

小黃

小黃哥

match (n:person)
where n.name='小黃' or n.name='小黃哥'
return n
           

注意額:我用的是

or

,用

and

就找不到結果咯額。

neo4j入門——neo4j安裝和簡易操作

6.3.2 篩選關系

查找關系是

女朋友

的節點

match p= (n:person)-[r]->(m:person)
where r.relationship='女朋友'
return p
           
neo4j入門——neo4j安裝和簡易操作