• Neo4j图谱分析实战
  • Neo4j图谱分析实战
  • Neo4j图谱分析实战
  • Neo4j图谱分析实战
  • Neo4j图谱分析实战
  • Neo4j图谱分析实战
  • Neo4j图谱分析实战
  • Neo4j图谱分析实战
  • Neo4j图谱分析实战
21年品牌 40万+商家 超1.5亿件商品

Neo4j图谱分析实战

批量上传,套装书可能不全,下单前咨询在线客服!有特殊要求,下单前请咨询客服!

66.09 4.8折 139 全新

库存8件

江西南昌
认证卖家担保交易快速发货售后保障

作者[美]埃斯特尔·赛弗 著 沈?F 译

出版社清华大学出版社

ISBN9787302617600

出版时间2022-10

装帧平装

开本16开

定价139元

货号29489351

上书时间2024-11-02

思源汇书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言

由于图数据模型的自然性和它们允许的数据分析范围,人们对图数据库(Graph Database)尤其是Neo4j的兴趣正在增加。本书将引领你在图和Neo4j领域内进行一次旅行。我们将探索Neo4j、Cypher和各种插件(包括官方支持的或来自第三方的插件),这些插件可以扩展数据类型(如APOC和Neo4j Spatial),也可用于数据科学和机器学习(如Graph Data Science插件和GraphAware NLP插件)。
本书有很大一部分都在讨论图算法。你将通过一些著名算法(如短路径、PageRank或标签传播等)的Python示例实现来了解它们的工作原理,以及如何在Neo4j图中实际使用它们。我们还将提供一些示例应用程序,以启发你何时将这些算法用于合适的用例。
一旦你熟悉了可以在图上运行以提取有关其各个组成部分(节点)或整个图结构信息的不同类型的算法,我们将切换到一些数据科学问题,并探究图结构和图的处理方式。图算法可以增强模型的预测能力。
在完成本书学习之后,你将会理解,Neo4j除了是出色的数据分析工具之外,还可以用于在Web应用程序中公开数据以使分析能实时进行。
本书读者
本书适用于希望存储和处理图数据以获取关键数据见解的数据分析师、业务分析师、图分析师和数据库开发人员。本书还将吸引希望构建适合不同领域的智能图应用程序的数据科学家。阅读本书需要具有一些Neo4j经验。
尽管在本书第2篇“图算法”中使用Python演示了一些算法,但如果你不熟悉Python,也应该可以理解。当然,如果你有使用该语言的经验,则是好不过,因为本书还应用了Python的一些数据科学库,包括scikit-learn、Pandas和Seaborn等。
 
内容介绍
本书分为4篇共12章,具体介绍如下。
第1篇是“使用Neo4j进行图建模”,包括第1~3章。
第1章“图数据库”,阐释了和图数据库相关的概念,包括图论、Neo4j的节点和关系模型定义等。
第2章“Cypher查询语言”,详细介绍了Neo4j使用的查询语言Cypher的基础知识,本书将使用它来进行数据导入和模式匹配。此外,本章还研究了用于数据导入的APOC实用程序。
第3章“使用纯Cypher”,解释了如何从结构化和非结构化数据(使用NLP)构建知识图,以及如何应用知识图,并提供了基于图的搜索和推荐引擎等示例。本章使用了GitHub上Neo4j贡献者的图,并将其扩展到自然语言分析和外部公开可用的知识图(如Wikidata)。
第2篇是“图算法”,包括第4~7章。
第4章“Graph Data Science库和路径查找”,详细解释了Neo4j的Graph Data Science(GDS)插件的主要原理,并介绍了短路径算法。
第5章“空间数据”,介绍了Neo4j Spatial插件的应用,以及如何存储和查询空间数据(点、线和面)。结合Neo4j Spatial和GDS插件,我们创建了一个纽约曼哈顿的路由引擎示例。
第6章“节点重要性”,演示了不同的中心性算法,其具体应用取决于你如何定义节点重要性、应用场景以及GDS中的用法。
第7章“社区检测和相似性度量”,介绍了用于检测图中结构的算法,以及如何使用JavaScript库可视化它们。
第3篇是“基于图的机器学习”,包括第8~10章。
第8章“在机器学习中使用基于图的特征”,说明了如何从CSV文件开始构建完整的机器学习项目,并阐释了构建预测管道所需的不同步骤(包括特征工程、模型训练和模型评估等)。此外,本章还介绍了如何将CSV数据转换为图,以及如何使用图算法来获得图的特征,增强分类任务的性能。
第9章“预测关系”,说明了如何在一个随时间变化的图中使用训练集和测试集将链接预测问题表述为机器学习问题。
第10章“图嵌入—从图到矩阵”,解释了算法如何自动学习图中每个节点的特征。通过使用与单词嵌入类比的方法,我们介绍了DeepWalk算法的工作原理。然后,还深入介绍了图神经网络及其用例。本章使用Python和一些依赖项以及node2vec和GraphSAGE的GDS实现给出了具体应用。
第4篇是“生产环境中的Neo4j”,包括第11章和第12章。
第11章“在Web应用程序中使用Neo4j”,介绍了如何使用Python、流行的Flask框架、JavaScript和GraphQL API创建一个Web应用程序。
第12章“Neo4j扩展”,概述了GDS性能评估和Neo4j 4提供的大数据管理功能(分片技术)。
充分利用本书
学习本书需要可以管理Neo4j数据库(例如更新设置和添加插件等)。建议使用Neo4j Desktop,其下载链接如下:

https://neo4j.com/download/

你可以为每章创建一个图。本书重用了在第2章中开始创建并在第3章中进行了充实的GitHub图。在每章的末尾,还提供了一些思考题。
除第5章“空间数据”和第11章“在Web应用程序中使用Neo4j”中的代码外,本书中其他所有代码均与Neo4j 3.5和Neo4j 4.x兼容。
由于Neo4j Spatial尚未与Neo4j 4.x兼容(在撰写本文时,其版本为0.26.2),因此第5章“空间数据”中的代码仅对Neo4j 3.5有效。
同样,在第11章“在Web应用程序中使用Neo4j”中,我们需要使用neomodel软件包(撰写本文时的版本为3.3.2),该软件包尚未与Neo4j 4兼容。
本书软硬件和操作系统需求如表P-1所示。
表P-1  软硬件和操作系统需求表
本书涵盖的软件 操作系统/硬件要求
Neo4j(3.5或更高版本) Windows、Linux或macOS;至少8 GB内存
APOC(Neo4j插件)(3.5.0.11或更高版本) Windows、Linux或macOS;至少8 GB内存
neo4j-spatial(插件) Windows、Linux或macOS;至少8 GB内存
续表
本书涵盖的软件 操作系统/硬件要求
Neo4j Graph Data Science(GDS)插件(1.0或更高版本) Windows、Linux或macOS;至少8 GB内存
Python(3.6或更高版本) Windows、Linux或macOS;至少8 GB内存
Node.js(10或更高版本)和npm(仅第11.4节“使用GRANDstack开发React应用程序”) Windows、Linux或macOS;至少8 GB内存
在第11.4节“使用GRANDstack开发React应用程序”中,我们将使用GRANDstack创建一个React应用程序,因此需要在系统上安装Node.js和npm。
建议你通过Github存储库输入自己的代码或下载该代码,这样做将帮助你避免任何与代码的复制和粘贴有关的潜在错误。
下载示例代码文件
读者可以从www.packtpub.com下载本书的示例代码文件。具体步骤如下:
(1)注册并登录:www.packtpub.com。
(2)在页面顶部的搜索框中输入图书名称Hands-On Graph Analytics with Neo4j(不区分大小写,也不必完整输入),即可看到本书,单击打开链接,如图P-1所示。
 
图P-1
(3)在本书详情页面中,找到并单击Download code from GitHub(从GitHub下载代码文件)按钮,如图P-2所示。
 
图P-2  
  提示:
如果你看不到该下载按钮,可能是没有登录packtpub账号。该站点可免费注册账号。
(4)在本书GitHub源代码下载页面中,单击右侧的Code(代码)按钮,在弹出的下拉菜单中选择Download ZIP(下载压缩包),如图P-3所示。
 
图P-3
下载文件后,请确保使用版本解压缩或解压缩文件夹:
WinRAR/7-Zip(Windows系统)。
Zipeg/iZip/UnRarX(Mac系统)。
7-Zip/PeaZip(Linux系统)。
你也可以直接访问本书在GitHub上的存储库,其网址如下:

https://github.com/PacktPublishing/Hands-On-Graph-Analytics-with-Neo4j

如果代码有更新,则也会在现有GitHub存储库上更新。
 
下载彩色图像
我们还提供了一个PDF文件,其中包含本书中使用的屏幕截图/图表的彩色图像。可以通过以下地址下载:

https://static.packt-cdn.com/downloads/9781839212611_ColorImages.pdf
本书约定
本书中使用了许多文本约定。
(1)CodeInText:表示文本中的代码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟URL、用户输入和Twitter句柄等。以下段落就是一个示例:

本章代码文件的网址如下:
https://github.com/PacktPublishing/Hands-On-Graph-Analytics-with-Neo4j/
tree/master/ch6

(2)有关代码块的设置如下:

submit = SubmitField('Submit')

(3)要突出代码块时,相关行将加粗显示:


    "name": "Another name", 
    "address": "Earth, Universe", 
    "id": 1,
    "gender": "F",
    "age": 30
}

(4)任何命令行输入或输出都采用如下所示的粗体代码形式:

pip install neo4j

(5)术语或重要单词采用中英文对照形式,在括号内保留其英文原文。示例如下:

有了图之后,你可以考虑创建智能模型来预测将来是否可能连接两个实体。推荐引擎(Recommendation Engine)是这种工具的一种可能的应用。

(6)对于界面词汇或专有名词将保留英文原文,在括号内添加其中文翻译。示例如下:

让人惊讶的是选择节点的时候,浏览器还会显示它们之间的关系,而我们并没有要求它这样做。这来自Neo4j浏览器中的设置,其默认行为是启用节点连接的可视化。可以通过清除Connect result nodes(连接结果节点)复选框来禁用此功能。

(7)本书还使用了以下两个图标。
 表示警告或重要的注意事项。
 表示提示或小技巧。



导语摘要

《Neo4j图谱分析实战 》详细阐述了与Neo4j图谱分析相关的基本解决方案,主要包括使用Neo4j进行图建模、图算法、基于图的机器学习、生产环境中的Neo4j等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。



商品简介

《Neo4j图谱分析实战 》详细阐述了与Neo4j图谱分析相关的基本解决方案,主要包括使用Neo4j进行图建模、图算法、基于图的机器学习、生产环境中的Neo4j等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。



目录

第1篇  使用Neo4j进行图建模
第1章  图数据库 3
1.1  图的定义和示例 3
1.1.1  图论 4
1.1.2  图的示例 7
1.2  从SQL迁移到图数据库 12
1.2.1  数据库模型 12
1.2.2  SQL和连接 13
1.2.3  关系关乎一切 15
1.3  关于Neo4j 15
1.3.1  构建块 16
1.3.2 从SQL到Neo4j的转换 18
1.3.3  Neo4j用例 19
1.4  理解图属性 19
1.4.1  有向图与无向图 19
1.4.2  加权图与无权图 20
1.4.3  有环图与无环图 21
1.4.4  稀疏图与稠密图 21
1.4.5  连通图与断开图 22
1.5  在Neo4j中对图进行建模的注意事项 23
1.5.1  关系取向 23
1.5.2  节点和属性的区别 24
1.6  小结 24
1.7  延伸阅读 25
第2章  Cypher查询语言 27
2.1  技术要求 27
2.2  创建节点和关系 28
2.2.1  使用Neo4j Desktop管理数据库 28
2.2.2  创建节点 29
2.2.3  选择节点 31
2.2.4 创建关系 32
2.2.5 选择关系 33
2.2.6 MERGE关键字 34
2.3 更新和删除节点和关系 35
2.3.1 更新对象 35
2.3.2 删除对象 37
2.4  模式匹配和数据检索 38
2.4.1  模式匹配 39
2.4.2  测试数据 40
2.4.3  图遍历 41
2.4.4 可选匹配 43
2.5 使用聚合函数 44
2.5.1 计数、求和和平均值 44
2.5.2 创建对象列表 45
2.5.3 取消嵌套对象 45
2.6 从CSV或JSON导入数据 46
2.6.1 从Cypher导入数据 46
2.6.2 从命令行导入数据 53
2.6.3 APOC导入工具 54
2.6.4  导入方法小结 60
2.7  评估性能并提高查询速度 60
2.7.1  Cypher查询计划器 60
2.7.2  Neo4j索引 62
2.7.3  关于LOAD CSV的再讨论 62
2.7.4  “朋友的朋友”示例 64
2.8  小结 66
2.9  思考题 66
2.10  延伸阅读 67
 
第3章  使用纯Cypher 69
3.1  技术要求 69
3.2  知识图 70
3.2.1  尝试给知识图一个定义 70
3.2.2  从结构化数据构建知识图 71
3.2.3  使用NLP从非结构化数据构建知识图 72
3.2.4 从Wikidata向知识图添加上下文 78
3.2.5 通过语义图增强知识图 85
3.3 基于图的搜索 86
3.3.1 搜索方法 87
3.3.2 手动建立Cypher查询 89
3.3.3 自动实现从英语到Cypher的翻译 89
3.4  推荐引擎 94
3.4.1  产品相似性推荐 95
3.4.2 社交推荐 98
3.5  小结 100
3.6  思考题 100
3.7  延伸阅读 100
第2篇  图  算  法
第4章  Graph Data Science库和路径查找 105
4.1  技术要求 105
4.2  关于GDS插件 106
4.2.1  使用自定义函数和过程扩展Neo4j 106
4.2.2 GDS库内容 108
4.2.3 定义投影图 109
4.2.4  将结果流式传输或写回到图 112
4.3  通过应用了解短路径算法的重要性 114
4.3.1  网络内的路由 114
4.3.2 其他应用 115
4.4 迪杰斯特拉短路径算法 115
4.4.1 理解算法 116
4.4.2 在Neo4j中使用短路径算法 124
4.4.3 理解关系方向 130
4.5 使用A*算法查找短路径 133
4.5.1 算法原理 133
4.5.2 在Neo4j GDS插件中使用A*算法 134
4.6 在GDS插件中发现其他与路径相关的算法 135
4.6.1 K条短路径算法 135
4.6.2 单源短路径算法 136
4.6.3 全对短路径算法 138
4.7 使用图优化流程 139
4.7.1 旅行商问题 140
4.7.2  生成树 141
4.8  小结 145
4.9  思考题 145
4.10  延伸阅读 146
第5章  空间数据 147
5.1  技术要求 147
5.2  表示空间属性 148
5.2.1  理解地理坐标系 148
5.2.2  使用Neo4j内置的空间类型 151
5.3 使用neo4j-spatial在Neo4j中创建几何层 154
5.3.1 引入neo4j-spatial库 154
5.3.2 创建点的空间层 156
5.3.3 定义空间数据的类型 157
5.3.4 创建包含多边形几何体的层 157
5.4 执行空间查询 160
5.4.1 寻找两个空间对象之间的距离 160
5.4.2 查找其他对象中包含的对象 161
5.5 根据距离查找短路径 162
5.5.1 导入数据 162
5.5.2 准备数据 164
5.5.3 运行短路径算法 166
5.6 使用Neo4j可视化空间数据 171
5.6.1 NeoMap—用于空间数据的Neo4j Desktop应用程序 172
5.6.2 使用JavaScript Neo4j驱动程序可视化短路径 174
5.7  小结 178
5.8  思考题 179
5.9  延伸阅读 179
第6章  节点重要性 181
6.1  技术要求 181
6.2  定义重要性 182
6.2.1  受欢迎程度和信息传播 182
6.2.2  关键或桥接节点 183
6.3  计算度中心性 184
6.3.1  度中心性公式 184
6.3.2  在Neo4j中计算度中心性 186
6.4 理解PageRank算法 190
6.4.1 构建公式 190
6.4.2 在示例图上运行算法 192
6.4.3 使用Python实现PageRank算法 194
6.4.4 在Neo4j中使用GDS评估PageRank中心性 196
6.4.5 比较度中心性和PageRank结果 196
6.4.6  变体 197
6.5  基于路径的中心性指标 201
6.5.1  接近度中心性 202
6.5.2 中介中心性 205
6.5.3 比较中心性指标 206
6.6 将中心性算法应用于欺诈检测 208
6.6.1  使用Neo4j检测欺诈 208
6.6.2  使用中心性指标评估欺诈 209
6.6.3  中心性算法的其他应用 212
6.7  小结 213
6.8  思考题 213
6.9  延伸阅读 213
第7章  社区检测和相似性度量 215
7.1  技术要求 215
7.2  社区检测及其应用 216
7.2.1  识别节点聚类 216
7.2.2  社区检测方法的应用 217
7.2.3 社区检测技术的简单总结 219
7.3 检测图组件并可视化社区 220
7.3.1 弱连接组件 222
7.3.2 强连接组件 223
7.3.3 在图中写入GDS结果 224<

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP