书籍详情
《书籍Neo4j图数据库扩展指南:APOC和ALGO俞方桦》[53M]百度网盘|亲测有效|pdf下载
  • 书籍Neo4j图数据库扩展指南:APOC和ALGO俞方桦

  • 出版社:慧谷图书专营店
  • 出版时间:2020-07
  • 热度:6964
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

   图书基本信息
图书名称   Neo4j 图数据库扩展指南:APOC和ALGO(图数据库技术丛书)
作者   俞方桦
定价   79元
出版社   清华大学出版社
ISBN   9787302555483
出版日期   2020-07-01
字数   
页码   324
版次   
装帧   平装
开本   16开
商品重量   

   内容提要

本书共13章,全面、系统和详尽地介绍Neo4j图数据库扩展的概念、APOC和ALGO扩展包的使用、以及开发服务器扩展的方法。内容分为四个部分,依次为:Neo4j 图数据库扩展介绍;APOC 扩展包函数和过程指南;ALGO 扩展包函数和过程指南;开发和测试方法。


   目录

部分 概述

章 Neo4j图数据库扩展概述 / 3

1.1 Neo4j图数据库平台 / 3

1.1.1 图数据库是当今 热门的NoSQL数据库类别 / 3

1.1.2 Neo4j图数据库平台 / 4

1.1.3 原生图数据库 / 5

1.2 Neo4j数据库扩展 / 7

1.2.1 背景 / 7

1.2.2 APOC扩展库的内容 / 8

1.2.3 ALGO扩展库的内容 / 12

1.2.4 ALGO扩展库的未来版本 / 14

第2章 扩展包的安装和配置 / 18

2.1 扩展包的下载 / 18

2.2 扩展包的安装和配置 / 18

2.2.1 在Neo4j Desktop中自动安装 / 18

2.2.2 手动安装 / 19

2.2.3 在Docker容器中安装 / 19

2.2.4 测试安装 / 20

2.2.5 在线文档 / 20

第二部分 APOC扩展包使用指南

第3章 路径扩展过程 / 23

3.1 路径扩展过程概述 / 23

3.2 主要参数说明 / 25

3.2.1 标签过滤器(labelFilter) / 25

3.2.2 关系过滤器(relationshipFilter) / 25

3.2.3 标签和关系序列(Sequence) / 26

3.2.4 性规则(Uniqueness) / 27

3.2.5 理解Cypher的模式匹配 / 28

3.3 基本路径扩展过程 / 32

3.3.1 定义 / 32

3.3.2 应用 / 32

3.3.3 过程概述 – apoc.path.expand / 33

3.3.4 过程调用接口 – apoc.path.expand / 33

3.3.5 示例 – 创建三国人物关系图 / 33

3.3.6 示例 – apoc.path.expand / 34

3.4 可配置的路径扩展过程 / 35

3.4.1 定义 / 35

3.4.2 过程概述 – apoc.path.expandConfig / 36

3.4.3 过程调用接口 – apoc.path.expandConfig / 36

3.4.4 示例 – apoc.path.expandConfig / 37

3.5 搜索子图 / 38

3.5.1 定义 / 38

3.5.2 应用 / 39

3.5.3 过程概述 – apoc.path.subgraphNodes / 39

3.5.4 过程调用接口 – apoc.path.subgraphNodes / 39

3.5.5 示例 – apoc.path.subgraphNodes / 41

3.6 搜索 小生成树 / 42

第4章 查询任务管理 / 43

4.1 查询任务管理概述 / 43

4.2 按照条件循环执行 – mit / 46

4.2.1 定义 / 46

4.2.2 应用 / 47

4.2.3 过程概述 – apoc.periodic.mit / 47

4.2.4 过程调用接口 – apoc.periodic.mit / 47

4.2.5 示例 – apoc.periodic.mit / 47

4.3 按照集合内容循环执行 – iterate / 48

4.3.1 定义 / 48

4.3.2 应用 / 49

4.3.3 过程概述 – apoc.periodic.iterate / 49

4.3.4 过程调用接口 – apoc.periodic.iterate / 49

4.3.5 示例 – apoc.periodic.iterate / 50

4.4 异步执行Cypher查询 – submit / 51

4.4.1 定义 / 51

4.4.2 应用 / 51

4.4.3 过程概述 / 51

4.4.4 示例 / 51

4.5 自定义Cypher函数和过程 / 52

4.5.1 定义 / 52

4.5.2 应用 / 52

4.5.3 过程调用接口 / 52

4.5.4 示例 / 54

4.6 Cypher执行过程 / 54

4.6.1 定义 / 54

4.6.2 应用 / 56

4.6.3 过程调用接口 – apoc.cypher.run / 56

4.6.4 示例 – apoc.cypher.run / 56

4.6.5 过程调用接口 – apoc.cypher.runTimeboxed / 56

4.6.6 示例 – apoc.cypher.runTimeboxed / 57

4.6.7 过程调用接口 – apoc.cypher.doIt / 58

4.6.8 示例 – apoc.cypher.doIt / 58

4.6.9 过程调用接口 – apoc.cypher.runFiles / 59

4.6.10 过程调用接口 – apoc.cypher.runSchemaFiles / 60

4.6.11 过程调用接口 – apoc.cypher.parallel / 60

4.6.12 示例 – apoc.cypher.parallel / 61

4.6.13 过程调用接口 – apoc.cypher.mapParallel / 61

4.6.14 示例 – apoc.cypher.mapParallel / 61

4.7 Cypher执行的条件分支 / 62

4.7.1 定义 / 62

4.7.2 应用 / 62

4.7.3 过程调用接口 – apoc..when / 62

4.7.4 示例 – apoc.when / 63

4.7.5 过程调用接口 – apoc.case / 63

4.7.6 示例 – apoc.cypher.case / 64

第5章 数据导入和导出 / 65

5.1 数据导入和导出概述 / 65

5.2 导出到CSV文件 – export.csv. / 69

5.2.1 定义 / 69

5.2.2 应用 / 69

5.2.3 过程概述 / 70

5.2.4 过程调用接口 – export.csv.all / 70

5.2.5 示例 – export.csv.all / 70

5.2.6 过程调用接口 – export.csv.data / 71

5.2.7 示例 – export.csv.data / 71

5.2.8 过程调用接口 – export.csv.graph / 72

5.2.9 示例 – export.csv.graph / 72

5.2.10 过程调用接口 – export.csv.query / 73

5.2.11 示例 – export.csv.query / 73

5.3 导出到JSON文件 / 73

5.3.1 定义 / 73

5.3.2 应用 / 74

5.3.3 过程概述 / 74

5.3.4 过程调用接口 – export.json.all / 74

5.3.5 示例 – export.json.all / 74

5.3.6 过程调用接口 – export.json.data / 74

5.3.7 示例 – export.json.data / 75

5.3.8 过程调用接口 – export.csv.graph / 75

5.3.9 示例 – export.json.graph / 76

5.3.10 过程调用接口 – export.json.query / 76

5.3.11 示例 – export.json.query / 76

5.4 导出到Cypher查询文件 / 77

5.4.1 定义 / 77

5.4.2 应用 / 77

5.4.3 过程概述 / 77

5.4.4 过程调用接口 – export.cypher.all / 77

5.4.5 示例 – export.cypher.all / 78

5.4.6 过程调用接口 – export.cypher.data / 79

5.4.7 示例 – export.cypher.data / 79

5.4.8 过程调用接口 – export.cypher.graph / 79

5.4.9 示例 – export.cypher.graph / 80

5.4.10 过程调用接口 – export.cypher.query / 80

5.4.11 示例 – export.cypher.query / 81

5.4.12 过程调用接口 – export.cypher.schema / 81

5.4.13 示例 – export.cypher.schema / 82

5.5 导入CSV文件 / 82

5.5.1 定义 / 82

5.5.2 应用 / 82

5.5.3 过程概述 / 82

5.5.4 过程调用接口 – apoc.load.csv / 83

5.5.5 示例 – apoc.load.csv / 84

5.6 导入JSON数据 / 85

5.6.1 定义 / 85

5.6.2 应用 / 87

5.6.3 过程概述 / 87

5.6.4 过程调用接口 – apoc.load.json / 87

5.6.5 示例 – apoc.load.json / 88

5.7 导入XML 文件 / 90

5.7.1 定义 / 90

5.7.2 导入XML文档 – apoc.xml.import / 90

5.7.3 示例 – apoc.xml.import / 92

5.7.4 XML文档加载 – apoc.load.xml / 94

5.7.5 示例 – apoc.load.xml / 95

5.8 访问其他Neo4j数据库 / 96

5.8.1 概述 / 96

5.8.2 过程定义 – apoc.bolt.execute / 97

5.8.3 过程调用接口 – apoc.bolt.execute / 97

5.8.4 示例 – apoc.bolt.execute / 98

5.8.5 过程定义 – apoc.bolt.load / 99

5.9 从BC源导入数据 / 99

5.9.1 概述 / 99

5.9.2 过程定义 – apoc.load.driver / 101

5.9.3 过程调用接口 – apoc.load.driver / 101

5.9.4 过程定义 – apoc.load.bc / 102

5.9.5 过程调用接口 – apoc.load.bc / 102

5.9.6 示例 – apoc.load.bc / 102

5.9.7 过程定义 – apoc.load.bcUpdate / 103

5.9.8 过程调用接口 – apoc.load.bcUpdate / 103

5.9.9 示例 – apoc.load.bcUpdate / 104

5.9.10 过程定义 – apoc.model.bc / 104

5.9.11 过程调用接口 – apoc.model.bc / 104

5.9.12 示例 – apoc.model.bc / 105

第6章 图重构 / 107

6.1 图重构概述 / 107

6.2 克隆节点 / 108

6.2.1 定义 / 108

6.2.2 过程概述 / 109

6.2.3 过程调用接口 – apoc.refactor.cloneNodes / 109

6.2.4 示例 – apoc.refactor.cloneNodes / 109

6.3 克隆节点及其关系 / 110

6.3.1 定义 / 110

6.3.2 过程概述 / 110

6.3.3 过程调用接口 – apoc.refactor.cloneNodesWithRelationships / 110

6.4 克隆子图 / 110

6.4.1 定义 / 110

6.4.2 过程概述 / 111

6.4.3 过程调用接口 – apoc.refactor.cloneSubgraph / 111

6.4.4 示例 – apoc.refactor.cloneSubgraph / 111

6.5 合并节点 / 112

6.5.1 定义 / 112

6.5.2 过程概述 / 112

6.5.3 过程调用接口 – apoc.refactor.mergeNodes / 112

6.5.4 示例 – apoc.refactor.mergeNodes / 112

6.6 合并关系 / 113

6.6.1 定义 / 113

6.6.2 过程概述 / 113

6.6.3 过程调用接口 – apoc.refactor.mergeRelationships / 114

6.6.4 示例 – apoc.refactor.mergeRelationships / 114

6.7 重定向关系 / 115

6.7.1 定义 / 115

6.7.2 过程概述 / 115

6.7.3 过程调用接口 – apoc.refactor.from / 115

6.7.4 示例 – apoc.refactor.from / 116

6.8 反转关系 / 116

6.8.1 定义 / 116

6.8.2 过程概述 / 116

6.8.3 过程调用接口 – apoc.refactor.invert / 117

6.8.4 示例 – apoc.refactor.invert / 117

6.9 设置关系类型 / 117

6.9.1 定义 / 117

6.9.2 过程概述 / 118

6.9.3 过程调用接口 – apoc.refactor.setType / 118

6.9.4 示例 – apoc.refactor.setType / 118

6.10 将关系转换成节点 / 118

6.10.1 定义 / 118

6.10.2 过程概述 / 119

6.10.3 过程调用接口 – apoc.refactor.extractNode / 119

6.10.4 示例 – apoc.refactor.extractNode / 119

6.11 将节点转换为关系 / 120

6.11.1 定义 / 120

6.11.2 过程概述 / 120

6.11.3 过程调用接口 – apoc.refactor.collapseNode / 120

6.11.4 示例 – apoc.refactor.cloneNodes / 121

6.12 标准化为布尔值 / 121

6.12.1 定义 / 121

6.12.2 过程概述 / 121

6.12.3 过程调用接口 – apoc.refactor.normalizeAsBoolean / 121

6.12.4 示例 – apoc.refactor.normalizeAsBoolean / 122

6.13 分类 / 123

6.13.1 定义 / 123

6.13.2 过程概述 / 123

6.13.3 过程调用接口 – apoc.refactor.categorize / 123

6.13.4 示例 – apoc.refactor.categorize / 124

6.14 重命名 / 125

6.14.1 定义 / 125

6.14.2 过程概述 / 125

6.14.3 示例 – apoc.refactor.rename.nodeProperty / 125

第7章 数据库运维 / 127

7.1 数据库运维概述 / 127

7.2 使用触发器 / 129

7.2.1 概述 / 129

7.2.2 过程概述 – apoc.trigger.add / 130

7.2.3 过程调用接口 – apoc.trigger.add / 131

7.2.4 示例 – apoc.trigger.add / 131

7.3 管理索引 / 132

7.3.1 概述 / 132

7.4 查看元数据 / 133

7.4.1 概述 / 133

7.4.2 过程概述 – apoc.meta. / 134

7.4.3 过程调用接口 – apoc.meta. / 134

7.4.4 示例 – apoc.meta. / 135

7.5 数据库监控 / 136

7.5.1 概述 / 136

7.5.2 过程概述 – apoc.monitor. / 136

7.5.3 过程调用接口 – apoc.monitor. / 136

7.5.4 示例 – apoc.monitor. / 136

第8章 工具函数和过程 / 138

8.1 工具函数和过程概述 / 138

8.2 节点相关操作 / 143

8.2.1 概述 / 143

8.3 路径相关操作 / 145

8.3.1 概述 / 145

8.3.2 函数概述 – apoc.path.bine / 146

8.3.3 函数调用接口 – apoc.path.bine / 146

8.3.4 示例 – apoc.path.bine / 146

8.3.5 函数概述 – apoc.path.create / 147

8.3.6 函数调用接口 – apoc.path.create / 147

8.3.7 示例 – apoc.path.create / 147

8.3.8 函数概述 – apoc.path.elements / 147

8.3.9 函数调用接口 – apoc.path.elements / 147

8.3.10 示例 – apoc.path.elements / 148

8.3.11 函数概述 – apoc.path.slice / 148

8.3.12 函数调用接口 – apoc.path.slice / 148

8.3.13 示例 – apoc.path.slice / 148

8.4 并行节点搜索 / 149

8.4.1 概述 / 149

8.4.2 函数概述 – apoc.search.node / 150

8.4.3 函数调用接口 – apoc.search.node / 150

8.4.4 示例 – apoc.search.node / 150

8.5 地图和空间计算相关功能 / 150

8.5.1 概述 / 150

8.5.2 过程概述 – apoc.spatial.geocode / 152

8.5.3 过程调用接口 – apoc.spatial.geocode / 152

8.5.4 示例 – apoc.spatial.geocode / 152

8.5.5 过程概述 – apoc.spatial.reverseGeocode / 153

8.5.6 过程调用接口 – apoc.spatial.reverseGeocode / 153

8.5.7 示例 – apoc.spatial.reverseGeocode / 153

8.6 集合相关操作 / 154

8.7 图生成 / 157

8.7.1 概述 / 157

8.7.2 过程概述 – apoc.generate.er / 157

8.7.3 过程调用接口 – apoc.generate.er / 158

8.7.4 示例 – apoc.generate.er / 158

8.7.5 过程概述 – apoc.generate.ws / 159

8.7.6 过程调用接口 – apoc.generate.ws / 160

8.7.7 示例 – apoc.generate.ws / 160

8.7.8 过程概述 – apoc.generate.ba / 161

8.7.9 过程调用接口 – apoc.generate.ba / 162

8.7.10 示例 – apoc.generate.ba / 163

8.7.11 过程概述 – apoc.generate.plete / 164

8.7.12 过程调用接口 – apoc.generate.plete / 164

8.7.13 示例 – apoc.generate.plete / 164

8.7.14 过程概述 – apoc.generate.simple / 165

8.7.15 过程调用接口 – apoc.generate.simple / 165

8.7.16 示例 – apoc.generate.simple / 165

第9章 虚拟图 / 167

9.1 虚拟图概述 / 167

9.2 虚拟节点和关系 / 168

9.2.1 概述 / 168

9.2.2 过程概述 – apoc.create.vNode / 170

9.2.3 过程调用接口 – apoc.create.vNode / 171

9.2.4 示例 – apoc.create.vNode / 171

9.2.5 过程概述 – apoc.create.vNodes / 171

9.2.6 过程调用接口 – apoc.create.vNodes / 171

9.2.7 示例 – apoc.create.vNodes / 172

9.2.8 过程概述 – apoc.create.vRelationship / 172

9.2.9 过程调用接口 – apoc.create.vRelationship / 172

9.2.10 示例 – apoc.create.vRelationship / 173

9.2.11 过程概述 – apoc.create.vPattern / 174

9.2.12 过程调用接口 – apoc.create.vPattern / 174

9.2.13 示例 – apoc.create.vPattern / 174

9.2.14 过程概述 – apoc.create.vPatternFull / 175

9.2.15 过程调用接口 – apoc.create.vPatternFull / 175

9.2.16 过程概述 – apoc.nodes.collapse / 176

9.2.17 过程调用接口 – apoc.nodes.collapse / 176

9.2.18 示例 – apoc.nodes.collapse / 177

9.3 虚拟图 / 178

9.3.1 概述 / 178

9.3.2 过程概述 – apoc.graph.fromData / 179

9.3.3 过程调用接口 – apoc.graph.fromData / 179

9.3.4 示例 – apoc.graph.fromData / 179

9.3.5 过程概述 – apoc.graph.fromPath / 179

9.3.6 过程调用接口 – apoc.graph.fromPath / 180

9.3.7 示例 – apoc.graph.fromPath / 180

9.3.8 过程概述 – apoc.graph.fromPaths / 180

9.3.9 过程概述 – apoc.graph.fromCypher / 180

9.3.10 过程调用接口 – apoc.graph.fromCypher / 180

9.3.11 示例 – apoc.graph.fromCypher / 181

9.3.12 过程概述 – apoc.graph.fromDocument / 181

9.3.13 过程调用接口 – apoc.graph.fromDocument / 181

9.3.14 示例 – apoc.graph.fromDocument / 182

9.3.15 过程概述 – apoc.nodes.group / 183

9.3.16 过程调用接口 – apoc.nodes.group / 184

9.3.17 示例 – apoc.nodes.group / 185

第三部分 ALGO扩展包使用指南

0章 路径搜索 / 189

10.1 路径搜索概述 / 189

10.2 广度和深度优先搜索 / 192

10.3 短路径 / 192

10.3.1 概述 / 192

10.3.2 过程概述 – apoc.shortestPath / 193

10.3.3 过程调用接口 – algo.shortestPath / 193

10.3.4 示例 – algo.shortestPath / 194

10.4 A 短路径 / 196

10.4.1 概述 / 196

10.4.2 过程概述 – apoc.shortestPath.astar / 196

10.4.3 过程调用接口 – algo.shortestPath / 196

10.4.4 示例 – algo.shortestPath.astar / 197

10.5 单源起点 短路径 / 198

10.5.1 概述 / 198

10.5.2 过程概述 – apoc.shortestPath.deltaStepping / 199

10.5.3 过程调用接口 – algo.shortestPath.deltaStepping / 199

10.5.4 示例 – algo.shortestPath.deltaStepping / 200

10.6 全图 短路径 / 201

10.6.1 概述 / 201

10.6.2 过程概述 – algo.allShortestPaths / 201

10.6.3 过程调用接口 – algo.allShortestPaths / 201

10.6.4 示例 – algo.allShortestPaths / 202

10.7 K-条 短路径 / 203

10.7.1 概述 / 203

10.7.2 过程概述 – algo.kShortestPaths / 204

10.7.3 过程调用接口 – algo.kShortestPaths / 204

10.7.4 示例 – algo.kShortestPaths / 206

10.8 小生成树 / 206

10.8.1 概述 / 206

10.8.2 过程概述 – algo.spanningTree. / 207

10.8.3 过程调用接口 – algo.spanningTree.minimum / 207

10.8.4 示例 – algo.spanningTree.minimum / 208

10.9 游走 / 209

10.9.1 定义 / 209

10.9.2 应用 / 209

10.9.3 过程概述 / 209

10.9.4 简单过程调用接口 / 210

10.9.5 完整过程调用接口 / 210

10.9.6 示例 – algo.randomWalk / 211

1章 社团检测 / 212

11.1 社团检测概述 / 212

11.1.1 算法一览 / 212

11.1.2 图的聚集成群特征 / 214

11.1.3 过程使用说明 / 215

11.2 三角计数和集聚系数 / 216

11.2.1 概述 / 216

11.2.2 过程概述 – algo.triangle.stream / 217

11.2.3 过程调用接口 – algo.triangle / 217

11.2.4 示例 – algo.triangle.stream / 218

11.2.5 过程概述 – algo.triangleCount / 218

11.2.6 过程调用接口 – algo.triangle / 218

11.2.7 示例 – algo.triangleCount.stream / 219

11.3 强连通分量 / 219

11.3.1 概述 / 219

11.3.2 过程概述 – algo.scc / 220

11.3.3 过程调用接口 – algo.scc / 221

11.4 连通分量 / 221

11.4.1 概述 / 221

11.4.2 过程概述 – algo.unionFind / 222

11.4.3 过程调用接口 – algo.unionFind / 223

11.4.4 示例 – algo.unionFind / 224

11.5 标签传播算法 / 224

11.5.1 概述 / 224

11.5.2 过程概述 – algo.labelPropagation / 226

11.5.3 过程调用接口 – algo.labelPropagation / 226

11.5.4 示例 – algo.unionFind / 227

11.6 Louvain模块度算法 / 228

11.6.1 概述 / 228

11.6.2 过程概述 – algo.louvain / 230

11.6.3 过程调用接口 – algo.louvain / 230

11.6.4 示例 – algo.louvain / 232

11.7 小结 / 233

2章 中心性算法 / 234

12.1 中心性算法概述 / 234

12.2 度中心性 / 237

12.2.1 概述 / 237

12.2.2 过程概述 – algo.degree / 238

12.2.3 过程调用接口 – algo.degree / 238

12.2.4 示例 – algo.degree / 239

12.3 紧密中心性 / 240

12.3.1 概述 / 240

12.3.2 过程概述 – algo.closeness / 241

12.3.3 过程调用接口 – algo.closeness / 241

12.3.4 示例 – algo.closeness / 242

12.4 协调中心性 / 242

12.4.1 概述 / 242

12.4.2 过程概述 – algo.harmonic / 243

12.4.3 过程调用接口 – algo.harmonic / 243

12.4.4 示例 – algo.harmonic / 244

12.5 间接中心性 / 244

12.5.1 概述 / 244

12.5.2 过程概述 – algo.betweenness / 245

12.5.3 过程调用接口 – algo.betweenness / 246

12.5.4 示例 – algo.betweenness / 247

12.6 特征向量中心性 / 247

12.6.1 概述 / 247

12.6.2 过程概述 – algo.eigenvector / 248

12.6.3 过程调用接口 – algo.eigenvector / 248

12.6.4 示例 – algo.eigenvector / 249

12.7 页面排行 / 250

12.7.1 概述 / 250

12.7.2 过程概述 – algo.pageRank / 252

12.7.3 过程调用接口 – algo.pageRank / 252

12.7.4 示例 – algo.pageRank / 253

12.8 小结 / 254

3章 相似度算法 / 255

13.1 相似度算法概述 / 255

13.1.1 相似度过程 / 255

13.1.2 什么是相似度 / 256

13.2 Jaccard相似度 / 257

13.2.1 概述 / 257

13.2.2 函数/过程概述 – algo.similarity.jaccard / 258

13.2.3 调用接口 – algo.similarity.jaccard / 258

13.2.4 示例 – algo.similarity.jaccard / 260

13.3 重叠相似度 / 260

13.3.1 概述 / 260

13.3.2 函数/过程概述 – algo.similarity.overlap / 2