知识图谱-图数据库-neo4j (1)踩坑记录

1、neo4j 安装 

材料 : openjdk11 (neo4j 最低jdk版本要求)

             neo4j-community-4.4.30

            CentOS 7.8

Release Date: 25 January 2024
Neo4j 4.4.30 is a maintenance release with many important improvements and fixes.

Neo4j Deployment Center - Graph Database & Analytics

安装步骤:

# 解压社区版本文件
tar -zxvf neo4j-community-4.4.30-unix.tar.gz
# 解压jdk11
tar -zxvf OpenJDK11U-jdk_x64_linux_hotspot_11.0.21_9.tar.gz
#设置neo4j环境变量
vi /etc/profileexport neo4j_home=/usr/local/neo4j
export PATH=$PATH:$neo4j_home/binsource /etc/profile# 移动文件
mv neo4j-community-4.4.30 /usr/local/neo4j# 修改启动文件/usr/local/neo4j/bin/neo4j,替换java_home 路径
export JAVA11_HOME=/data/midware/jdk/jdk-11.0.21+9
$JAVA_HOME  -->  $JAVA11_HOME# 修改配置文件
vi /usr/local/neo4j/conf/neo4j.confdbms.default_listen_address=0.0.0.0
# Bolt connector  java 客户端连接
dbms.connector.bolt.enabled=true
dbms.connector.bolt.tls_level=DISABLED
dbms.connector.bolt.listen_address=:7687
dbms.connector.bolt.advertised_address=:7687# HTTP Connector. There can be zero or one HTTP connectors.
dbms.connector.http.enabled=true
dbms.connector.http.listen_address=:7474
dbms.connector.http.advertised_address=:7474

启动

neo4j --help
neo4j restart

访问地址:

数据库排名:     Graph 数据库,Neo4j 排名靠前

DB-Engines Ranking - popularity ranking of graph DBMS

 Neo4j(主流)
历史悠久且长期处于图数据库领域的主力地位,其功能强大,性能也不错,单节点的服务器可承载上亿级的节点和关系。社区版最多支持 320 亿个节点、320 亿个关系和 640 亿个属性。
优点:Neo4j有自己的后端存储,不必如同JanusGraph等一样还要依赖另外的数据库存储。 Neo4j在每个节点中存储了每个边的指针,因而遍历时效率相当高。
缺点:企业版付费。开源的社区版本只支持单机,不支持分布式。社区版只能部署成单实例,企业版可以部署成高可用集群,从而可以解决高并发量的问题;不能做集群,单个实例故障时影响系统正常运行。社区版只支持冷备份,即需要停止服务后才能进行备份

2、springboot 集成

版本

<spring-boot.version>2.7.13</spring-boot.version>
<spring-cloud.version>2021.0.8</spring-cloud.version>

starter

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-neo4j</artifactId></dependency>

3、启动类注解

@SpringBootApplication
@Slf4j
@EnableNeo4jRepositories(basePackages = {"com.xxx.**.repository"})
@EnableTransactionManagement // 激活隐式事务
public class KnowledgeApplication {public static void main(String[] args) {SpringApplication.run(KnowledgeApplication.class, args);}}

4、遇到的告警问题

Neo4jReactiveHealthIndicator  
Driver is connected to the database that does not support driver reactive API. In order to use the driver reactive API, please upgrade to neo4j 4.0.0 or later.

原因分析:

健康检查使用了Neo4jReactiveHealthIndicator;但是驱动不支持这个健康检查

解决方式:(强制使用neo4j 非Reactive的健康检查)

import org.neo4j.driver.Driver;
import org.springframework.boot.actuate.neo4j.Neo4jHealthIndicator;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class Neo4jConfig {@Beanpublic Neo4jHealthIndicator neo4jHealthContributor(Driver driver) {return new Neo4jHealthIndicator(driver);}
}

相关

Neo4j 使用手册_neo4j中文手册-CSDN博客

neo4j 官网文档

Neo4j documentation - Neo4j Documentation

Open JDK下载_openjdk下载-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/770909.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【前端面试3+1】01闭包、跨域

一、对闭包的理解 定义&#xff1a; 闭包是指在一个函数内部定义的函数&#xff0c;并且该内部函数可以访问外部函数的变量。闭包使得函数内部的变量在函数执行完后仍然可以被访问和操作。 特点&#xff1a; 闭包可以访问外部函数的变量&#xff0c;即使外部函数已经执行完毕。…

Linux 搭建jenkins docker

jekin docker gitee docker 安装 jenkins docker run -d --restartalways \ --name jenkins -uroot -p 10340:8080 \ -p 10341:50000 \ -v /home/docker/jenkins:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/bin/docker:/usr/bin/docker je…

QT数据类型和容器用法

Qt库提供了基于通用模板的容器类, 这些类可用于存储指定类型的数据项&#xff0c;Qt中这些容器类的设计比STL容器更轻&#xff0c;更安全且更易于使用。容器类也都是隐式共的&#xff0c;它们是可重入的&#xff0c;并且已针对速度/低内存消耗和最小的内联代码扩展进行了优化&a…

【解析几何】 【多源路径】 【贪心】1520 最多的不重叠子字符串

作者推荐 视频算法专题 本身涉及知识点 解析几何 图论 多源路径 贪心 LeetCode1520. 最多的不重叠子字符串 给你一个只包含小写字母的字符串 s &#xff0c;你需要找到 s 中最多数目的非空子字符串&#xff0c;满足如下条件&#xff1a; 这些字符串之间互不重叠&#xff0…

Wireshark使用实训---分析IP包

1.Wireshark简介和作用 Wireshark是一个开源的网络分析工具&#xff0c;用于捕捉和分析网络数据包。它可以帮助网络管理员和安全专家监控和解决网络问题&#xff0c;同时也可以用于学习和教学网络通信原理。 Wireshark可以在网络中捕获和分析传输的数据包&#xff0c;包括协议…

【Java初阶(五)】类和对象

❣博主主页: 33的博客❣ ▶文章专栏分类: Java从入门到精通◀ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; 目录 1. 前言2.面向对象的认识3.类的认识4. 类的实例化4.1什么是实例化4.2类和对象的说明 5.this引用6.对象初始化6.1 构造方法 7.static关键字8.代码块8.1 …

PTAxt的考研路

xt是我院19级专业第一&#xff0c;但他认为保研并不能展示他全部的实力&#xff0c;所以他在22年初试一结束就加入了23考研的队伍中&#xff0c;并且他为了填补我院近些年来无北大研究生的空白&#xff0c;毅然决然决定扛起19级的大旗&#xff0c;在学校百年华诞之际献上他最诚…

光明源@智慧公厕赋能“厕所革命”主要体现在哪些方面?

当我们提及厕所&#xff0c;不再仅是简单的卫生设施&#xff0c;而是一种对生活品质的关怀与呵护。智慧公厕&#xff0c;作为厕所革命的引领者&#xff0c;以其独特的拟人魅力&#xff0c;彰显着人性化关怀的新风尚。今日&#xff0c;让我们一同探索&#xff0c;智慧公厕是如何…

数据库备份工具(实现数据定时覆盖)

数据库备份工具&#xff08;实现数据定时覆盖&#xff09; 永远热爱&#xff0c;永远执着&#xff01; 工具介绍 自动化测试数据库更新调度程序 这段 Python 脚本自动化了每天定时从生产数据库更新测试数据库的过程。它利用了 schedule 库来安排并执行每天指定时间的更新任务…

在for循环加判断条件当条件都满足时,同时显现的解决方法

一、代码示例 function fu(s) {str ;ste ;console.log(s);let Things s;for (let i 0; i < Things.length; i) {if (Things[i].pid kk) {console.log(Things[i].pid);ste <div class"commodity_nei"><div class"zxc_pic"><div cl…

[CISCN2019 总决赛 Day2 Web1]Easyweb ----不会编程的崽

CISCN的题质量还是很高的。 又是这熟悉的登陆界面。爆破&#xff1f;sql&#xff1f;还是xxe等。先看源码 估摸着也是sql注入。但似乎不是常规注入。同时扫描后台的结果应该也出来了&#xff0c;发现robots.txt 有点懵&#xff0c;后边看了大佬的wp才知道&#xff0c;提示的是*…

openssl 升级1.1.1.1k 到 3.0.13

下载 https://www.openssl.org/source/ tar -zxvf openssl-3.0.13.tar.gzcd openssl-3.0.13/./config enable-fips --prefix/usr/local --openssldir/usr/local/opensslmake && make install 将原有openssl备份 mv /usr/bin/openssl /usr/bin/openssl.bak mv /usr/i…

LeetCode Python - 73. 矩阵置零

目录 题目描述解法方法一&#xff1a;数组标记方法二&#xff1a;原地标记 运行结果方法一方法二 题目描述 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;…

Redis到底是多线程还是单线程?

Redis6.0之前&#xff1a;是单线程模式。 Redis6.0之后&#xff1a;Redis的IO线程是多线程&#xff0c;worker线程是单线程。 Redis6.0之前&#xff1a;单线程 Redis6.0之后&#xff1a;Redis的IO线程是多线程&#xff0c;worker线程是单线程。

适用于 Android 的 10 个优秀的数据恢复工具

在当今快节奏的数字时代&#xff0c;丢失 Android 设备中的重要数据可能是一场噩梦。无论是难忘的照片、重要的联系人还是重要的工作文档&#xff0c;您都需要一个可靠的恢复工具来恢复您的数据。值得庆幸的是&#xff0c;有许多高效的 Android 数据恢复工具可以帮助您恢复丢失…

【python】flask各种版本的项目,终端命令运行方式的实现

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

XUbuntu22.04之跨平台日历工具(二百二十四)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

WSL2 设置桥接模式

文章目录 一、前言二、准备阶段三、环境配置3.1 Type-V管理器环境配置3.2 新增.wslconfig 文件 四、遇到的问题以及解决方案 一、前言 ​ 使用 wsl 的过程中&#xff0c;会出现 WSL 的IP地址 找不到&#xff0c;或者无法和计算机通讯&#xff0c;搞 嵌入式 的话&#xff0c;还…

网络原理(7)——以太网数据帧和DNS协议(数据链路层和应用层)

目录 一、以太网数据帧&#xff08;数据链路层&#xff09; 二、DNS协议(域名解析系统&#xff0c;应用层协议) 一、以太网数据帧&#xff08;数据链路层&#xff09; 以太网横跨了数据链路层和物理层&#xff0c;这里只做简单介绍&#xff0c;因为普通程序员用不到这一块&am…

浅谈linux下的进程地址空间(虚拟地址/线性地址)

目录 什么是地址空间 - 虚拟地址空间 地址空间是如何设计的 为什么要有地址空间 什么是地址空间&#xff1f; 示例&#xff1a; 运行之后发现&#xff1a;同一个变量&#xff0c;同一个地址&#xff0c;在运行一段时间后&#xff0c;竟然会在同一时间出现两个不同的值&…