前言
neo4j是較為知名的圖數(shù)據(jù)庫(kù),也常常用在知識(shí)圖譜領(lǐng)域,用來(lái)存儲(chǔ)實(shí)體和實(shí)體屬性,實(shí)體關(guān)系等,可以說(shuō)是構(gòu)建知識(shí)圖譜非常有用的工具。neo4j主要有以下幾個(gè)優(yōu)點(diǎn):
- 采用原生圖(Native Graph)存儲(chǔ)和處理數(shù)據(jù):提供最優(yōu)化的關(guān)系遍歷執(zhí)行效率,比關(guān)系數(shù)據(jù)庫(kù)的表連接快上千倍
- 基于(標(biāo)簽)屬性圖模型:支持豐富的數(shù)據(jù)語(yǔ)義描述、并且兼具靈活性
- 基于純Java實(shí)現(xiàn),支持最廣泛的操作系統(tǒng)和最便捷的部署,支持云端和容器部署
- 提供面向圖分析和模式匹配、聲明型的Cypher查詢語(yǔ)言,直觀、簡(jiǎn)介、易于理解
- 豐富的驅(qū)動(dòng)語(yǔ)言支持:官方發(fā)布的有Java, JavaScript, Python, .Net和GO。另外還有社區(qū)用戶提供的C/C++, R, JDBC, Python等各類語(yǔ)言驅(qū)動(dòng)
就是因?yàn)橛幸陨线@些優(yōu)點(diǎn),neo4j具有最具規(guī)模和最活躍的社區(qū):社區(qū)版累計(jì)下載次數(shù)超過(guò)1千3百萬(wàn),社區(qū)活躍技術(shù)人員超過(guò)5萬(wàn),每年線上線下技術(shù)交流聚會(huì)超過(guò)400場(chǎng)。github上與Neo4j相關(guān)項(xiàng)目超過(guò)1萬(wàn)個(gè)。
筆者最近在研究有關(guān)知識(shí)圖譜的任務(wù),選擇用圖數(shù)據(jù)庫(kù)neo4j。但是只通過(guò)neo4j中直接創(chuàng)建節(jié)點(diǎn)和關(guān)系,顯得效率過(guò)于低下,于是想通過(guò)python直接對(duì)neo4j進(jìn)行操作。這篇博客用來(lái)記錄安裝過(guò)程和遇到的問(wèn)題和解決方法。
安裝流程
首先進(jìn)入neo4j官網(wǎng)下載頁(yè)面,可以看到,這個(gè)數(shù)據(jù)庫(kù)主要包含三個(gè)版本:企業(yè)版,社區(qū)版和桌面版。筆者這里選擇的社區(qū)版4.4.18,免費(fèi)版本的下載,這里建議下載這個(gè)Linux / Mac Executable這個(gè)版本,下載完成之后,直接解壓并可以使用。
解壓壓縮包命令:
tar -axvf neo4j-community-4.4.18-unix.tar.gz
解壓之后,進(jìn)入到neo4j-community-4.4.18目錄,運(yùn)行命令:
./bin/neo4j start
就可以啟動(dòng)neo4j。
進(jìn)行到這一步,經(jīng)常遇到的第一個(gè)問(wèn)題,就是:java沒(méi)有安裝,或者版本不對(duì)。
這個(gè)問(wèn)題比較好解決,安裝對(duì)應(yīng)的java-jdk版本即可使用命令:
apt-get install default-jdk
java -version #查看java版本
最后再啟動(dòng)一次neo4j,顯示如下,表示啟動(dòng)成功:
neo4j遠(yuǎn)程連接
這里的遠(yuǎn)程連接,是指局域網(wǎng)內(nèi)的遠(yuǎn)程連接,不是類似將neo4j安裝在某臺(tái)設(shè)備上,然后再在這臺(tái)設(shè)備上打開(kāi)瀏覽器,就可以直接輸入http://localhost:7474就可以打開(kāi)neo4j的界面。
筆者這里是將neo4j安裝在一臺(tái)Ubuntu的服務(wù)器上,然后在另一臺(tái)電腦上打開(kāi)瀏覽器打開(kāi)neo4j的界面。具體操作如下:
(1)進(jìn)入到neo4j-community-4.4.18目錄,輸入如下命令
vim ./conf/neo4j.conf
修改圖片中這兩個(gè)地方:
(2)重新啟動(dòng)neo4j,會(huì)出現(xiàn)下面這樣的打?。?/p>
Directories in use:
home: /opt/neo4j-community-4.4.18
config: /opt/neo4j-community-4.4.18/conf
logs: /opt/neo4j-community-4.4.18/logs
plugins: /opt/neo4j-community-4.4.18/plugins
import: /opt/neo4j-community-4.4.18/import
data: /opt/neo4j-community-4.4.18/data
certificates: /opt/neo4j-community-4.4.18/certificates
licenses: /opt/neo4j-community-4.4.18/licenses
run: /opt/neo4j-community-4.4.18/run
Starting Neo4j.
Started neo4j (pid:34560). It is available at http://0.0.0.0:7474
There may be a short delay until the server is ready.
然后查看一下log文件打印是否正常,筆者就遇到過(guò)這種情況,啟動(dòng)neo4j界面顯示啟動(dòng)正常,但是在log文件卻顯示失敗。
進(jìn)入到logs文件夾,然后輸入命令:
cat neo4j.log
如果遇到如下的錯(cuò)誤:
則代表上面步驟1錯(cuò)誤,不應(yīng)該設(shè)置https,而是要設(shè)置http,這兩個(gè)有區(qū)別
dbms.connector.https.enabled=true
dbms.connector.https.listen_address=:7473
dbms.connector.https.advertised_address=:7473
最后如果都沒(méi)有報(bào)錯(cuò),在本地電腦的瀏覽器上輸入:
http://服務(wù)器ip:7474/browser/
則可以打開(kāi)neo4j遠(yuǎn)程界面
python遠(yuǎn)程創(chuàng)建graph
雖然在neo4j的遠(yuǎn)程界面也可以創(chuàng)建節(jié)點(diǎn)和節(jié)點(diǎn)關(guān)系,但是太過(guò)于麻煩了。下面講述一下怎么使用python腳本來(lái)創(chuàng)建graph。
(1)首先要安裝py2neo,這個(gè)很簡(jiǎn)單,使用命令即可:
pip install py2neo
(2)使用腳本如下所示:
from py2neo import Graph, Node, Relationship
# Graph()中第一個(gè)為local host鏈接,auth為認(rèn)證,包含 username 和 password
gragh = Graph('http://localhost:7474', auth = ('user', 'pwd'))
a = Node("hero", name="Clint") # Node(label, name)
b = Node("hero", name="Natasha")
ab = Relationship(a, "friend", b)
gragh.create(ab) # 創(chuàng)建節(jié)點(diǎn)和關(guān)系
這里需要注意一點(diǎn),Graph初始化的網(wǎng)址,如果是在安裝neo4j的服務(wù)器上運(yùn)行python腳本,那么初始化傳的網(wǎng)址就用:
'http://localhost:7474'
而如果是在其他設(shè)備上,那么初始化的網(wǎng)址就得用:
'http://服務(wù)器ip:7474'
這里的python腳本簡(jiǎn)單創(chuàng)建兩個(gè)節(jié)點(diǎn),和這兩個(gè)節(jié)點(diǎn)的關(guān)系,創(chuàng)建成功如下所示:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-744054.html
參考
linux環(huán)境下的Neo4j安裝
在Linux系統(tǒng)中安裝Neo4j
python操作圖數(shù)據(jù)庫(kù)neo4j的兩種方式文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-744054.html
到了這里,關(guān)于Ubuntu環(huán)境下安裝neo4j,配置遠(yuǎn)程連接、python創(chuàng)建節(jié)點(diǎn)demo的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!