一、知識(shí)圖譜和圖數(shù)據(jù)庫簡介
- 知識(shí)圖譜
一種基于圖的數(shù)據(jù)結(jié)構(gòu),由節(jié)點(diǎn)(Point)和邊(Edge)組成。其中節(jié)點(diǎn)即實(shí)體,由一個(gè)全局唯一的ID標(biāo)示,關(guān)系(也稱屬性))用于連接兩個(gè)節(jié)點(diǎn)。通俗地講,知識(shí)圖譜就是把所有不同種類的信息(Heterogeneous Information)連接在一起而得到的一個(gè)關(guān)系網(wǎng)絡(luò)。知識(shí)圖譜提供了從“關(guān)系”的角度去分析問題的能力。
- neo4j
neo4j 是目前比較主流的圖數(shù)據(jù)庫,存儲(chǔ),查詢圖譜數(shù)據(jù)非常高效,由頂點(diǎn)-邊組成,常用于微博好友關(guān)系分析、城市規(guī)劃、社交、推薦等應(yīng)用。具體的應(yīng)用場(chǎng)景介紹,推薦:通過圖數(shù)據(jù)庫,查詢某節(jié)點(diǎn)的消費(fèi)情況、好友信息可為其推薦關(guān)聯(lián)度高的好友或可能消費(fèi)的商品。
因?yàn)閚eo4j的存儲(chǔ)原理使得它的查詢速度是在O(l)級(jí)別的復(fù)雜度,查詢高效。
二、linux下社區(qū)版安裝與配置
2.1 安裝neo4j 社區(qū)版本
Neo4j的安裝對(duì)硬件、系統(tǒng)都有一些要求的。關(guān)于Memory,最低要求是2GB。其中java版本必須是8以上。一般服務(wù)器上都滿足硬件和內(nèi)存的要求,可以稍微檢查一下是否安裝JDK及其版本,1.8及其以上都行。
(base) [root@i-gjt0cuup ~]# java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
如果java版本不滿足要求,需要重新安裝1.8以上java jdk,具體操作參見以下博客內(nèi)容
- linux下更新java版本
- neo4j官方網(wǎng)站
在上述網(wǎng)站上下載對(duì)應(yīng)版本的neo4j社區(qū)版,然后利用ftp工具上傳到服務(wù)器對(duì)應(yīng)的安裝目錄下,對(duì)于外部安裝軟件,建議安裝在/opt 目錄下。
如果服務(wù)器可以連接外部網(wǎng)絡(luò)可以直接利用以下linux名論來獲取對(duì)應(yīng)版本的neo4j社區(qū)版。
curl -O http://dist.neo4j.org/neo4j-community-3.4.5-unix.tar.gz
- 解壓安裝
linux環(huán)境下安裝十分簡單,只需要對(duì)壓縮包解壓安裝,然后修改配置文件就可以了;
tar -axvf neo4j-community-3.4.5-unix.tar.gz
- 修改配置文件
#*****************************************************************
2 # Neo4j configuration
3 #
4 # For more details and a complete list of settings, please see
5 # https://neo4j.com/docs/operations-manual/current/reference/configuration-settings/
6 #*****************************************************************
7
8 # The name of the database to mount
9 dbms.active_database=test.db
10
11 # Paths of directories in the installation.
12 #dbms.directories.data=data
13 #dbms.directories.plugins=plugins
14 #dbms.directories.certificates=certificates
15 #dbms.directories.logs=logs
16 #dbms.directories.lib=lib
17 #dbms.directories.run=run
18
19 # This setting constrains all `LOAD CSV` import files to be under the `import` directory. Remove or comment it out to
20 # allow files to be loaded from anywhere in the filesystem; this introduces possible security problems. See the
21 # `LOAD CSV` section of the manual for details.
22 dbms.directories.import=import
23
24 # Whether requests to Neo4j are authenticated.
25 # To disable authentication, uncomment this line
26 #dbms.security.auth_enabled=false
27
28 # Enable this to be able to upgrade a store from an older version.
。。。
上面只是配置文件的部分內(nèi)容。具體需要修改的配置內(nèi)容包括以下幾條:
# 修改第9行需要掛載的數(shù)據(jù)庫名稱,加#默認(rèn)掛載graph.db
dbms.active_database=test.db
# 修改第22行l(wèi)oad csv時(shí)l路徑,在前面加個(gè)#,可從任意路徑讀取文件
dbms.directories.import=import
# 修改35行和36行,設(shè)置JVM初始堆內(nèi)存和JVM最大堆內(nèi)存,生產(chǎn)環(huán)境給的JVM最大堆內(nèi)存越大越好,但是要小于機(jī)器的物理內(nèi)存
dbms.memory.heap.initial_size=1g
dbms.memory.heap.max_size=20g
# 修改46行,可以認(rèn)為這個(gè)是緩存內(nèi)存,如果機(jī)器配置高,這個(gè)越大越好
dbms.memory.pagecache.size=10g
# 修改61行,去掉改行的#,可以遠(yuǎn)程通過ip訪問neo4j數(shù)據(jù)庫
dbms.connectors.default_listen_address=0.0.0.0
# 默認(rèn) bolt端口是7687,http端口是7474,https關(guān)口是7473,不修改下面3項(xiàng)也可以
# 修改71行,去掉#,設(shè)置http端口為7687,端口可以自定義,只要不和其他端口沖突就行
#dbms.connector.bolt.listen_address=:7687
# 修改82行,去掉#,設(shè)置http端口為7474,端口可以自定義,只要不和其他端口沖突就行
dbms.connector.http.listen_address=:747
# 修改86行,去掉#,設(shè)置http端口為7473,端口可以自定義,只要不和其他端口沖突就行
dbms.connector.https.listen_address=:7473
# 修改234行,去掉#,允許從遠(yuǎn)程url來load csv
dbms.security.allow_csv_import_from_file_urls=true
# Retention policy for transaction logs needed to perform recovery and backups.
250 dbms.tx_log.rotation.retention_policy=1 days
# 修改253行,允許使用neo4j-shell,類似于mysql 命令行之類的
dbms.shell.enabled=true
254 # The network interface IP the shell will listen on (use 0.0.0.0 for all interfaces).
255 dbms.shell.host=127.0.0.1
256 # The port the shell will listen on, default is 1337.
257 dbms.shell.port=1337
## 261行設(shè)置neo4j可讀可寫
261 dbms.read_only=false
- 啟動(dòng)neo4j(進(jìn)入bin目錄執(zhí)行./neo4j start)
(base) [root@i-gjt0cuup bin]# ./neo4j start
Active database: test.db
Directories in use:
home: /opt/neo4j-community-3.4.5
config: /opt/neo4j-community-3.4.5/conf
logs: /opt/neo4j-community-3.4.5/logs
plugins: /opt/neo4j-community-3.4.5/plugins
import: /opt/neo4j-community-3.4.5/import
data: /opt/neo4j-community-3.4.5/data
certificates: /opt/neo4j-community-3.4.5/certificates
run: /opt/neo4j-community-3.4.5/run
Neo4j is already running (pid 13808).
啟動(dòng)之后可以利用以下網(wǎng)址登陸neo4j客戶端界面
http://ip:7474/browser/文章來源:http://www.zghlxwxcb.cn/news/detail-725432.html
在瀏覽器訪問圖數(shù)據(jù)庫所在的機(jī)器上的7474端口(第一次訪問賬號(hào)neo4j,密碼neo4j,會(huì)提示修改初始密碼)文章來源地址http://www.zghlxwxcb.cn/news/detail-725432.html
- 停止neo4j(進(jìn)入bin目錄執(zhí)行./neo4j stop)
- 查看neo4j的狀態(tài)(進(jìn)入bin目錄執(zhí)行./neo4j status)
三.參考博客與資料
- linux環(huán)境下的Neo4j安裝
- 在Linux系統(tǒng)中更新java版本
到了這里,關(guān)于圖數(shù)據(jù)庫neo4j入門:linux下社區(qū)版安裝與配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!