
图数据库
文章平均质量分 65
俞博士
专注图数据库、图深度学习和行业应用的技术直男。
e: joshua.yu@neo4j.com
展开
-
Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.9 - 图生成 简单图
1、概述 apoc.generate.simple过程根据指定的节点度数生成图。该过程要求一个非负整数的数组作为参数之一,其中的每个元素是节点的度,例如:[2,2,2,2]表示4个节点,每个节点的度都是2。[2,2,3,3]表示4个节点,其中2个节点的度是2、2个节点的度是3。节点的度数的顺序无关,但是最终生成的必须是合法的图,即每条边必须连接2个节点。[1,2,3,4]这样的序列会产生错误,因为无法构造一个合法的图,其中4个节点的度数分别是1、2、3、4。(不信的话你可以在纸上画来试试?...原创 2022-04-18 12:25:24 · 1005 阅读 · 0 评论 -
Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.8 - 图生成 完全图
1、概述apoc.generate.complete 本过程生成一个完全图。完全图中,每个节点有到所有其他节点的边。在无向图中,有N个节点的完全图有N x (N – 1) / 2个边。Neo4j在存储关系时必须指定关系的方向,因此APOC会生成从id较小的节点出发、到id较大的节点的边。2、过程调用接口 过程接口 CALL apoc.generate.complete( noNodes, label, relTy...原创 2022-04-18 12:18:07 · 887 阅读 · 0 评论 -
从《金融信息系统多活技术规范》看Neo4j企业版集群技术
1.背景2021年2月7日,中国人民银行发布了《金融信息系统多活技术规范》(以下简称《规范》),首次将多活作为指导金融信息系统灾难恢复的标准。《规范》开篇给出了指导“多活技术”的驱动因素:——更高的灾难恢复要求,对于主备方式,当灾难事件发生后,灾难备份系统接管业务往往需要经过较长的时间,而当前金融业务的特点对业务连续性提出了更高的要求。——接管能力难以把控,对于主备方式,灾难备份系统在正常情况下并不承载真实业务,其真实接管能力难以有效评估,因对其接管能力的评估主要依赖于灾难恢复预案的制定、管理.原创 2022-03-10 19:42:49 · 1523 阅读 · 0 评论 -
Neo4j 图数据科学应用 - 图目录和图投影(二)
3. 在目录中列出图表可以使用gds.graph.list()过程列出有关目录中图的信息,该过程采用一个可选参数graphName:如果给出图名称,则仅列出该图的信息。 如果没有给出图名称,将列出所有图的信息。 如果给出了图名称但未在目录中找到,则将返回一个空列表。CALL gds.graph.list( graphName: String?) YIELD graphName, database, nodeProjection, relationshipProjec..翻译 2021-09-15 19:40:49 · 1049 阅读 · 0 评论 -
Neo4j 图数据科学应用 - 图目录和图投影(一)
图目录(Graph Catalogue)和图投影(GraphProjection)原文链接:https://neo4j.com/docs/graph-data-science/current/management-ops/graph-catalog-ops/本节详细介绍了可用于管理 Neo4j 图数据科学库中命名图投影的图目录操作。1.概述图算法在图数据模型上运行,该模型是 Neo4j 属性图数据模型的投影(Projection)。 图投影可以看作是物理存储的图结构数据在内存(主要是JV..原创 2021-09-01 12:36:21 · 1927 阅读 · 1 评论 -
Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC (7.1) : 元数据管理
1.概述Neo4j是“轻型模式数据库”(Schema-lite),对所存储数据的类型和格式要求没有关系数据库那样严格。然而,作为数据库管理系统,Neo4j还是有相关元数据管理功能的。在Neo4j Browser中可以通过执行::schema命令查看索引和限制;或者显示图结构的元模型:CALL db.schema.visualizationAPOC中还提供了更多元数据相关功能。2.APOC中的元数据管理功能 除了Cypher中提供的查看数据库中元数据(meta...原创 2021-08-19 09:21:15 · 590 阅读 · 1 评论 -
鲲鹏920+OpenEuler+毕昇JDK:Neo4j信创兼容性测试
1.背景"鲲鹏计算产业是基于鲲鹏处理器的基础软硬件设施、行业应用及服务,涵盖从底层硬件、基础软件到上层行业应用的全产业链条。纵观鲲鹏计算产业生态全景,硬件方面,围绕鲲鹏处理器,涵盖包括昇腾AI芯片、智能网卡芯片、底板管理控制器(BMC)芯片、固态硬盘(SSD)、磁盘阵列卡(RAID卡)、主板等部件以及个人计算机、服务器、存储等整机产品。基础软件方面,涵盖操作系统、虚拟化软件、数据库、中间件、存储软件、大数据平台、数据保护和云服务等基础软件及平台软件。行业应用方面,鲲鹏计算产业生态覆盖政府、金融、电信、.原创 2021-08-18 21:23:48 · 2411 阅读 · 0 评论 -
Neo4j的事务管理和锁行为
原文链接:https://neo4j.com/docs/java-reference/current/transaction-management/1.概述为了充分维护数据完整性并确保良好的事务行为,Neo4j 支持 ACID的四大属性:原子性,如果事务的任何部分失败,数据库状态保持不变。 一致性,任何事务都会使数据库处于一致状态。 隔离性,在一个事务期间,修改过的数据不能被其他操作访问。 持久性,DBMS 始终可以恢复已提交事务的结果。具体来说:访问图、索引或模式的所有数据..翻译 2021-08-18 13:26:53 · 3758 阅读 · 0 评论 -
幕后花絮:世界上最大的分布式图数据库是怎样炼成的?
本文基于该文章内容整理、补充得到:https://neo4j.com/developer-blog/behind-the-scenes-worlds-biggest-graph-database/在2021年6月17日的Neo4j NODES 2021全球图技术峰会上,Neo4j的工程师展示了迄今为止部署成功的最大的图数据库集群:1129个Neo4j数据库实例,其中: 1128个论坛数据分片 1个用户分片 3个Neo4j Fabric服务实例提供跨分片的查询 每个论坛分..翻译 2021-06-23 21:46:28 · 285 阅读 · 0 评论 -
Neo4j Fabric 快速入门
作者:Soham Dhodapkar(Neo4j助理销售工程师)前言Fabric 是 Neo4j 4.0 中引入的新功能,是一种在多个数据库中存储和检索数据的方法。 此功能可以使用单个 Cypher 查询轻松查询同一 数据库实例中的多个库/图,或多个 数据库实例中的数据。从实用的角度来看,Fabric 提供了以下基础功能和工具:数据联邦(Data Federation):能够访问分布式数据源中、彼此不相连的图中的数据。 数据分片(Data Sharding):能够访问分布式数据..翻译 2021-06-22 14:05:14 · 881 阅读 · 0 评论 -
Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC(6.6):节点和关系的相互转换
定义 可以将指定关系转换成节点,并在关系的原起始节点和新节点、以及终止节点和新节点之间使用新的关系相连接。被转换的关系的属性则成为新节点的属性。原创 2021-06-07 13:31:52 · 430 阅读 · 1 评论 -
Neo4j GDS 图数据科学库1.6版的新特性
作者:Alicia Frame(Neo4j 数据科学首席产品经理)翻译 2021-06-07 12:54:10 · 821 阅读 · 0 评论 -
Neo4j图数据库版本4新特性介绍:内置角色和权限
Neo4j版本4中的内置角色 (企业版特性)本章节介绍Neo4j预先定义的角色。Neo4j 4提供具有默认权限的内置角色。 内置角色和默认特权是:PUBLIC访问默认数据库。 允许以用户自己的特权执行过程。 允许以用户自己的特权执行用户定义的功能。 reader访问所有数据库。 遍历和读取数据图(所有节点、关系、属性)。editor访问所有数据库。 遍历、读取和写入数据图。 写访问权限仅限于创建和更改图的现有属性键、节点标签和关系类型。换句...原创 2021-05-04 12:19:31 · 1725 阅读 · 1 评论 -
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编辑器此版本的最大变..翻译 2021-03-23 12:29:56 · 1862 阅读 · 0 评论 -
GRAND Stack - 快速开发Neo4j数据库应用的全栈框架
注:本文稿基于Will Lyon在2019年10月的NODES 2019上发表的演讲整理修改后发表。 1、GRAND是什么?GRANDstack是一个开发基于Neo4j图数据库应用的全栈框架,它基于GraphQL、React、Apollo和Neo4j Database 构建数据库应用程序。GraphQL是API层;React是一个JavaScript UI库,用于在Web、移动以及VR中创建用户界面;Apollo是一套工具和服务,它使在客户端和服务器上使用GraphQL更加容易...原创 2020-12-09 18:22:54 · 718 阅读 · 0 评论 -
Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC(6.1)- 图重构 概述
Neo4j图数据库除了对复杂、深度查询的性能有更好的支持之外,其灵活的数据库模式(schema)管理是另外一个在处理大数据方面的独特优势。随着数据的积累和应用需求的演变,我们往往会意识到最初的数据库模型不再是最优化和最适合的,这时就需要进行数据库模式的重构(Refactoring)。APOC的图重构(Refactoring)过程提供对图中节点、关系和属性的转换、合并、复制等功能。Neo4j的图模式重构不像关系数据库那样需要删除和重新创建表、涉及复杂的运维操作,使用APOC中提供的过程可以方便的实现。原创 2020-12-08 11:31:21 · 523 阅读 · 0 评论 -
Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC(5.2) 导入CSV文件中的数据
1.定义 CSV是最常用的数据交换格式,被各类应用广泛使用。Neo4j提供IMPORT数据导入命令行工具(neo4j-admin import,只能离线使用),以及在Cypher中提供LOAD CSV来实现从CSV文件中导入数据到数据库中。 APOC的CSV导入过程则提供了更丰富的特性:为每行增加了行号 为每行提供了MAP和LIST两种数据表示 自动的数据类型转换(包含分解列表到数组) 保持字串原始格式的选项 忽略字段的选项 没有标题的文件...原创 2020-10-08 12:33:33 · 1564 阅读 · 2 评论 -
使用Neo4j Streams实现与Kafka的实时消息集成【1】- Sink模式
Neo4j Streams在线文档:https://neo4j.com/docs/labs/neo4j-streams/current/overview/一、背景介绍在许多的图数据库应用场景中,用户都希望将Kafka和其他流解决方案与Neo4j集成,以实现将其他数据源将数据实时更新到图中,或将图数据库中的更新事件(更改数据捕获 -CDC)发送到事件日志以供以后使用。上图中,对应(1),社交媒体网站即时将用户互加好友的事件发送到Kafka上特定主题,然后更新在Neo4j中的社交网络图;对应..原创 2020-07-27 21:01:43 · 1694 阅读 · 0 评论 -
Neo4j 4.0 / 4.1 配置快速参考 - 单服务器模式,适用于社区版和企业版
Neo4j 4.0/4.1是最新的Neo4j 图数据库平台产品,提供多数据库、跨库查询、细粒度数据访问控制等丰富特性。相比3.5,4.0在配置方面也有不少改变。为了方便大家快速上手,这里提供一个配置样例。1、系统环境- Windows 10,Linux同样适用;- CPU: 4 cores- RAM: 32GB,分配给Neo4j一共6GB。- 硬盘:强烈建议用SSD,如果没有就通过USB3 外接一个。- 适用的数据库大小:<1亿节点、5亿关系,约50GB在数据库目录下。2、原创 2020-07-13 17:02:00 · 2892 阅读 · 0 评论 -
Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC(5.1) - 导出数据到CSV文件
1、配置要求为了能够使用APOC过程导出数据,需要增加下面的配置项: neo4j.conf apoc.export.file.enabled=true 为了能够使用APOC过程导入数据,需要增加下面的配置项: neo4j.conf apoc.import.file.enabled=true APOC的数据导入和导出目录是服...原创 2020-06-22 22:46:50 · 1178 阅读 · 0 评论 -
Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC(4.7) - Cypher语句的条件分支
1、概述APOC提供以下过程来运行有条件分支的Cypher语句。 接口 过程 CALL apoc.when( condition, ifQuery, elseQuery:'', params:{} ) YIELD value 基于条件,执行给定参数的ifQuery或elseQuery只读查询。 CALL apoc.do.when( condition, ...原创 2020-06-22 22:41:54 · 1233 阅读 · 1 评论 -
Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC(4.6) - 并行执行Cypher
Cypher的执行在缺省情况下都是单线程的。而有时,我们需要并行执行查询,例如对一个名称列表,查询它们在图中的邻居。这里,可以用APOC的Cypher相关过程runParallel()。// 并行初始化并执行查询。 // 缺省情况下,最大分区数/并行数为CPU内核数 x 100; // 最多批次数为10000。例如,如果Neo4j数据库被分配了4个内核, // 那么并行的最多进程数为400。CALL apoc.cypher.parallel( fragment, params,原创 2020-06-15 16:21:17 · 765 阅读 · 0 评论 -
Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC(4.5) - 动态Cypher执行
有时候,我们需要更加灵活的Cypher查询执行,例如在创建节点时根据变量的值决定节点的标签,这时可以使用APOC中cypher执行相关的过程。 接口 功能 CALL apoc.cypher.run( fragment, params ) YIELD value 使用给定的参数执行数据库读取查询。 函数 apoc.cypher.runFirstColumnSingle ..原创 2020-06-15 15:20:23 · 1368 阅读 · 1 评论 -
【Neo4j查询优化系列】在ORDER BY中使用节点属性索引提高排序性能
在neo4j 3.5版本中,增加了对ORDER BY的优化,可以通过本地数据库索引(Native Index)提高排序效率。对于有百万或更多节点的集合,排序性能提高会很显著。在查询中,若要利用这一特性,具体方法如下:1、为节点属性定义本地索引: CREATE INDEX ON :LABEL(Property)属性值的类型可以是任何基本类型,但是Point类型除外。2、在Cypher...原创 2019-02-26 20:42:50 · 2410 阅读 · 0 评论 -
Neo4j的免费在线培训教程
对于新的产品和技术,相关资料和介绍也相对处于起步阶段。特别是系统化的、面向不同需要的使用者的教程更加难得。其实Neo4j的资料除了书籍、网站,还有相当丰富的在线教程,供使用者自我学习。使用方法如下。在安装了Neo4j后,打开浏览器访问Neo4j浏览器,然后在输入Cypher查询的文本框内输入命令::play 就可以启动相应的在线教程。下面是一些推荐的主题,难度从简单到复杂。-原创 2018-01-08 09:49:56 · 1546 阅读 · 0 评论 -
Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC(4.2) - 循环执行 commit
2.按照条件循环执行 - commit2.1 定义 commit()过程包含两个子操作:1) 第一个是查询操作,返回指定数量的、符合条件的数据库对象; 2) 第二个是更新操作,对第一个查询中返回的每个对象进行相应的更新操作。第二个操作通常在不同的事务中执行。 上面的两个步骤重复执行,直到第一个查询操作返回空的结果集合。...原创 2019-06-26 09:36:42 · 1338 阅读 · 0 评论 -
Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC(4.1) - 查询任务管理
概述 APOC扩展包中的查询任务管理提供相关过程帮助将复杂查询分解成较小的批次迭代执行,从而减少事务处理的开销、提高内存使用效率。 Cypher的LOAD CSV语句允许通过USING PERIODIC COMMIT 指定批次大小,以减小更新事务的规模、提高性能并降低对内存(主要是Java堆内存/Heap Memory)的需求。对于其他Cypher语句,例如CRE...原创 2019-06-26 09:28:45 · 1791 阅读 · 0 评论 -
Neo4j最新版本3.4的特性一览
上周发布的Neo4j 3.4在性能和已有特性方面有了很大提升和增强,并增加了一些期待已久的新特性。所有版本:实现了字符串类型属性的本地索引,因此对建立了索引的字符串属性,节点写入速度现在比现有字符串索引快5倍。新的内核API简化了内部指令。新支持的节点数据类型:日期/时间和3D地理空间数据,可针对时间或空间的搜索优化Cypher查询。Cypher查询可以使用3D地理空间的搜索,包括纬度和经度坐标、...翻译 2018-05-21 08:30:29 · 2854 阅读 · 0 评论 -
展示联结数据的内在之美:全新的Neo4j Bloom可视化工具
四天前,5月2日,在旧金山的Neo4j GraphTour,Neo4j公司的首席执行官Emil Eifrem宣布Neo4j图数据库平台新增一款全新产品:Neo4j Bloom。Neo4j Bloom是一款突破性的图数据可视化产品,它允许图数据库新手和专家能够与同行、管理人员和其他业务人员沟通和分享他们的工作 - 不管他们的技术背景如何。其示例性的无代码搜索,到故事板设计使其成为非技术项目参与者共享...原创 2018-05-06 08:47:01 · 7555 阅读 · 0 评论 -
Neo4j Java开发快速指南 - 第二部分
简要介绍Neo4j的Java开发接口和方法,帮助快速掌握客户端应用开发。第二部分: PDF文件下载原创 2018-02-07 06:43:28 · 786 阅读 · 1 评论 -
Neo4j Java开发快速指南 - 第一部分
简要介绍Neo4j的Java开发接口和方法,帮助快速掌握客户端应用开发。第一部分: PDF文件下载原创 2018-02-06 16:34:50 · 1601 阅读 · 4 评论 -
Neo4j高级应用技术专题系列 - APOC存储过程库-【3】优化数据库写入性能
很多人提到Neo4j的数据库更新太慢。希望这篇文章能够给大家一个思路,一种方法和一些经验。全文下载链接:PDF文件原创 2018-01-17 11:20:09 · 1762 阅读 · 2 评论 -
大数据是内在关联(Connected)的数据:Neo4j及其图数据库产品介绍
从这里下载完整的文件(PDF): 下载链接原创 2018-01-16 15:43:25 · 1206 阅读 · 0 评论 -
Neo4j高级应用技术专题系列 - APOC存储过程库-【2】路径扩展过程
Neo4j高级应用技术专题系列 - APOC存储过程库-【2】路径扩展过程使用apoc中的函数和过程:了解图数据库中已有数据的模型apoc.meta.graph()apoc的路径扩展函数expand()和expandConfig()虚拟关系和路径:apoc.create.vRelationship()即时创建属性和关系处理列表型数据的Cypher函数:filter()e原创 2018-01-06 10:19:30 · 3668 阅读 · 1 评论 -
Neo4j 3 社区版和企业版的技术特性区别
有很多人问起Neo4j社区版和企业版到底有多大的区别,除了价格、技术支持和客户服务等“软特性”之外。那么,下面的表格总结了在产品的技术特性方面的重要区别。原创 2018-01-04 12:02:36 · 10790 阅读 · 0 评论 -
Neo4j的数据库画像/轮廓分析(Data Profiling)
本文介绍的是怎样使用Cypher查询语言了解数据库的内容,进行数据库画像/轮廓分析(Data Profiling)原创 2018-01-03 19:46:59 · 2267 阅读 · 0 评论 -
需求问卷:Neo4j技术交流聚会(Online Meetup)
需求问卷:Neo4j技术交流聚会(Online Meetup)原创 2018-01-03 14:48:21 · 443 阅读 · 1 评论 -
Neo4j ETL工具快速上手:简化从关系数据库到图数据库的数据迁移
注:本文系从https://medium.com/neo4j/tap-into-hidden-connections-translating-your-relational-data-to-graph-d3a2591d4026翻译整理而来。本文介绍新近推出的Neo4j ETL App,包括其安装、使用和功能特性。大纲如下:Neo4j ETL工具添加Neo4j ETL应用程序选择项目检索RDBMS元...翻译 2018-06-25 09:29:15 · 9853 阅读 · 4 评论 -
Neo4j Cypher 图数据库查询语言快速参考 - 【1】 基本语法
Cypher是面向图数据库的、表达能力强大的查询语言。就像掌握关系数据库必须学习SQL一样,如果要充分发掘Neo4j图数据库在数据分析方面的巨大潜力,必须要对Cypher有完整和深入的了解。本系列旨在以简洁明了的方式介绍Cypher查询语言,结合实例和经验总结,帮助读者快速掌握该语言的特点、语法和用法,并开发出高效、简洁、专业的查询。Neo4j Cypher 图数据库查询语言快速参考 - ...原创 2018-07-18 19:12:57 · 2180 阅读 · 0 评论 -
Neo4j Cypher 图数据库查询语言快速参考 - 【2】 创建和删除节点、关系和属性
Cypher是面向图数据库的、表达能力强大的查询语言。就像掌握关系数据库必须学习SQL一样,如果要充分发掘Neo4j图数据库在数据分析方面的巨大潜力,必须要对Cypher有完整和深入的了解。本系列旨在以简洁明了的方式介绍Cypher查询语言,结合实例和经验总结,帮助读者快速掌握该语言的特点、语法和用法,并开发出高效、简洁、专业的查询。Neo4j Cypher 图数据库查询语言快速参考 - ...原创 2018-08-12 21:16:25 · 1091 阅读 · 0 评论