首页 > 系统相关 >在Linux服务器上部署中医知识图谱

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

时间:2024-03-16 16:22:05浏览次数:22  
标签:node KG 图谱 Linux community 5.17 服务器 neo4j yldm0226

在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-17
export PATH=$JAVA_HOME/bin:$PATH

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

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

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数据库

在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.0
export PATH=$NEO4J_HOME/bin:$PATH

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

source ~/.bashrc

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

neo4j console

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

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.

访问知识图谱

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

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

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

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

ssh -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, RelationshipMatcher
from 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查询语言。

标签:node,KG,图谱,Linux,community,5.17,服务器,neo4j,yldm0226
From: https://www.cnblogs.com/yourenbo/p/18077200

相关文章

  • Linux环境下Minio的安装部署与启动教程(完整版)
    1、概述MinIO是一个开源、分布式的对象存储系统,专为云原生环境设计。它提供了一个基于标准的AmazonS3兼容接口,使得开发者可以使用熟悉的API在私有云或边缘环境中部署和管理大规模非结构化数据,如图片、视频、日志文件等。MinIO的核心特点包括:高性能:采用Golang编写,设计时充分考......
  • 阿里云服务器搭建网站(linux)
    1.去阿里云官网申请云服务器官方链接:阿里云登录-欢迎登录阿里云,安全稳定的云计算服务平台登录之后,点击产品选择云服务器ECS进入之后可以选择进行购买,也可以免费试用。(注意:每个账号只有一次免费三个月的试用机会)进入后根据自己需要选择系统版本,这里我选择的是centos......
  • 如何在Windows11上安装WSL和Linux子系统以及搭建Docker环境
    今天给大家介绍一下如何在Windows11上安装Docker打开控制面板:打开程序:打开启用或关闭Windows功能。勾选Linux子系统:此时,可能需要重启电脑。以管理员身份打开PowerShell执行:bcdedit/sethypervisorlaunchtypeauto打开微软商店,安装Ubuntu22:去这个网址下载li......
  • 云Linux服务器被黑终极处理方案
    阿里云告警系统环境阿里云ECSLinux(命令行版)服务器软件系统架构:nginx->jar入侵过程对外只开放的web端口(80和443),其它端口只限内网访问,但还是被黑了,经过排查是黑客利用了某Java开源框架漏洞,控制了正在运行的Jar,然后注入了wget命令下载frp等内网穿透工具,最终TC......
  • linux命令最全-文件管理篇
    Linuxcat命令 Linux命令大全cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。使用权限所有使用者语法格式cat [-AbeEnstTuv] [--help] [--version] fileName参数说明:-n或--number:由1开始对所有输出的行数编号。-b或--number-nonblank:和-n相似,只不......
  • 【Linux系统编程】静态库与动态库
    静态库与动态库静态库的制作和使用编写库文件源代码和头文件。将所有需要做成库的源文件生成目标文件:gcc-c{filename}.c-o{filename}.o用ar工具将要做成库的目标文件打包:arrcslib{库名}.a{filename-1}.o...{filename-n}.o将使用库的源文件与库文件一起编译:gcc{......
  • 配置WindowsSSH免密登录Linux
    一、环境准备虚拟机里的Centos8一台Windows11二、Windows密钥和公钥生成win+R调出运行输入框输入cmd,回车-打开终端管理器输入:ssh-keygen-trsa回车ssh-keygen-trsa提示存放路径信息(记住这个路径,后面要找公钥),回车提示输入密码(不用设置,直接回车),提示确认再次回车,回车......
  • 使用MQTT.fx和自定义Client(Ubuntu上实现)测试MQTT服务器(EMQX )
    目录概述1配置EMQX做MQTT服务器1.1登录EMQX1.2配置EMQX1.2.1配置客户端认证1.2.2创建用户2测试MQTT服务器2.1配置MQTT.fx工具2.2连接MQTT服务器3使用MQTT.fx发布和订阅信息3.1在MQTT.fx上发布信息3.2在MQTT.fx上订阅信息4Ubuntu上实现MQTTClient4......
  • 百度 Linux 运维工程师面试真题
    百度Linux运维工程师面试真题百度面了好久了,两个月了,估计都快成馊面了,一跟面条在走边边一不小心掉进了大海,于是就有了汤面_经历非技术总结就两句话,幸运的是在朋友的帮助下顺利通过笔试,还认识了一帮super牛B的人,不幸的是最终还是由于主观客观擦肩而过~~我投的是lin......
  • PHP解释器和Web服务器有什么关系?
    PHP解释器和Web服务器是非常好的朋友,它们经常一起工作来给我们展示网页上的内容。我们可以把它们的关系想象成一个餐厅里的厨师和服务员。PHP解释器是厨师在这个比喻里,PHP解释器就像是餐厅里的厨师。它的工作是准备食物,也就是处理PHP代码。当你访问一个用PHP编写的网页时,PHP......