ITPub博客

首页 > 数据库 > NoSQL > Neo4j中文开发者周刊

Neo4j中文开发者周刊

NoSQL 作者:xinjin_pf 时间:2020-07-15 09:58:12 0 删除 编辑


Neo4j中文开发人员周刊


2020年7月16日


Neo4j开发人员周刊




各位Neo4j图数据库的开发者和使用者,你们好!


随着Neo4j 4系列版本的发布,熟悉Neo4j的朋友们应该已经注意到了新的图数据库科学扩展包GDS(Graph Data Science) 。GDS是重新改写了的ALGO图数据算法包,在内存使用、算法效率、并行处理等方面进行了重大改进。作为Neo4j图数据库平台4.x的重要组成部分,GDS的加入使得Neo4j成为第一个面向企业应用的原生图学习平台。本期中,我们有对Alicia Frame博士,GDS的产品经理和数据科学家的专访,听听她对图计算的介绍和展望。


《Neo4j图数据库扩展指南 - ALGO和APOC》终于上架了!在京东、淘宝以及清华大学出版社官网上有售。


我们热忱期待大家的意见和建议、也欢迎社区成员贡献和分享各自在使用过程中独到的经验。


《Neo4j中文开发者周刊》编辑团队

责任编辑:

专栏作家: ,














5分钟专访 Alicia Frame:图数据科学 (Graph Data Science) 的力量

“什么时候会需要使用图数据科学?当数据中的关系很重要时。” Neo4j的高级数据科学家Alicia Frame介绍说,“如果您要预测的事物之间没有关联,则可能不需要我们,但无数事实已经证明,关联总是存在的。”


数据是有内在关联的(Connected),但是大多数数据平台无法使您利用这些关联。而以Neo4j为代表的图数据库将关系存储在数据中以提高遍历效率,而Neo4j Graph Data Science Library(图数据科学扩展包)  能够解锁数据中的网络结构以获得更深入的了解。


在本次的五分钟采访中,我们与Neo4j的高级数据科学家Alicia Frame探讨Neo4j 图数据科学扩展库,及其主要用例。

 

什么是Neo4j图数据科学扩展库(GDS)?


GDS是Neo4j数据库上的插件(是在之前的ALGO扩展库的基础上重新开发的,编者按)。它使您可以灵活地调整数据库的结构和子集,以执行数据分析和机器学习任务。它既包括将图重塑为面向复杂分析和学习任务的、优化的数据结构和过程,又包括分成三类(alpha、beta和产品化版本)的48种算法的功能库,帮助理解图数据拓扑结构的关键特征。


例如,不同的节点在网络/图中有多重要?节点形成的社区有几个?可用的路径有多少?这些信息可以在全局图中得到,并可以转化为机器可解释、甚至人类可理解的结果。


图数据科学库都有哪些用例?


在最初的早期使用者中,我们已经看到了三大用例。


毫无疑问,最流行的是欺诈检测,这包括寻找异常的模式和交易,或者身份信息盗用。在金融网络中,典型行为是什么样的、存在任何异常节点吗?通常这些节点具有更高的连通性,或者该节点到已知欺诈者的路径非常短。现在已经有不少(基于图算法的)总结行为和发现异常的方法。


我们也有一些使用Graph Data Science Library对数据进行消除歧义处理的客户。基本上,在拥有的所有这些数据中,哪些节点重复?哪些节点组都代表同一事物?


我们有客户使用诸如节点相似性或连通子图/分量之类的算法,应用到数据中,无论是数百个节点,还是数十亿个节点,以了解多少实际用户接触过某类产品?在线个人资料中有多少实际上是相同的?帐户持有者或帐户创建者是同一用户?这些信息可以用来在多个平台或许多不同数据集之间掌握用户的购买经历。


第三类用例是“目标营销”:如果我有一个新产品,我应该针对谁发送相关信息?


过去,我们讨论过基于Neo4j实现协同过滤的营销方法,即找到购买此商品的客户也购买了哪些其他商品。今天,如果引入数据科学,我们根据用户的社交关系,在所有连接中找到更有影响力的那几位,并推荐他们买的东西。


或者,我们可能会根据客户的购买方式、交易历史记录和他们的客户旅程来寻找与您非常相似的其他客户,并根据类似的拓扑结构提出建议,而不仅仅是盲目的查询。


为什么图数据科学如此强大?


我认为,一般而言,图数据科学的主要力量在于,它是一种将关系考虑在内的方式。如果您是Python领域的常规数据科学家,那么一切都是行和列,无法自然地将数据点链接在一起。每行都是您要预测的内容,并且具有描述符,例如年龄,性别或位置。


图则通过关系将所有内容链接在一起。谁知道谁?谁与谁联系?谁重要?信息如何分散在整个图表中?然后,您可以开始在图形上遍历这些多跳模式。


那么什么时候使用图数据科学呢?重要的是关系。如果您要预测的事物之间没有关系,那么您可能不需要我们,但无数事实已经证明,关联总是存在的。这就是Graph Data Science Library的目的。


您对图数据库的初学者有什么建议?


我认为一个很好的起点是提出问题。花时间思考您想回答的问题。关系如何重要?这是一个图形问题吗?然后在我们提供的算法中找出适合您问题的匹配项。如果对如何对图形进行子集化有疑问,则可能需要社区检测。如果您想知道谁是重要的,那是一个中心算法。


一旦知道了您要回答的问题,便会告知您要处理的数据以及如何构造图形。然后考虑如何开始以及如何衡量成功。


如何开始使用Graph Data Science Library?


GDS 可以在Neo4j Desktop中作为 插件之一安装,也可以在我们的 或 的GitHub存储库中找到它。


我们还有在线的 ,包括精选的经验和介绍,以方便用户快速入门。沙箱既可以运行算法,也可以使用Bloom可视化算法的结果,以了解所有这些数字和模式意思。


想更多了解GDS吗?欢迎发送邮件到 与我们联系。







《Neo4j图数据库扩展指南-APOC和ALGO》正式上架啦!

图数据库系列丛书第三册 《Neo4j图数据库扩展指南-APOC和ALGO》已经正式上架啦!在京东、淘宝和清华大学出版社官网上热销中!


Neo4j是当今全球领先的图数据库软件,其起源于开源的图数据库项目,经过十余年的发展,已经在国内和国外的各类企业、研究机构中有着广泛和成功的应用。随着数据库规模的增加,以及对图算法类型、查询性能和数据库管理功能等要求越来越高,Neo4j推出了扩展包APOC和ALGO以满足这些要求。

 

APOC和ALGO的内容丰富、功能强大,作为Neo4j数据库功能的扩充,是实现高性能查询、数据库集成、复杂算法等复杂应用所必须的。然而,国内的技术人员苦于一直没有关于APOC和ALGO介绍的中文资料、而无法真正发挥它们的价值。另一方面,英文在线文档中使用的数据样例也不是中国用户所熟悉和了解的。这对于深刻理解像图算法这样的复杂概念来说又增加了不少难度。

 

本书分成四个部分、15章:

  • 概述(共2章),介绍Neo4j数据库扩展的起源和安装配置方法
  • APOC扩展包使用指南(共7章),介绍APOC中7类主要过程和方法的使用
  • ALGO扩展包使用指南(共4章),介绍ALGO中4类图算法相关过程和方法的使用;
  • Neo4j数据库扩展开发指南(共2章),介绍使用Java开发数据库扩展过程和函数的方法。 

 

各章节介绍如下:

第1章   Neo4j图数据库扩展概述 回顾Neo4j图数据库扩展的起源和来历,以及两个主要扩展包APOC和ALGO的内容概述。对于未来要发布的Graph Data Science扩展包,及其对ALGO扩展包中相关图算法过程所做的接口改变也进行了介绍。

第2章   扩展包的安装和配置 介绍扩展包在不同Neo4j版本中的安装、配置和测试方法。

第3章   路径扩展过程 介绍APOC中与路径扩展相关的过程,通过实例说明如何对图中节点和关系进行更加高效的遍历;也介绍了APOC中对子图操作的过程。

第4章   查询任务管理 介绍查询的更新方法,特别是如何通过控制批次大小减少事务对内存的要求、如何通过指定并发性提高查询执行性能。这章还介绍了动态Cypher查询执行方法和条件分支执行。

第5章   数据导入和导出 介绍从各种数据源,包括XML、JSON、JDBC以及外部Neo4j数据库导入数据到Neo4j的方法;以及从Neo4j导出图或图的一部分到各种格式/目的数据存储的方法。

第6章   图重构 图重构是对图数据库中节点、关系和属性定义的变更和转换操作。APOC提供的重构过程支持节点的合并、到关系的转换;关系的合并、重定向、反转、到节点的转换;根据属性值创建节点等操作。

第7章   数据库运维 主要介绍APOC中关于数据库触发器、索引管理、元数据和监控相关指标的过程和函数。

第8章   工具函数和过程 介绍APOC中路径对象相关操作、地图相关过程、集合操作;这章还介绍了几种主要的图生成过程。

第9章   虚拟图 虚拟图是仅存在于内存的图。虚拟图的创建和查询操作包括虚拟节点和关系的创建和查询。在内存中的图对象是许多图算法的输入。

第10章 路径搜索 最短路径是图算法和分析中最基本的一类方法。ALGO扩展包提供若干常用最短路径搜索方法,以及最小生成树和随机游走的算法过程。

第11章 社团检测 介绍ALGO包中提供的几类相关算法过程:三角结构搜索、连通分量、标签传播、模块度方法。

第12章 中心性算法 介绍ALGO包中提供的几类中心性算法过程:维度中心性、紧密中心性、协调中心性、间接中心性、特征向量中心性和页面排行。

第13章 相似度算法 介绍ALGO包中支持的几种计算节点和/或关系相似度的函数和方法,包括Jaccard相似度、重叠相似度、余弦相似度以及几何相似度。对图学习相关概念和方法,例如特征工程、图嵌入也做了介绍。

第14章 数据库扩展开发 详细、完整地介绍如何使用Java开发客户化的Neo4j数据库扩展过程和函数。

第15章     自定义的图遍历 在第14章的基础之上进一步深入介绍如何基于Neo4j的“遍历框架”实现高效的图遍历过程。




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69975677/viewspace-2704585/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2020-05-26

  • 博文量
    3
  • 访问量
    1675