Windows10 下 Neo4j1.5.8 安裝教學

2023-07-21 18:05:25

前言

Neo4j 是一個高效能的、NOSQL 圖形資料庫,它將結構化資料儲存在網路上而不是表中。基於磁碟的、具備完全的事務特性的 Java 持久化引擎,這裡就不把他和常用關係型資料庫做對比了。因為篇幅有限,我這裡也是第一次使用,所以以下完全是保姆級的安裝教學了。

 

安裝步驟

1. 開啟 Neo4j 官網,找到 「Developers」 選擇 「Download Center

 

2. 其中有企業版,社群版和桌面版提供下載,這裡我選擇 「Neo4j Desktop」,如果是部署可以選擇社群或企業。

 

3. 選擇 Windows 的 exe 進入,要求先填寫資訊後下載,彈出下載框後不要關閉網頁,待會需要裡面的啟用碼。

 

4. 由於 Neo4j 是磁碟儲存,開啟後先設定資料的儲存位置。

 

5. 然後回到下載後的官網,複製啟用碼,貼上到工具的 「Software key」 裡。

 

使用方法

1. 測試服務

先看一下服務是否已經開啟,開啟預設的資料庫,可以看到連線地址,各種協定的埠。

 

2. 開始連線

開啟瀏覽器,輸入 127.0.0.1:7474,賬號密碼都輸入 neo4j 發現登陸失敗,報錯:Neo.ClientError.Security.Unauthorized: The client is unauthorized due to authentication failure

 

3. 修改密碼

找到 neo4j 服務桌面端,找到預設的資料庫,找到 「Reset DBMS Password」,然後再重新輸入使用者 「neo4j」 和新密碼進行登陸。

 

4. 使用者端面板

登陸成功後就可以看到 neo4j 的預設資料庫 「Movide DBMS」 裡的資料節點和內容了。

 

實操

1. 建立專案

在 Project 中 New 一個專案,然後新增一個 「Local DBMS」,再設定名稱和密碼,建立完畢後點選啟動。

 

2. web 使用者端登陸

根據建立後提供的地址和埠,在瀏覽器裡存取,輸入使用者名稱和設定的密碼後就會進入對應的圖了。

3. 依賴安裝

在 python 專案中新增 「py2neo」 包,然後再檢測試一下連線,節點建立和關係邊建立。

pip install py2neo -i https://pypi.tuna.tsinghua.edu.cn/simple

 

4. 測試建立節點和關係邊

import os
import json
from py2neo import Graph,Node

class ThingGraph:
    def __init__(self):
        self.neo4j = Graph(
            host="127.0.0.1",  # neo4j 搭載伺服器的ip地址,ifconfig可獲取到
            http_port=7474,  # neo4j 伺服器監聽的埠號
            user="neo4j",  # 資料庫user name,如果沒有更改過,應該是neo4j
            password="beiqiaosu123456")

    def create_nodes(self):
        class_name = ["手機", "筆電", "平板", "遊戲機", "桌上型電腦"]
        brand = ["蘋果", "華為", "小米", "Vivo", "Oppo"]
        goods = ["蘋果 iPhone 4S", "華為 nova 3e", "華為 T8620", "聯想ThinkPad W701"]
        return self.create_node('Goods', goods)

if __name__ == "__main__":
    things_graph = ThingGraph()
    things_graph.create_nodes()

執行程式碼時如果出現 The following settings are not supported: {'http_port': 7474},是因為安裝的 py2neo 版本過高,可以下降其版本再執行。

pip install py2neo==4.3.0 -i https://pypi.douban.com/simple

降低 py2neo 版本後執行後發現依舊報錯,AttributeError: 'NoneType' object has no attribute 'pool',主要還是無法連線 Neo4j,排查後發現是之前的寫法不對,而且安裝最新版的 neo4j,同樣的 py2neo 也要較新的。

# 建立一個名為 'Person' 的節點
person = Node('Goods', name='T8620')
# 建立一個 Graph 物件,並指定資料庫連線資訊
graph = Graph('bolt://localhost:7687', auth=('neo4j', 'beiqiaosu123456'))
# 將節點新增到 Graph 中
graph.create(person)

我把 py2neo 包刪掉後,沒有指定版本安裝的是 py2neo 2021.2.3,執行程式碼後再在瀏覽器檢視,已經建立了節點 「Goods」,後面資料同步和關聯邊操作,要等完成了知識問答系統後再總結分享了。