×
暂无评论
图文详情
  • ISBN:9787302617600
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:424
  • 出版时间:2022-10-01
  • 条形码:9787302617600 ; 978-7-302-61760-0

本书特色

在完成《Neo4j图谱分析实战 》学习之后,你将会理解,Neo4j除了是出色的数据分析工具之外,还可以用于在Web应用程序中公开数据以使分析能实时进行。

内容简介

《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 7.3.4 使用neovis.js可视化图 226 7.3.5 使用NEuler 228 7.4 运行标签传播算法 231 7.4.1 定义标签传播 231 7.4.2 在Python中实现标签传播 233 7.4.3 使用GDS中的标签传播算法 235 7.4.4 将结果写入图 237 7.5 了解Louvain算法 238 7.5.1 定义模块度 238 7.5.2 重现Louvain算法的步骤 240 7.5.3 GDS中的Louvain算法 241 7.5.4 中间步骤 243 7.5.5 Zachary的空手道俱乐部图算法比较示例 244 7.6 Louvain算法的局限性和重叠社区检测 245 7.6.1 Louvain算法的局限性 245 7.6.2 Louvain算法的替代方案 247 7.6.3 重叠社区检测 247 7.6.4 动态网络 248 7.7 测量节点之间的相似性 249 7.7.1 基于集合的相似性 249 7.7.2 基于向量的相似性 253 7.8 小结 255 7.9 思考题 256 7.10 延伸阅读 256 第3篇 基于图的机器学习 第8章 在机器学习中使用基于图的特征 259 8.1 技术要求 259 8.2 构建数据科学项目 260 8.2.1 问题定义—提出正确的问题 261 8.2.2 本章引入的问题 263 8.2.3 获取和清洗数据 263 8.2.4 特征工程 273 8.2.5 构建模型 274 8.3 基于图的机器学习步骤 278 8.3.1 建立(知识)图 279 8.3.2 提取基于图的特征 284 8.4 通过Pandas和scikit-learn使用基于图的特征 285 8.4.1 创建投影图 285 8.4.2 运行一种或多种算法 286 8.4.3 删除投影图 286 8.4.4 提取数据 286 8.5 使用Neo4j Python驱动程序自动创建基于图的特征 287 8.5.1 发现Neo4j Python驱动程序 287 8.5.2 使用Python自动创建基于图的特征 290 8.5.3 将数据从Neo4j导出到Pandas 296 8.5.4 训练scikit-learn模型 298 8.6 小结 301 8.7 思考题 302 8.8 延伸阅读 302 第9章 预测关系 303 9.1 技术要求 303 9.2 使用链接预测的原因 304 9.2.1 动态图 304 9.2.2 应用领域 305 9.3 使用Neo4j创建链接预测指标 309 9.3.1 基于社区的指标 310 9.3.2 与路径相关的指标 311 9.3.3 使用局部邻居信息 313 9.3.4 其他指标 315 9.4 使用ROC曲线建立链接预测模型 315 9.4.1 将数据导入Neo4j 316 9.4.2 拆分图并计算每条边的分数 317 9.4.3 衡量二元分类模型的性能 318 9.4.4 使用scikit-learn建立更复杂的模型 329 9.4.5 将链接预测结果保存到Neo4j中 329 9.4.6 预测二分图中的关系 330 9.5 小结 334 9.6 思考题 334 9.7 延伸阅读 334 第10章 图嵌入—从图到矩阵 337 10.1 技术要求 337 10.2 关于图嵌入 338 10.2.1 嵌入的意义 338 10.2.2 图嵌入技术概述 343 10.3 基于邻接矩阵的嵌入算法 344 10.3.1 邻接矩阵和图拉普拉斯算子 345 10.3.2 特征向量嵌入 345 10.3.3 局部线性嵌入 345 10.3.4 基于相似度的嵌入 346 10.3.5 高阶邻近保留嵌入 346 10.3.6 使用Python计算节点嵌入向量 347 10.4 从人工神经网络中提取嵌入向量 351 10.4.1 人工神经网络简介 351 10.4.2 Skip-Gram模型 354 10.4.3 DeepWalk节点嵌入算法 357 10.5 图神经网络 362 10.5.1 扩展CNN和RNN的原理以构建GNN 362 10.5.2 消息传播和汇总 363 10.5.3 GNN的应用 364 10.5.4 在实践中使用GNN 366 10.6 图算法的发展 367 10.7 小结 368 10.8 思考题 369 10.9 延伸阅读 369 第4篇 生产环境中的Neo4j 第11章 在Web应用程序中使用Neo4j 373 11.1 技术要求 373 11.2 使用Python和图对象映射器创建全栈Web应用程序 373 11.2.1 关于neomodel 374 11.2.2 使用Flask和neomodel构建Web应用程序 379 11.3 通过示例了解GraphQL API 388 11.3.1 端点 389 11.3.2 返回的属性 390 11.3.3 查询参数 391 11.3.4 突变 393 11.4 使用GRANDstack开发React应用程序 394 11.4.1 关于GRANDstack 394 11.4.2 创建API 395 11.4.3 关于突变 399 11.4.4 构建用户界面 402 11.5 小结 410 11.6 思考题 410 11.7 延伸阅读 411 第12章 Neo4j扩展 413 12.1 技术要求 413 12.2 衡量GDS性能 413 12.2.1 通过估算过程估算内存使用量 414 12.2.2 估计算法的内存使用量 416 12.2.3 使用stats运行模式 417 12.2.4 测量某些算法的时间性能 417 12.3 为大数据配置Neo4j 4.0 418 12.3.1 Neo4j 4.0之前的设置 418 12.3.2 Neo4j 4.0分片技术 419 12.4 小结 423
展开全部

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航