在Linux服務(wù)器上部署中醫(yī)知識圖譜
配置Java環(huán)境
在Oracle官網(wǎng)或Open JDK官網(wǎng)下載JDK 17安裝包,選擇與操作系統(tǒng)及系統(tǒng)架構(gòu)(32位或64位)相匹配的版本,此處使用Ubuntu系統(tǒng)進(jìn)行演示。
使用以下命令解壓JDK安裝包:
tar -xvf jdk-17_linux-x64_bin.tar.gz
這將在當(dāng)前目錄下創(chuàng)建一個名為jdk-17
的目錄,并將JDK文件提取到其中。
使用以下命令編輯環(huán)境變量:
export JAVA_HOME=/yldm0226/KG/jdk-17
export PATH=$JAVA_HOME/bin:$PATH
注意將JAVA_HOME替換為你解壓JDK的實際路徑。
使用以下命令刷新環(huán)境變量,使環(huán)境變量生效:
source ~/.bashrc
驗證是否安裝成功:
java -version
如果安裝成功,可以看到類似下面的輸出:
openjdk version "17" 2021-09-14
OpenJDK Runtime Environment (build 17+35-2724)
OpenJDK 64-Bit Server VM (build 17+35-2724, mixed mode, sharing)
配置neo4j數(shù)據(jù)庫
在neo4j官網(wǎng)下載neo4j社區(qū)版的安裝包,選擇與操作系統(tǒng)及系統(tǒng)架構(gòu)(32位或64位)相匹配的版本,此處使用Ubuntu系統(tǒng)進(jìn)行演示。
使用以下命令解壓neo4j安裝包:
tar -xvf neo4j-community-5.17.0-unix.tar.gz
使用以下命令編輯環(huán)境變量:
export NEO4J_HOME=/yldm0226/KG/neo4j-community-5.17.0
export PATH=$NEO4J_HOME/bin:$PATH
使用以下命令刷新環(huán)境變量,使環(huán)境變量生效:
source ~/.bashrc
如果想在命令行中運(yùn)行neo4j,執(zhí)行以下命令:
neo4j console
如果想在后臺運(yùn)行neo4j,執(zhí)行以下命令:
neo4j start
啟動成功后,可以看到以下輸出:
Directories in use:
home: /yldm0226/KG/neo4j-community-5.17.0
config: /yldm0226/KG/neo4j-community-5.17.0/conf
logs: /yldm0226/KG/neo4j-community-5.17.0/logs
plugins: /yldm0226/KG/neo4j-community-5.17.0/plugins
import: /yldm0226/KG/neo4j-community-5.17.0/import
data: /yldm0226/KG/neo4j-community-5.17.0/data
certificates: /yldm0226/KG/neo4j-community-5.17.0/certificates
licenses: /yldm0226/KG/neo4j-community-5.17.0/licenses
run: /yldm0226/KG/neo4j-community-5.17.0/run
Starting Neo4j.
Started neo4j (pid:12498). It is available at http://localhost:7474
There may be a short delay until the server is ready.
訪問知識圖譜
如果服務(wù)器有圖形化界面,可以直接在瀏覽器中訪問http://localhost:7474。
如果服務(wù)器沒有圖形化界面,需要借助ssh端口映射實現(xiàn)本地訪問服務(wù)器上部署的知識圖譜。
以Windows11系統(tǒng)為例,打開兩個CMD窗口,分別輸入以下命令:
ssh -L 7474:localhost:7474 -p ssh端口 用戶名@ip
ssh -L 7687:localhost:7687 -p ssh端口 用戶名@ip
將ssh端口、用戶名和ip替換為自己的。
以上兩行命令將本地的7474端口和7687端口映射到了遠(yuǎn)程服務(wù)器的7474端口和7687端口,這樣就可以本地訪問服務(wù)器上部署的知識圖譜了。
在本地瀏覽器中訪問http://localhost:7474,可以看到neo4j的Web頁面:
在第一次訪問http://localhost:7474時,默認(rèn)的用戶名和密碼均為neo4j,在登錄成功后,會要求我們修改一個密碼,請記好這個密碼,后面還要用到。
創(chuàng)建知識圖譜
拉取開源中醫(yī)知識圖譜項目:
git clone https://github.com/ywjawmw/TCM_KG
安裝py2neo:
pip install py2neo
打開中醫(yī)知識圖譜項目中的Create_Graph.py,對代碼做簡單的修改并將連接數(shù)據(jù)庫中的認(rèn)證信息改為自己,代碼如下:
from py2neo import Graph, Node, Relationship, NodeMatcher, RelationshipMatcher
from tqdm import tqdm
# 連接數(shù)據(jù)庫
graph = Graph("http://localhost:7474", auth=("neo4j", "你設(shè)置的neo4j的密碼"),name="neo4j")
matcher_node = NodeMatcher(graph)
matcher_relation = RelationshipMatcher(graph)
with open("baseline_all_kg_triples.txt", "r", encoding="utf-8") as file:
for line in tqdm(file.readlines()):
entity_1, entity_2, relation = line.split("\t")
node_1 = matcher_node.match(name=entity_1).first()
if node_1 is None:
node_1 = Node(name=entity_1)
graph.create(node_1)
node_2 = matcher_node.match(name=entity_2).first()
if node_2 is None:
node_2 = Node(relation, name=entity_2)
graph.create(node_2)
if not node_2.has_label(relation):
node_2.add_label(relation)
graph.push(node_2)
r = Relationship(node_1, relation, node_2)
graph.create(r)
運(yùn)行以上代碼,就可以完成知識圖譜的構(gòu)建。
回到http://localhost:7474中,點擊Database,就可以看到我們構(gòu)建的知識圖譜的節(jié)點和節(jié)點之間的關(guān)系類型:
我們可以運(yùn)行命令或者點擊左側(cè)的標(biāo)簽查看知識圖譜中的節(jié)點和關(guān)系:
文章來源:http://www.zghlxwxcb.cn/news/detail-840668.html
neo4j使用的是Cypher查詢語言(是一種專門用于圖數(shù)據(jù)庫的查詢語言),如果想進(jìn)一步使用neo4j的命令查詢,可以去學(xué)習(xí)Cypher查詢語言。文章來源地址http://www.zghlxwxcb.cn/news/detail-840668.html
到了這里,關(guān)于在Linux服務(wù)器上部署中醫(yī)知識圖譜的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!