Neo4j 版本4 新特性介绍 - 多数据库

neo4j多数据库并行运行实现 neo4j desktop实现多数据库运行 阅读详情

1. 目标

在本指南中,我们将逐步介绍如何在Neo4j 4 企业版DBMS中管理多个数据库。

本文原文链接:https://neo4j.com/developer/manage-multiple-databases/

2. 先决条件

请下载并安装Neo4j(4.0或更高版本)企业版。 阅读有关图数据库的部分会有所帮助。

 

3. 概述

在Neo4j(v4.0 +)中,我们可以同时创建和使用多个活动数据库。 这适用于独立部署和因果群集部署,并允许我们在一个Neo4j数据库安装中维护多个单独的图。

当我们创建数据库时,Neo4j将首先创建系统数据库和默认数据库。 系统数据库名为system,它包含适用于整个数据库的总体信息--管理单个数据库的执行(停止和启动)以及维护用户特权(安全角色和特权)。 默认数据库名为neo4j(可以更改),在这里我们可以在图中存储和查询数据,并与其他应用程序和工具集成。 我们还可以根据需要创建其他数据库,以存储可能与我们的任何其他数据库都不相关的其他图和不同数据。

 

4. 系统设置

 

我们将需要运行数据库并打开Neo4j浏览器,以逐步完成本指南。 如果您不确定如何创建和启动数据库,请参照本指南中提供的在Neo4j Desktop里的逐项指导说明。

 

4.1 查看初始数据库

 

如前所述,当安装Neo4j并创建一个实例时,它将由两个数据库启动:一个系统数据库和一个默认(neo4j)数据库。 启动Neo4j浏览器将自动将我们指向neo4j默认数据库,如命令行中neo4j$ 提示符所示。

如果要查看系统信息(查看、创建/删除、管理数据库),则需要切换到系统数据库。 我们可以使用:use命令来做到这一点,然后告诉它我们想要哪个数据库。

命令::use system

结果:

现在,我们可以运行命令来查看使用实例创建的数据库。 SHOW DATABASES命令将显示我们实例中的所有数据库(或群集中跨实例的数据库)以及地址、角色、请求和当前状态,任何错误以及默认的数据库。请记住,此时,我们只希望使用系统数据库和默认(neo4j)数据库。

如何我们预期的那样。 现在,将另一个数据库添加到列表中。

 

4.2 创建一个新的数据库

要将数据库添加到实例中,我们可以使用CREATE DATABASE命令。 现在我们将使用一个名为movieGraph的示例,您可以为此数据库选择任何名称。

数据库命名不区分大小写。 创建数据库movieGraph将在系统信息中显示moviegraph作为名称,但是您可以任意使用movieGraph或moviegraph更改为数据库。 两者都将连接到相同的数据库,并且不允许您使用大写/小写字母(例如MovieGraph,moviegraph,mOvIeGrApH等)的任何其他组合来创建另一个数据库。

虽然结果消息似乎不能说服我们的创建命令起作用,但是我们可以通过再次运行SHOW DATABASES命令来验证新数据库是否显示在列表中,以进行验证!

看起来不错。 我们可以切换到新数据库以开始专门使用该数据库(命令是:use movieGraph)。

加载数据并使用我们的movieGraph数据库

接下来,我们将一些样本数据加载到movieGraph数据库中并使用它。 在执行此操作之前,让我们通过使用CALL db.schema.visualization()过程查看模式来验证数据库是否真正为空。

Neo4j的早期版本使用CALL db.schema()过程,该过程已转换为上面显示的更新过程。

结果中未显示任何节点或关系数据,因此数据库为空。添加一点点数据后,结果中将看到一个可视化的数据模型。 我们可以通过编写Cypher查询以返回任何节点和关系来进行另一项快速测试。

命令:MATCH (node)-[rel]-(other) RETURN node, rel, other

结果:

现在我们再来添加一些数据。

 

4.2 加载电影数据

我们将使用Neo4j用户可能已经熟悉的电影小数据集。 要加载,请在命令行中输入:play movies命令并执行。 指南将显示在结果窗格中。

 

我们可以通过单击窗格右侧的箭头导航到第二张幻灯片,然后将出现一个包含长Cypher查询的幻灯片。

 

右侧的Cypher查询将以灰色虚线标出轮廓。 我们可以单击该查询,它将复制/粘贴到命令行中。 单击以执行查询,这将返回一些结果,确认已加载数据。

 

 

 

结果窗格中图表的颜色和位置可能会有所不同。 但是,如果在本指南中任何时候数据都不同步,则可以按照本指南底部的步骤清除实例,然后再次尝试加载数据。

我们还可以再次检查架构过程,以查看数据在数据库(数据模型)中的组织方式。 再次使用命令CALL db.schema.visualization()并执行它,以查看我们具有通过几种不同类型的关系连接的Person节点和Movie节点。

现在,我们可以对想要的电影数据运行任何查询。 例如,使用如下所示的通用查询将可以搜索与其他节点有任何关系的节点。

 

 

尽管我们可以查询和处理电影数据,但我们希望使用多数据库功能,并看到一个数据库中的数据无法在另一个数据库中访问。 为此,我们需要在另一个数据库中加载一些不同的数据。

 

4.3 加载数据并使用我们的neo4j数据库

让我们回到默认的neo4j数据库,并在其中加载Northwind零售系统数据。 这样,当我们查看数据库(movieGraph和neo4j)时,将看到两组完全不同的数据。:use neo4j命令会将我们切换到该数据库,并允许我们在该数据库中加载。

为了确认当前该数据库中没有数据,我们可以对neo4j运行CALL db.schema.visualization()过程。

 

这样就看起来都很清楚。 如果我们要确认的话,我们也可以从上面运行测试查询。 现在我们准备添加一些数据。

 

4.4 加载northwind数据

我们将使用浏览器指南:play northwind,该指南具有内置的Cypher查询,我们可以运行这些查询来加载零售供应商,产品和产品类别。

 

单击结果窗格右侧的箭头以转到指南中的下一张幻灯片,将有3个load语句和3个索引语句。

执行所有6个步骤以填充节点,然后再次单击指南上的向右箭头以前进至下一张幻灯片。 在此幻灯片上,我们还有2条语句来查找节点并在它们之间创建关系。

 

单击并运行这两个语句,然后我们可以通过再次运行模式过程来检查数据是否正确加载。 我们应该期望与产品节点有关系的供应商节点与类别节点有关系的供应商节点。

 

 

结果窗格中图表的颜色和位置可能会有所不同。 但是,如果在本指南中任何时候数据都不同步,则可以按照本文底部的步骤清除实例,然后再次尝试加载数据。

那就是我们所期望的! 我们可以再次运行通用测试查询以检索一些Northwind数据。

 

 

请注意,在数据模型或测试查询中,我们看不到任何电影数据库实体或关系。 这些都在我们的movieGraph数据库中,并且是完全分开的。 如果该图中存在这些节点和关系,则测试查询将检索它们,因为我们在搜索中未指定任何特定类型的节点和关系。

我们可以再做一个步骤来验证Northwind数据是否也不在我们的movieGraph数据库中。

在数据集和数据库之间导航

 

让我们再次使用 :use movieGraph命令切换回movieGraph数据库。 接下来,我们运行熟悉的CALL db.schema.visualization()过程以拉回我们的数据模型。

 

 

我们看到该图中没有Northwind数据。看起来不错。我们的通用测试查询也可以是另一种验证方法。

我们可以继续分别操作每个图形,但是可以在没有单独实例的情况下连接到同一Neo4j安装中的不同数据集。

 

4.6 清除同一实例中的数据库

 

最后一个管理上的区别是如何在不影响具有多个数据库的整个实例的情况下完全清除一个数据库。在处理单个实例和单个数据库方法时,用户可以删除整个实例并重新开始。但是,对于多个数据库,除非我们可以接受可以丢失其他数据库中的所有内容,否则我们无法做到这一点。

这种方法与其他DBMS相似,在这些DBMS中,我们可以删除并重新创建数据库,但保留其他所有内容。 Cypher的命令是CREATE OR REPLACE DATABASE <name>

。这将创建数据库(如果尚不存在)或将现有数据库替换为干净的数据库。

例如,在研究这些示例时,我们可能错误地更改了负载查询,或者意外地添加或删除了所需的数据。在这种情况下,删除所有数据将不会完全擦除数据模型的索引或幻影实体。相反,我们可以使用CREATE OR REPLACE DATABASE命令并重新开始。

命令:CREATE OR REPLACE DATABASE neo4j

结果:

本文原文链接:https://neo4j.com/developer/manage-multiple-databases/ 

 

图数据库neo4j-community-3.5.35创建多个数据库 5.重新启动neo4j服务。 阅读详情

相关推荐

Neo4j 版本4 新特性介绍 - Cypher [1] CALL 子查询

Neo4j版本4中添加了很多重要的改进和新特性。我们会在接下来几个月中陆续介绍这些新特性。先从Cypher开始。 关于CALL的完整使用方法请参见:https://neo4j.com/docs/cypher-manual/current/clauses/call-subquery/。 1. 介绍 Cypher版本4中增加的CALL命令允许执行子查询,即其他查询内部的查询。 子查询允许组合查询,这在使用UNION或聚合时特别有用。 子查询为每个传入的输入行评估并执行,并且该子查询可以产生任意数量...

GraphWay的博客 3024

【neo4j】: 如何在neo4j中创建多个数据库

问题 我们在使用neo4j创建图数据库的时候,有时候想要创建多个数据库,但是3.x版本没有创建多个版本的命令。 解决 简而言之就是3.x版本可以通过配置文件neo4j.conf中的 dbms.active_database=newName.db 其默认值是graph.db,这个值可以用你想要的名称替换后(记得打开注释),重启Neo4j服务就会在data目录下生成一个新的数据库文件。改回去也是同样的操作。 其他 4.x 可以通过命令行新增,但是商业版本才有这个功能。 参考:Neo4j图数据库系列:关于在Ne

Jack_Kuo的博客 4787

Windows 11环境下Neo4j 5.x社区版与JDK17配置全指南

本文详细介绍了在Windows 11环境下配置Neo4j 5.x社区版与JDK17的完整指南,包括环境准备、安装步骤、常见问题排查与性能优化建议。通过实战案例展示了Neo4j在处理复杂关系数据时的优势,帮助开发者快速搭建高效的图数据库开发环境。

weixin_29268267的博客 167

Neo4j 4.2.7社区版如何切换数据库

在Neo4j企业版中,可以通过create database xxx命令来创建一个新的数据库,但是: 社区版本不支持命令create database xxx! 可以在neo4j目录的neo4j-community-4.2.7\conf\neo4j.conf中找到: # The name of the default database #dbms.default_database=neo4j 将其加一行改为: # The name of the default database...

Ewan的博客 1745

Neo4j企业版4.4.0 Linux部署与实战指南

虽然内置角色能满足大多数场景,但在复杂组织结构中,往往需要更细粒度的权限划分。Neo4j 支持自定义角色,并可通过GRANTDENY语句授予特定权限。例如,创建一个仅能访问特定标签数据的角色:// 创建自定义角色// 授予对 Person 节点的读取权限// 允许执行 MATCH 查询上述语句实现了字段级的访问控制——analyst用户只能查看Person节点上的name和age属性,其他属性(如 email)将被自动过滤。

weixin_35753431的博客 1488

思博伦Spirent TestCenter创建单播流uni-stream

Traffic Generator列表中会出现刚才创建的uni-stream,创建完成。通常测试情况下,主要对Ethenet II和IPv4 Header进行配置。(通常情况下,如果流配置比较规范,选择任意端口接收,也没问题。编辑uni-stream基本信息。配置本条流由STC哪个端口接收。

辗转反测的博客 1681

jdk1.8.0是哪个版本_重大版本Neo4j 4.0 已经发布

“Neo4j 4.0: The Graph Database for a New Decade”这是官方对于Neo4j 4.0版本的定位:具有划时代意义的图数据库。据Neo4j 的首席科学家 Jim Webber 介绍“Neo4j 4.0重大版本是有史以来投入最大的工程技术团队多年研发的结晶。为了使之对开发人员更友好,我们在此版本中投入了大约一个世纪的人力”。到底4.0版本有哪些新功能,...

weixin_29942159的博客 5975

树莓派+STM32+激光雷达:大学生工训赛智能物流小车全栈开发实录(附避坑指南)

本文详细记录了基于树莓派、STM32和激光雷达的智能物流小车全栈开发过程。文章从系统架构设计、硬件集成、软件框架搭建到机械臂控制与视觉辅助定位,系统阐述了如何构建一个完整的机器人系统,并分享了在电源管理、通信延迟、里程计误差等关键环节的实战避坑指南,为嵌入式与机器人开发提供了宝贵经验。

kotlin6android的博客 748

Neo4j 4.0有什么新特性?

2020年1月新近发布的Neo4j 4.0 企业版是近几年来Neo4j原生图数据库的一个重要版本,它包括了很多激动人心的新特性: 在独立服务器或因果群集中,每个服务器实例支持多个数据库(multi-databases),以实现对数据的物理隔离和分布式存储(即“分库”、“分图”)。 增强的Cypher特性支持对跨数据库的读取操作,写入操作仍然限于单个数据库。 基于数据库模式的安全性和基于角色的...

马超的博客 1513

手把手教你用Simulink搭建交流异步电机矢量控制模型(附完整仿真文件)

本文详细介绍了如何使用Simulink搭建交流异步电机矢量控制模型,涵盖系统架构设计、关键模块实现、PI调节器参数整定及仿真分析等核心内容。通过实战指南和完整仿真文件,帮助读者掌握矢量控制技术,提升电机控制系统的设计与调试能力。

n4o5p6q7r的博客 250

主升浪潜伏主图指标公式 提前潜伏,持仓待涨,通达信炒股指标公式

浙江世宝,第一次出现信号2022年6月1日,当日冲高回落,收涨3.48%,随后涨涨突破前高,回踩后出现第二次主升潜伏信号,时间2022年6月13日,当日收涨9.46%,后市连续涨停,走出12连板行情。九安医疗,第一次出现信号,黄色文字,当日2021年11月1日,涨幅0.19%,第二次出现信号一字涨停,没机会买进,第三次是T字,需要手快,后市连续上涨,接近20倍的大牛股。启明信息,突破区间后的回踩转涨位置出现信号,时间2021年11月29日,当日涨幅1.14%,次日爆发,波段涨幅152.65%。

weixin_69760830的博客 1878

Neo4j中文开发人员周刊 - 20200520【创刊号】

Neo4j中文开发人员周刊 2020年5月20日 各位Neo4j图数据库的开发者和使用者,你们好! 酝酿和筹备已久的《Neo4j中文开发者周刊》终于和大家见面了!在中国有大量Neo4j的使用者和开发者,然而关于Neo4j产品的最新进展和应用案例方面的中文介绍一直不能满足大家的需要。相比起英文资源的丰富度与多样,能够帮助大家了解、使用和精通Neo4j图数据库的中文资源仍然存在内容有限、更新滞后和缺乏干...

GraphWay的博客 606

107.在 Vue 3 中使用 OpenLayers 实现视图联动功能

是一个非常强大的 Web 地图渲染库,支持多种地图数据格式和交互操作。在 Vue 3 中,我们可以利用。绑定到真实的 DOM 元素上,我们就可以用它们来初始化 OpenLayers 地图。来封装和管理 OpenLayers 地图的状态,从而更高效地开发地图应用。,即两个地图窗口共享同一个视图(View),从而实现同步缩放、拖动等操作。这可以确保 Vue 组件销毁时,OpenLayers 也正确销毁地图实例。,并且它们会同步缩放和拖动,达到地图联动的效果。这样,无论你拖动哪个地图,另一个都会同步变化。

小彭的博客 1938

Python连接Neo4j踩坑实录:为什么你的py2neo总是报JSON解码错误?

本文详细解析了Python中使用py2neo连接Neo4j时常见的JSON解码错误问题,提供了从基础配置到高级排查的完整解决方案。涵盖认证信息、协议版本、连接参数等关键因素,并分享性能优化技巧与最佳实践,帮助开发者高效操作Neo4j图数据库。

weixin_29040367的博客 87

基于深度学习的电力系统暂态稳定评估与预防控制复现

本文复现了基于深度学习的电力系统暂态稳定评估与预防控制方法。主要内容包括:(1)数据预处理环节,对IEEE 39节点系统的电压幅值、相角等特征数据进行归一化处理;(2)ACNGAT模型实现,该模型结合时间卷积网络(TCN)和图注意力网络(GAT)提取时空特征;(3)采用改进的帝企鹅优化算法进行预防控制。关键技术点包括:融合时空信息的特征提取、改进的邻接矩阵构建方法(λ_ij = E_i * E_j * B_ij)以及时空注意力机制。代码实现采用Python和PyTorch框架。

huanghm88的专栏 335

【模型之美】3、文本聚类与智能摘要,让AI帮你做个总结

在信息过载时代,文本聚类与摘要技术成为关键工具。本文提出了一种结合OpenAI Embedding与传统机器学习的方法,实现从文本预处理到智能分析的完整流程。技术方案分为三阶段:1)通过Embedding将文本转化为语义向量;2)采用K-Means等算法进行无监督聚类;3)利用大模型生成可解释的标签和摘要。实验证明,该方法能有效提升信息处理效率,如在新闻聚合系统中自动分类10,000篇文章,准确率较传统方法提高15%。方案包含实用代码示例,涵盖文本清洗、向量化、聚类优化等关键技术细节,可应用于对话记忆、舆情

2025博客之星Top81。专注AI工程化与架构实战。从分布式思维到模型部署,用工程化视角为你厘清AI落地的真实路径。 1439

将 Neo4j 的原生异常转换为 Spring 的异常体系,使得开发者可以更一致地处理异常

Spring Data Neo4j 2.1.0 Release Candidate 1 的发布,为使用 Neo4j 图数据库的 Java 应用程序提供了更强大的支持。通过使用 Spring Data Neo4j,开发者可以更方便地进行数据访问和操作,同时享受 Spring 框架带来的便利和一致性。希望这些信息对你有所帮助! Dear Spring-NOSQL Community,

[Blog][Domain] programb.blog.youkuaiyun.com 426

AHB—SRAMC项目(结构图,核心代码、Testbench架构)

文章目录一、AHB_SRAMC项目介绍1.1.AHB总线控制单元(ahb_slv_if.v)1.2.SRAM控制单元(sramc_top.v)1.3.主要的传输路径二、结构框图2.1.AHB_SRAMC结构图(重点)2.2.总线控制单元与SRAM控制单元结构图三、部分核心代码(重点理解)四、SystemVerilog Testbench架构(重点)五、目录结构 一、AHB_SRAMC项目介绍 本项...

Mr.翟的博客 3万+

探索GoGM:强大的Go语言对象图映射器

探索GoGM:强大的Go语言对象图映射器 项目介绍 GoGM(Golang Object Graph Mapper)是一个专为Go语言设计的对象图映射器,旨在简化与Neo4j图数据库的交互。GoGM v2版本带来了多项重大更新,包括支持多数据库、OpenTracing、Context支持以及更灵活的日志接口等,使其成为处理复杂数据关系的理想选择。 项目技术分析 GoGM v2基于Go语言开发,利用...

gitblog_00037的博客 522

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Windows环境下Neo4j 3.5.5与JDK1.8的完美搭配:避坑指南与实战配置

本文详细指导在Windows系统下配置Neo4j 3.5.5与JDK 1.8的稳定环境,涵盖环境准备、安装步骤、数据导入及常见故障排查。重点针对遗留项目或固定JDK 1.8环境的用户,提供从零开始的避坑实战指南,帮助快速构建知识图谱应用。

tcp8optimizer的博客 182

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Neo4j Bolt协议详解:高性能图数据库通信的核心技术

Neo4j Bolt协议是图数据库Neo4j的高性能二进制通信协议,专为快速、高效的数据库操作而设计。Bolt协议通过二进制格式传输数据,相比传统的HTTP/REST接口,能够显著提升图数据库的查询性能和响应速度,是现代图数据库应用的核心通信技术。 ## 🔧 Bolt协议架构与核心组件 Bolt协议采用分层的架构设计,主要包括以下几个核心组件: **协议协商层** - 负责客户端与服务器之

gitblog_00088的博客 417

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

保姆级教程:在Ubuntu 22.04上搞定Neo4j 5.x社区版安装与远程访问

本文提供在Ubuntu 22.04上安装和配置Neo4j 5.x社区版的详细指南,涵盖APT和TAR包两种安装方式、关键安全配置及远程访问优化。特别针对云服务器环境,提供防火墙设置和性能调优建议,帮助开发者高效部署这一领先的图形数据库。

weixin_28736355的博客 189

Neo4j批量导入数据与启动database

一、关闭和启动neo4j 在批量导入数据前,需要先将活动的数据库关闭。进入neo4j目录 #查看数据库状态 bin/neo4j status #关闭数据库 bin/neo4j stop #启动数据库 bin/neo4j start 二、批量导入 1、linux系统进行neo4j文件夹 cd neo4j 2、将导入文件放到neo4j/import目录下 (1)创建节点\关系文件夹 $ cd import/ $ mkdir nodes_type $ mkdir relationships_type (2)

小马日记 1432

Neo4j 版本4 新特性介绍 - Neo4j Browser 4.2.2 新特性

Neo4j浏览器与Monaco编辑器的结合 想象一下您在编写Cypher查询时,想重用手头的一些VS(Visual Studio)代码,可以怎么办?请告诉我们您的想法。 作者:Greg King(Neo4j开发工具产品经理) Neo4j浏览器4.2.4于上周发布,它带来了令人兴奋的变化,以改善您编写和运行Cypher查询时的体验。 最新的浏览器现在可以在Neo4j Desktop中使用,也可以在browser.graphapp.io中使用。 1. 新的Cypher编辑器 此版本的最大变..

GraphWay的博客 2098

Neo4j 4.4.8+jdk11安装配置问题与解决方案

jdk需要下载11版本的,我开始下载配置的最新版jdk18,但是后面配置neo4j后运行时报错提示需要安装jdk11。以下是jdk11和neo4j下载配置过程。jdk11安装配置教程:jdk11教程 在这里,我遇到一个问题,就是命令提示符在跳转到D盘时,cd D:\无法跳转到指定文件,解决方法是直接在命令行中输入 D: ,就可以直接跳转到D盘,然后再cd进入教程中的文件路径中,按照教程中的步骤就可以成功配置jdk11并查看版本信息啦。Neo4j下载官网:https://neo4j.com/download-

weixin_45027164的博客 2236

Neo4j 同时打开多个数据库

同一台电脑同时运行多个neo4j数据库互不干扰。 在不同路径下重新安装neo4j,修改每个neo4j目录下的配置文件neo4j.conf 后面分别改为需要打开的数据库名字。 设置不同端口号。 不要配置neo4j的环境变量,然后分别从bin目录下用neo4j.bat console 打开。 参考:neo4j多个库同时运行_Kai_TJU的博客-优快云博客_neo4j分库 ...

qq_37195826的博客 1595
上一篇: Neo4j Cypher查询语言技巧汇编 - List Comprehension
下一篇: Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC(5.5) - 导入JSON数据
俞博士
俞博士 领域专家: 数据库技术领域 领域专家: 数据库技术领域 业界专家认证 业界专家认证
博客等级 码龄9年 2326粉丝 72原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值