Docker轻松搭建Neo4j+APOC环境
Docker轻松搭建Neo4j+APOC环境
- 一、简介
- 二、Docker部署neo4j
- 三、Docker安装APOC插件
- 四、删除数据库/切换数据库
一、简介
Neo4j 是一款高性能的 原生图数据库,采用 属性图模型 存储数据,支持 Cypher查询语言,适用于复杂关系数据的存储和分析。其核心优势包括:
- 灵活的数据模型:以 节点(Node)、关系(Relationship)和属性(Property) 组织数据
- 高效的关联查询:擅长处理深度遍历、路径查找等复杂关系查询
- ACID事务支持:确保数据一致性
- 可扩展性:支持大规模图数据处理
APOC(Awesome Procedures On Cypher) 是 Neo4j 的 官方扩展插件,提供了 300+ 存储过程和函数,极大增强 Neo4j 的功能,包括: - 数据导入/导出(JSON、CSV、XML、JDBC等)
- 图算法(最短路径、PageRank、社区发现等)
- 数据转换(集合、字符串、时间处理)
- 图重构(子图提取、虚拟图、模式匹配)
- 运维工具(数据库监控、备份恢复)
Docker部署Neo4j官方文档:https://neo4j.com/docs/operations-manual/current/docker/introduction/
二、Docker部署neo4j
1.cmd打开命令行,运行:docker pull neo4j。docker环境搭建参考文章:Docker 环境搭建与三大数据库(MySQL/Redis/MongoDB)部署教程
2.在本地创建映射文件夹neo4j>data、neo4j>conf、neo4j>logs
3.临时启动neo4j容器:docker run -d --name neo4j --publish=7474:7474 --publish=7687:7687 --env NEO4J_AUTH=neo4j/12345678 neo4j
4.在docker客户端找到/var/lib/neo4j/conf目录,把该目录中的文件复制到neo4j>conf;不复制也可以,只是挂载conf目录后,原本的四个文件会只留一个neo4j.conf文件
5.运行docker stop neo4j && docker rm neo4j删除原本的临时容器,使用下面命令重启容器
/*****
--publish:主机端口:容器端口,7474为浏览器端端口,7687为Bolt协议默认端口
-d:启动的镜像名称。
--name:设置容器名称。
--restart=always:设置docker启动时,容器跟随自启。
--env NEO4J_AUTH=neo4j/12345678:设置密码,密码长度不能小于8位
--volume=/f/Docker/home/neo4j/conf:/var/lib/neo4j/conf:挂载容器配置文件到宿主,方便修改配置文件,,如果是linux系统宿主机不需要加盘符,直接使用/就代表宿主机的根目录
--volume=/f/Docker/home/neo4j/data:/data:挂载容器存储文件到宿主,避免因不小心卸载容器或者容器损坏导致数据丢失不可找回风险,,如果是linux系统宿主机不需要加盘符,直接使用/就代表宿主机的根目录
--volume=/f/Docker/home/neo4j/logs:/logs:挂载日志文件,,如果是linux系统宿主机不需要加盘符,直接使用/就代表宿主机的根目录
*****/docker run -d --name neo4j --restart=always --publish=7474:7474 --publish=7687:7687 --env NEO4J_AUTH=neo4j/12345678 --volume=/f/Docker/home/neo4j/data:/data --volume=/f/Docker/home/neo4j/conf:/var/lib/neo4j/conf --volume=/f/Docker/home/neo4j/logs:/logs neo4j
6.宿主机访问:http://localhost:7474/,页面正常打开说明neo4j部署成功
7.验证数据文件是否挂载成功:打开neo4j>data如图所示,说明数据文件挂载成功
8.验证日志文件是否挂载成功:打开neo4j>conf如图所示,说明日志文件挂载成功、neo4j>logs
9.验证配置文件是否挂载成功:打开neo4j>logs,如果该目录下的文件还存在,说明配置文件挂载成功
三、Docker安装APOC插件
1.运行docker exec -it neo4j neo4j --version,查看neo4j的版本,第一个neo4j是容器名,第二个neo4j是neo4j命令
2.访问链接:https://neo4j.com/docs/apoc/current/installation/,下载对应版本的APOC包,在neo4j目录新建plugins文件夹,把apoc包放进该文件夹
3.将文件由宿主机移动至容器:docker cp F:/Docker/home/neo4j/plugins/apoc-2025.04.0-core.jar neo4j:/var/lib/neo4j/plugins
4.重新启动容器:docker restart neo4j。也可在创建容器时挂载plugins目录
5.测试apoc插件是否安装成功,浏览器访问:http://localhost:7474/,输入账号密码登录,运行:call apoc.help(“apoc”)
四、删除数据库/切换数据库
在免费版 Neo4j 中,单次仅支持运行一个数据库,且默认数据库名必须为 neo4j。如需删除数据库,只需以下步骤:
1.停止容器:docker stop <容器名>
2.修改挂载目录:进入挂载的 data 目录,将默认数据库文件夹 neo4j 重命名(如 neo4j_old)
3.重启容器:docker start <容器名>
由于 Neo4j 启动时检测不到默认数据库,会自动新建一个空的 neo4j 数据库,原数据即被"删除"。此方法无需复杂操作,适合快速清理数据。
相关文章:

Docker轻松搭建Neo4j+APOC环境
Docker轻松搭建Neo4jAPOC环境 一、简介二、Docker部署neo4j三、Docker安装APOC插件四、删除数据库/切换数据库 一、简介 Neo4j 是一款高性能的 原生图数据库,采用 属性图模型 存储数据,支持 Cypher查询语言,适用于复杂关系数据的存储和分析。…...

定制开发开源AI智能名片S2B2C商城小程序在无界零售中的应用与行业智能升级示范研究
摘要:本文聚焦无界零售背景下京东从零售产品提供者向零售基础设施提供者的转变,探讨定制开发开源AI智能名片S2B2C商城小程序在这一转变中的应用。通过分析该小程序在商业运营成本降低、效率提升、用户体验优化等方面的作用,以及其与京东AI和冯…...
CppCon 2015 学习:CLANG/C2 for Windows
Visual Studio 2015 引入了基于 CLANG/LLVM 的新代码生成器,及其背景和意义。简单理解如下: 理解要点: VS2015 中引入了全新的代码生成技术,性能和质量都很棒。这套新技术基于 Clang,微软展示了相关新工具。Clang 和…...
Spring中@Primary注解的作用与使用
在 Spring 框架中,Primary 注解用于解决依赖注入时的歧义性(Ambiguity)问题。当 Spring 容器中存在多个相同类型的 Bean 时,通过 Primary 标记其中一个 Bean 作为默认的首选注入对象。 核心作用: 解决多个同类型 Bean …...
Spring Boot + Elasticsearch + HBase 构建海量数据搜索系统
Spring Boot Elasticsearch HBase 构建海量数据搜索系统 📖 目录 1. 系统需求分析2. 系统架构设计3. Elasticsearch 与 HBase 集成方案4. Spring Boot 项目实现5. 大规模搜索系统最佳实践 项目概述 本文档提供了基于 Spring Boot、Elasticsearch 和 HBase 构建…...
[zynq] Zynq Linux 环境下 AXI BRAM 控制器驱动方法详解(代码示例)
Zynq Linux 环境下 AXI BRAM 控制器驱动方法详解 文章目录 Zynq Linux 环境下 AXI BRAM 控制器驱动方法详解1. UIO (Userspace I/O) 驱动方法完整示例代码 2. /dev/mem 直接内存映射方法完整示例代码 3. 自定义字符设备驱动方法完整示例代码 4. 方法对比总结5. 实战建议 在 Zyn…...

【大模型:知识图谱】--5.neo4j数据库管理(cypher语法2)
目录 1.节点语法 1.1.CREATE--创建节点 1.2.MATCH--查询节点 1.3.RETURN--返回节点 1.4.WHERE--过滤节点 2.关系语法 2.1.创建关系 2.2.查询关系 3.删除语法 3.1.DELETE 删除 3.2.REMOVE 删除 4.功能补充 4.1.SET (添加属性) 4.2.NULL 值 …...
六、数据库的安全性
六、数据库的安全性 数据库的安全问题 数据库中的数据是可以共享的数据共享必然带来数据库的安全性问题 数据库系统中的数据共享不能是无条件的共享数据库中数据的共享是在 DBMS 统一的严格控制之下的共享,即:只允许有合法使用权限的用户访其被授权的数…...

贪心算法应用:装箱问题(BFD算法)详解
贪心算法应用:装箱问题(BFD算法)详解 1. 装箱问题与BFD算法概述 1.1 装箱问题定义 装箱问题(Bin Packing Problem)是组合优化中的经典问题,其定义为: 给定n个物品,每个物品有大小wᵢ (0 < wᵢ ≤ C)无限数量的箱子…...
C#学习第27天:时间和日期的处理
时间和日期的核心概念 1. UTC 和 本地时间 UTC(Coordinated Universal Time): 是一种不受时区影响的世界标准时间。在网络通信和全球协作中,用于统一时间度量 本地时间(Local Time): 是根据所…...

编程技能:格式化打印05,格式控制符
专栏导航 本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。 (一)WIn32 专栏导航 上一篇:编程技能:格式化打印04,sprintf 回到目录…...

MPLAB X IDE 软件安装与卸载
1、下载MPLAB X IDE V6.25 MPLAB X IDE | Microchip Technology 正常选Windows,点击Download,等待自动下载完成; MPLAB X IDE 一台电脑上可以安装多个版本; 2、安装MPLAB X IDE V6.25 右键以管理员运行;next; 勾选 I a…...

windows编程实现文件拷贝
项目源码链接: 实现文件拷贝功能(限制5GB大小) 81c57de 周不才/cpp_linux study - Gitee.com 知识准备: 1.句柄 句柄是一个用于标识和引用系统资源(如文件、窗口、进程、线程、位图等)的值。它不是资…...

[6-01-01].第12节:字节码文件内容 - 属性表集合
JVM学习大纲 二、属性表集合: 2.1.属性计数器: 2.2.属性表: 2.3.字节码文件组成5 -> 属性: 1.属性主要指的是类的属性,比如源码的文件名、内部类的列表等 2.4.字节码文件组成3 -> 字段: 1.字段中…...

基于机器学习的水量智能调度研究
摘要:随着城市化进程的加速和水资源供需矛盾的日益突出,传统的水量调度模式因缺乏精准预测和动态调控能力,难以满足现代供水系统对高效性、稳定性和节能性的要求。本文针对供水系统中用水峰谷预测不准确、能耗高、供需失衡等核心问题…...
深度解码:我如何用“结构进化型交互学习方法”与AI共舞,从学习小白到构建复杂认知体系
嗨,亲爱的学习者们,思考者们,以及所有渴望在知识海洋中自由翱行却时常感到迷茫的朋友们: 你是否也曾有过这样的深夜,面对堆积如山的学习资料,眼神迷离,内心却一片荒芜?明明每个字都…...

深入浅出 Scrapy:打造高效、强大的 Python 网络爬虫
在数据为王的时代,高效获取网络信息是开发者必备的技能。今天我将为大家介绍 Python 爬虫领域的王者框架——Scrapy。无论你是数据工程师、分析师还是开发者,掌握 Scrapy 都能让你的数据采集效率提升数倍! 项目地址:https://github.com/scrapy/scrapy 官方文档:https://do…...
ES6 Promise 状态机
状态机:抽象的计算模型,根据特定的条件或者信号切换不同的状态 一、Promise 是什么? 简单来说,Promise 就是一个“承诺对象”。在ES6 里,有些代码执行起来需要点时间,比如加载文件、等待网络请求或者设置…...
Axure 与 Cursor 集成实现方案
Axure 与 Cursor 集成实现方案 以下是一个完整的 Axure 与 Cursor AI 集成的原型实现方案,通过自定义 JavaScript 代码实现无缝对接: 一、整体架构设计 #mermaid-svg-f9hQDSN4hijU3mJY {font-family:"trebuchet ms",verdana,arial,sans-seri…...
汽车加气站操作工证考试重点
汽车加气站操作工证考试重点 一、汽车加气站操作工证考试主要内容 汽车加气站操作工证是从事CNG(压缩天然气)和LNG(液化天然气)加气站作业人员的必备资格证书。随着新能源汽车的快速发展,该证书的市场需求持续增长&a…...

贪心算法应用:带权任务间隔调度问题详解
贪心算法应用:带权任务间隔调度问题详解 贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法。带权任务间隔调度问题是贪心算法的一个经典应用场景。 问题定义…...

用电脑控制keysight示波器
KEYSIGHT示波器HD304MSO性能 亮点: 体验 200 MHz 至 1 GHz 的带宽和 4 个模拟通道。与 12 位 ADC 相比,使用 14 位模数转换器 (ADC) 将垂直分辨率提高四倍。使用 10.1 英寸电容式触摸屏轻松查看和分析您的信号。捕获 50 μVRMS …...

LLaMA-Factory - 批量推理(inference)的脚本
scripts/vllm_infer.py 是 LLaMA-Factory 团队用于批量推理(inference)的脚本,基于 vLLM 引擎,支持高效的并行推理。它可以对一个数据集批量生成模型输出,并保存为 JSONL 文件,适合大规模评测和自动化测试。…...
React从基础入门到高级实战:React 高级主题 - 测试进阶:从单元测试到端到端测试的全面指南
React 测试进阶:从单元测试到端到端测试的全面指南 引言 在2025年的React开发环境中,测试不仅是代码质量的保障,更是提升开发效率和用户体验的关键支柱。随着React应用的复杂性不断增加,高级测试技术——如端到端(E2…...
Ansible 剧本精粹 - 编写你的第一个 Playbook
Ansible 剧本精粹 - 编写你的第一个 Playbook 如果说 Ansible Ad-Hoc 命令像是你对厨房里的助手发出的零散口头指令(“切个洋葱”、“烧开水”),那么 Playbook 就是一份完整、详细、写在纸上的菜谱。它列明了所有需要的“食材”(变量),详细的“烹饪步骤”(任务),甚至还…...

【Elasticsearch】Elasticsearch 核心技术(二):映射
Elasticsearch 核心技术(二):映射 1.什么是映射(Mapping)1.1 元字段(Meta-Fields)1.2 数据类型 vs 映射类型1.2.1 数据类型1.2.2 映射类型 2.实际运用案例案例 1:电商产品索引映射案…...

【计算机网络】网络层协议
1. ICMP协议的介绍及应用 IP协议的助手 —— ICMP 协议 ping 是基于 ICMP 协议工作的,所以要明白 ping 的工作,首先我们先来熟悉 ICMP 协议。 ICMP 全称是 Internet Control Message Protocol,也就是互联网控制报文协议。 里面有个关键词 …...
.NET Core接口IServiceProvider
.NET Core 接口 IServiceProvider 深度剖析 在 .NET Core 和 .NET 5 的世界里,依赖注入(Dependency Injection,简称 DI)是构建可维护、可测试应用程序的关键技术。而 IServiceProvider 接口,正是依赖注入机制中的核心…...

结构型设计模式之Proxy(代理)
结构型设计模式之Proxy(代理) 前言: 代理模式,aop环绕通知,动态代理,静态代理 都是代理的一种,这次主要是记录设计模式的代理demo案例,详情请看其他笔记。 1)意图 为其…...

案例分享--汽车制动卡钳DIC测量
制动系统是汽车的主要组成部分,是汽车的主要安全部件之一。随着车辆性能的不断提高,车速不断提升,对车辆的制动系统也随之提出了更高要求,因此了解车辆制动系统中每个部件的动态行为成为了制动系统优化的主要途径,同时…...