《图算法》附录和关于原作者

附录A

补充信息和资源

在本节中,我们将快速介绍可能对某些读者有所帮助的其他信息。我们将研究其他类型的算法,将数据导入Neo4j的另一种方法,以及另一个procedure库。还有一些资源用于查找数据集、平台帮助和培训。

其他算法

许多算法可用于图数据。在这本书中,我们重点介绍了那些最能代表经典图形算法的算法,以及那些对应用程序开发人员最有用的算法。有些算法,如着色(coloring)和启发式(heuristics)算法,被省略了,因为它们更关注学术领域,要么是很容易得到的。

其他算法,如基于边缘的社区检测(edge-based community detection),很有趣,但还没有在Neo4j或Apache Spark中实现。我们预计,随着图形分析的使用量的增加,两个平台中使用的图形算法将会增加。

还有一些算法与图一起使用,但本质上并不是严格的图。例如,我们在第8章中研究了机器学习环境中使用的一些算法。另一个值得注意的领域是相似性算法,它通常应用于推荐和链接预测。相似性算法通过使用不同的方法来比较节点属性等项,从而找出最相似的节点。

Neo4j批量数据导入和Yelp

Cypher查询语言使用事务性方法将数据导入Neo4j。图A-1说明了此过程的高层次的概述。
在这里插入图片描述
图A-1.基于Cypher的导入

虽然此方法在增量数据加载或千万级大容量加载时效果良好,但在导入初始大容量数据集时,Neo4j导入工具是更好的选择。该工具直接创建存储文件,跳过事务日志,如图A-2所示。
在这里插入图片描述
图A-2:使用Neo4j导入工具

Neo4j导入工具处理csv文件,并期望这些文件具有特定的头文件。图A-3显示了该工具可以处理的csv文件的示例。
在这里插入图片描述
图A-3.Neo4j导入处理的csv文件格式

Yelp数据集的大小意味着Neo4j导入工具是将数据转换为Neo4j的最佳选择。数据采用JSON格式,因此首先我们需要将其转换为Neo4j导入工具期望的格式。图A-4显示了我们需要转换的JSON的一个示例。
在这里插入图片描述
图A-4.将JSON转换为CSV

使用python,我们可以创建一个简单的脚本来将数据转换为csv文件。一旦我们将数据转换成这种格式,我们就可以将其导入Neo4j中。详细说明如何实现这一点的说明在书的资源库中。

APOC和其他Neo4j工具

Awesome Procedures on Cypher(APOC)是一个包含450多个过程(procedure)和功能(function)的库,用于帮助完成常见任务,如数据集成、数据清理和数据转换以及常规帮助功能。APOC是Neo4j的标准库。
Neo4j还有其他工具可以与他们的图算法库结合使用,例如用于无代码探索的算法“游乐场”应用程序。这些可以在他们的图算法开发网站上找到。

找到数据集

找到一个符合测试目标或假设的图数据集是一项挑战。除了回顾研究论文外,还考虑探索网络数据集的索引:

  • SNAP(Stanford Network Analysis Project,SNAP)包括多个数据集以及相关论文和使用指南。
  • ICON(Colorado Index of Complex Networks,ICON)是网络科学各个领域的研究质量网络数据集的可搜索索引。
  • KONECT(Koblenz Network Collection ,KONECT)包括各种类型的大型网络数据集,以便进行网络科学研究。大多数数据集将需要一些信息来将其转换为更有用的格式。
Apache Spark和Neo4j在线平台

ApacheSpark和Neo4j平台有许多在线资源。如果您有具体问题,我们鼓励您联系他们各自的社区:

  • 对于一般的Spark问题,请在Spark Community页面上订阅users@spark.apache.org。
  • 对于GraphFrames问题,请使用Github issue tracker。
  • 对于所有Neo4j问题(包括图算法),请访问在线Neo4j Community 。

培训内容

有很多优秀的资源可以用来开始图分析。搜索关于图算法、网络科学和网络分析的课程或书籍将发现许多选项。在线学习的几个很好的例子包括:

  • Coursera上的Python课程:Applied Social Network Analysis
  • YouTube上的Leonid Zhukov的Social Network Analysis系列
  • 斯坦福大学的网络分析课程,包括视频讲座、阅读列表和其他资源
  • Complexity Explorer提供的在线复杂科学的课程

关于作者

Mark Needham是Neo4j的图倡导者和开发人员关系工程师,他致力于帮助用户接受图和Neo4j,为具有挑战性的数据问题构建复杂的解决方案。Mark在图数据方面拥有深厚的专业知识,曾帮助构建Neo4j的因果集群系统。他在自己的热门博客https://markhneedham.com/blog/和tweets@markhneedham上写下了自己成为一名图设计师的经历。

Amy E. Hodler是Neo4j的网络科学爱好者和人工智能和图分析项目经理,她提倡使用图分析来揭示现实网络中的结构并预测动态行为。Amy帮助团队采用新颖的方法在EDS、Microsoft、Hewlett-Packard(HP)、Hitachi IoT和Cray Inc.等公司创造新的机会。Amy热爱科学和艺术,对复杂性研究和图论充满兴趣。她的推特是@amyhodler.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Chapter 1, Graph Theory and Databases, explains the fundamental theoretical and historical underpinnings of graph database technology. Additionally, this chapter positions graph databases in an ever-changing database landscape. It compares the technology/industry with other data technologies out there. Chapter 2, Getting Started with Neo4j, introduces the specific Neo4j implementation of a graph database and looks at key concepts and characteristics. Chapter 3, Modeling Data for Neo4j, covers the basic modeling techniques for graph databases. Chapter 4, Getting Started with Cypher, provides an overview of the Cypher query language. Chapter 5, Awesome Procedures on Cypher - APOC, introduces the APOC library. You will learn how to use it within Cypher queries, get information on it, and find the procedure you need among the hundreds provided by the community. Chapter 6, Extending Cypher, talks about adding functions and procedures to a Neo4j instance. Write your own APOC. Chapter 7, Query Performance Tuning, shows you how to tune your Cypher queries for better performance. Chapter 8, Importing Data into Neo4j, explains how to import data from different kinds of sources. Chapter 9, Going Spatial, covers the geolocation capabilities of Neo4j, APOC, and Neo4j Spatial. Chapter 10, Security, covers authentication and authorization in Neo4j. Chapter 11, Visualizations for Neo4j, shows you how to display your data. Chapter 12, Data Refactoring with Neo4j, explains how to change the data model to fit new requirements. Chapter 13, Clustering, sets up a causal cluster using the Neo4j Enterprise edition. Chapter 14, Use-Case Example – Recommendations, digs into a specific graph database use case--real-time recommendations--and explains it using a specific example dataset/query patterns. Chapter 15, Use-Case Example – Impact Analysis and Simulation, analyzes the impact of a change in the network on the rest of the network. In this part of the book, we will explain and explore that use case.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值