為何使用Neo4j?
? “象網(wǎng)PMP”微信小程序需要增加AI問答功能,項(xiàng)目管理領(lǐng)域各種術(shù)語之間的連接關(guān)系具有多層結(jié)構(gòu),比如某過程具有多項(xiàng)輸入、輸出、工具與技術(shù),而某項(xiàng)輸入輸出又可能是其他過程的輸入輸出、同時(shí)各工具與技術(shù)被多個(gè)過程共享,采用傳統(tǒng)關(guān)系數(shù)據(jù)庫顯然無法直觀存儲(chǔ)這種多層次的交叉關(guān)系,即使可以轉(zhuǎn)為二維關(guān)系保存下來,在查詢時(shí)也需要用代碼建立各概念之間的多層連接關(guān)系。另外,當(dāng)對(duì)象之間的關(guān)系改變時(shí)更新表中的信息相當(dāng)麻煩。
? ? Neo4j可以解決上述問題。
????Neo4j是一個(gè)高性能的圖形數(shù)據(jù)庫,它基于磁盤,將結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)在網(wǎng)絡(luò)上而不是表中,具有事物特性。它不支持SQL語句,屬于NOSQL數(shù)據(jù)庫。但支持類似面向?qū)ο蟮牟樵冋Z句,一旦存儲(chǔ)了節(jié)點(diǎn)和邊之間的關(guān)系后,進(jìn)行復(fù)雜查詢更加直觀簡單。
? ? 下面記錄一下安裝過程。說明:我的服務(wù)器環(huán)境是Centos7.4。
? ? ? 注意:neo4j需要Java環(huán)境,可以安裝Oracle Java8,或者OPEN JDK9,我裝的是主流JDK8,參考另外文章?CentOS7安裝JDK8
一、下載解壓
????訪問neo4j官網(wǎng)下載:https://neo4j.com/,注意點(diǎn)擊“Download Neo4j Server”按鈕,下載服務(wù)器版本的社區(qū)版即可,我下載的版本是Neo4j 3.5.13,發(fā)布于2019年11月27日。
? 下載的文件名為 neo4j-community-3.5.13-unix.tar.gz,上傳至服務(wù)器目錄。
? 解壓縮:tar -xf neo4j-community-3.5.13-unix.tar.gz
二、修改配置文件
????默認(rèn)只能從本機(jī)即localhost訪問,如果需要其他機(jī)器也能訪問要修改配置文件
????vim neo4j-community-3.5.13/conf/neo4j.conf
????找到這行,#dbms.connectors.default_listen_address=0.0.0.0,把#注釋去掉
????為確保圖形界面訪問成功,把下面注釋也去掉
????dbms.connector.bolt.enabled=true
????dbms.connector.bolt.tls_level=OPTIONAL
????dbms.connector.bolt.listen_address=:7687
????dbms.connector.http.enabled=true
????dbms.connector.http.listen_address=:7474
????dbms.connector.https.enabled=true
????dbms.connector.https.listen_address=:7473
三、啟動(dòng)neo4j
????后臺(tái)啟動(dòng)neo4j的命令為: neo4j-community-3.5.13/bin/neo4j start? (控制臺(tái)啟動(dòng)命令是bin/neo4j console),后臺(tái)啟動(dòng)成功的界面如下:

????重啟動(dòng)命令是neo4j?restart,每次修改配置文件都要重啟動(dòng)neo4j。查看服務(wù)狀態(tài)neo4j status,停止服務(wù) neo4j stop。數(shù)據(jù)備份命令: neo4j-admin dump --database=graph.db --to=/home/abc.dump;數(shù)據(jù)恢復(fù)命令:neo4j-admin load --from=/home/abc.dump --database=graph.db --force
四、遠(yuǎn)程訪問
????打開瀏覽器,輸入服務(wù)器IP:7474,登錄界面默認(rèn)填充了用戶名neo4j,輸入默認(rèn)密碼neo4j后,按提示修改密碼,進(jìn)入neo4j,OK成功。

注意:如果無法訪問的話多半是服務(wù)器防火墻或云服務(wù)器的安全控制,放行相關(guān)端口即可,主要是7474端口和7687端口,前者是允許瀏覽器訪問端口,后者是數(shù)據(jù)庫訪問端口