掘金 人工智能 16小时前
在Linux服务器上部署中医知识图谱
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文详细介绍了在Linux服务器上部署中医知识图谱的完整流程,涵盖了Java环境的配置、Neo4j数据库的安装与配置、以及知识图谱的创建与访问。内容包括JDK 17的下载与安装、环境变量的设置、Neo4j的解压与启动、SSH端口映射的配置,以及利用开源项目构建知识图谱的步骤。通过逐步指导,帮助读者在自己的服务器上成功搭建中医知识图谱,并提供了对知识图谱进行查询和使用的基础知识。

⚙️ **配置Java环境**: 首先,需要下载并安装JDK 17,建议从Oracle或Open JDK官网获取。安装完成后,通过设置`JAVA_HOME`和`PATH`环境变量,确保Java能够被系统正确识别,并使用`java -version`命令验证安装是否成功,以确保后续步骤的顺利进行。

💾 **配置Neo4j数据库**: 接下来,从Neo4j官网下载社区版安装包,解压后同样需要配置环境变量`NEO4J_HOME`和`PATH`。可以使用`neo4j console`在命令行中运行Neo4j,或使用`neo4j start`在后台启动。启动成功后,通过访问`http://localhost:7474`进入Neo4j的Web界面,并使用默认用户名和密码登录,随后修改密码。

🌐 **访问知识图谱**: 由于服务器可能没有图形界面,文章介绍了通过SSH端口映射实现本地访问。在Windows系统上,需要打开两个CMD窗口,分别使用`ssh -L 7474:localhost:7474`和`ssh -L 7687:localhost:7687`命令,将本地端口映射到服务器的7474和7687端口。这样,就可以在本地浏览器中访问Neo4j的Web页面。

🌱 **创建知识图谱**: 通过`git clone`命令拉取开源中医知识图谱项目。安装`py2neo`库后,修改`Create_Graph.py`文件中的数据库连接认证信息,指向你设置的Neo4j密码。运行该Python脚本,即可将知识图谱数据导入到Neo4j数据库中。最后,通过访问Neo4j的Web页面,可以查看构建好的知识图谱的节点和关系,并学习Cypher查询语言进行进一步操作。

在Linux服务器上部署中医知识图谱

配置Java环境

在Oracle官网或Open JDK官网下载JDK 17安装包,选择与操作系统及系统架构(32位或64位)相匹配的版本,此处使用Ubuntu系统进行演示。

使用以下命令解压JDK安装包:

tar -xvf jdk-17_linux-x64_bin.tar.gz

这将在当前目录下创建一个名为jdk-17的目录,并将JDK文件提取到其中。

使用以下命令编辑环境变量:

export JAVA_HOME=/yldm0226/KG/jdk-17export PATH=$JAVA_HOME/bin:$PATH

注意将JAVA_HOME替换为你解压JDK的实际路径。

使用以下命令刷新环境变量,使环境变量生效:

source ~/.bashrc

验证是否安装成功:

java -version

如果安装成功,可以看到类似下面的输出:

openjdk version "17" 2021-09-14OpenJDK Runtime Environment (build 17+35-2724)OpenJDK 64-Bit Server VM (build 17+35-2724, mixed mode, sharing)

配置neo4j数据库

在neo4j官网下载neo4j社区版的安装包,选择与操作系统及系统架构(32位或64位)相匹配的版本,此处使用Ubuntu系统进行演示。

使用以下命令解压neo4j安装包:

tar -xvf neo4j-community-5.17.0-unix.tar.gz

使用以下命令编辑环境变量:

export NEO4J_HOME=/yldm0226/KG/neo4j-community-5.17.0export PATH=$NEO4J_HOME/bin:$PATH

使用以下命令刷新环境变量,使环境变量生效:

source ~/.bashrc

如果想在命令行中运行neo4j,执行以下命令:

neo4j console

如果想在后台运行neo4j,执行以下命令:

neo4j start

启动成功后,可以看到以下输出:

Directories in use:home:         /yldm0226/KG/neo4j-community-5.17.0config:       /yldm0226/KG/neo4j-community-5.17.0/conflogs:         /yldm0226/KG/neo4j-community-5.17.0/logsplugins:      /yldm0226/KG/neo4j-community-5.17.0/pluginsimport:       /yldm0226/KG/neo4j-community-5.17.0/importdata:         /yldm0226/KG/neo4j-community-5.17.0/datacertificates: /yldm0226/KG/neo4j-community-5.17.0/certificateslicenses:     /yldm0226/KG/neo4j-community-5.17.0/licensesrun:          /yldm0226/KG/neo4j-community-5.17.0/runStarting Neo4j.Started neo4j (pid:12498). It is available at http://localhost:7474There may be a short delay until the server is ready.

访问知识图谱

如果服务器有图形化界面,可以直接在浏览器中访问http://localhost:7474。

如果服务器没有图形化界面,需要借助ssh端口映射实现本地访问服务器上部署的知识图谱。

以Windows11系统为例,打开两个CMD窗口,分别输入以下命令:

ssh -L 7474:localhost:7474 -p ssh端口 用户名@ipssh -L 7687:localhost:7687 -p ssh端口 用户名@ip

将ssh端口、用户名和ip替换为自己的。

以上两行命令将本地的7474端口和7687端口映射到了远程服务器的7474端口和7687端口,这样就可以本地访问服务器上部署的知识图谱了。

在本地浏览器中访问http://localhost:7474,可以看到neo4j的Web页面:

在第一次访问http://localhost:7474时,默认的用户名和密码均为neo4j,在登录成功后,会要求我们修改一个密码,请记好这个密码,后面还要用到。

创建知识图谱

拉取开源中医知识图谱项目:

git clone https://github.com/ywjawmw/TCM_KG

安装py2neo:

pip install py2neo

打开中医知识图谱项目中的Create_Graph.py,对代码做简单的修改并将连接数据库中的认证信息改为自己,代码如下:

from py2neo import Graph, Node, Relationship, NodeMatcher, RelationshipMatcherfrom tqdm import tqdm# 连接数据库graph = Graph("http://localhost:7474", auth=("neo4j", "你设置的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)

运行以上代码,就可以完成知识图谱的构建。

回到http://localhost:7474中,点击Database,就可以看到我们构建的知识图谱的节点和节点之间的关系类型:

我们可以运行命令或者点击左侧的标签查看知识图谱中的节点和关系:

neo4j使用的是Cypher查询语言(是一种专门用于图数据库的查询语言),如果想进一步使用neo4j的命令查询,可以去学习Cypher查询语言。

原文地址:https://www.cnblogs.com/whisper1999/p/18077200

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Linux 中医 知识图谱 Neo4j
相关文章