码农pdf
大数据
java
分布式
高并发
移动开发
人工智能
微服务
数据库
办公软件
考试面试
Neo4j图数据库扩展指南:APOC和ALGO俞方桦有限公司百度网盘pdf下载
作者:
简介:本篇提供书籍《Neo4j图数据库扩展指南:APOC和ALGO俞方桦有限公司》百度网盘pdf下载
出版社:古韵图书专营店
出版时间:2019-05
pdf下载价格:0.00¥
免费下载
前去下载
书籍下载
下载地址
内容介绍
商品基本信息,请以下列介绍为准
商品名称:
Neo4j图数据库扩展指南:APOC和ALGO
作者:
俞方桦,张帜
定价:
79.0
出版社:
清华大学出版社有限公司
出版日期:
2019-05-01
ISBN:
9787302555483
印次:
1
版次:
1
装帧:
开本:
26开
内容简介
Neo4j是当今全球的图数据库软件,其起源于开源的图数据库项目,经过十余年的发展,已经在国内和国外的各类企业、研究机构中有着广泛的应用。随着数据库规模的增加,以及对图算法类型、查询性能和数据库能等要求越来越高,Neo4j推出了扩APOC和ALGO以满足这些要求。
本书基于Neo4j数据库3.5版本及其对应的ALGO和APOC扩,详细介绍二百个主要过程和函数的定义、相关理论、使用方法、代码样例,让广大Neo4j图数据库的设计和开发人员能够快速掌握的图数据库分析方法及其应用开发技能。
作为《图数据库技术丛书》系列的第三本,本书的内容与前两本承上启下,可以作为Neo4j数据库的中高级设计人员、开发工程师以及数据科学家的技术参考手册。
目录
部分 概述
章 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.expand33
3.3.4 过程调用接口-apoc.path.expand33
3.3.5 示例-创建三国人物关系图33
3.3.6 示例-apoc.path.expand34
3.4 可配置的路径扩展过程35
3.4.1 定义35
3.4.2 过程概述-apoc.path.expandConfig36
3.4.3 过程调用接口-apoc.path.expandConfig36
3.4.4 示例-apoc.path.expandConfig37
3.5 搜索子图38
3.5.1 定义38
3.5.2 应用39
3.5.3 过程概述-apoc.path.graphNodes39
3.5.4 过程调用接口-apoc.path.graphNodes39
3.5.5 示例-apoc.path.graphNodes41
3.6 搜索小生成树42
第4章 查询任务管理43
4.1 查询任务管理概述43
4.2 按照条件循环执行-commit46
4.2.1 定义46
4.2.2 应用47
4.2.3 过程概述-apoc.periodic.commit47
4.2.4 过程调用接口-apoc.periodic.commit47
4.2.5 示例-apoc.periodic.commit47
4.3 按照集合内容循环执行-iterate48
4.3.1 定义48
4.3.2 应用49
4.3.3 过程概述-apoc.periodic.iterate49
4.3.4 过程调用接口-apoc.periodic.iterate49
4.3.5 示例-apoc.periodic.iterate50
4.4 异步执行Cypher查询-mit51
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.run56
4.6.4 示例-apoc.cypher.run56
4.6.5 过程调用接口-apoc.cypher.runTimeboxed56
4.6.6 示例-apoc.cypher.runTimeboxed57
4.6.7 过程调用接口-apoc.cypher.doIt58
4.6.8 示例-apoc.cypher.doIt58
4.6.9 过程调用接口-apoc.cypher.runFiles59
4.6.10 过程调用接口-apoc.cypher.runSchemaFiles60
4.6.11 过程调用接口-apoc.cypher.parallel60
4.6.12 示例-apoc.cypher.parallel61
4.6.13 过程调用接口-apoc.cypher.mapParallel61
4.6.14 示例-apoc.cypher.mapParallel61
4.7 Cypher执行的条件分支62
4.7.1 定义62
4.7.2 应用62
4.7.3 过程调用接口-apoc.*.when62
4.7.4 示例-apoc.when63
4.7.5 过程调用接口-apoc.case63
4.7.6 示例-apoc.cypher.*case64
第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.all70
5.2.5 示例-export.csv.all70
5.2.6 过程调用接口-export.csv.data71
5.2.7 示例-export.csv.data71
5.2.8 过程调用接口-export.csv.graph72
5.2.9 示例-export.csv.graph72
5.2.10 过程调用接口-export.csv.query73
5.2.11 示例-export.csv.query73
5.3 导出到JSON文件73
5.3.1 定义73
5.3.2 应用74
5.3.3 过程概述74
5.3.4 过程调用接口-export.json.all74
5.3.5 示例-export.json.all74
5.3.6 过程调用接口-export.json.data74
5.3.7 示例-export.json.data75
5.3.8 过程调用接口-export.csv.graph75
5.3.9 示例-export.json.graph76
5.3.10 过程调用接口-export.json.query76
5.3.11 示例-export.json.query76
5.4 导出到Cypher查询文件77
5.4.1 定义77
5.4.2 应用77
5.4.3 过程概述77
5.4.4 过程调用接口-export.cypher.all77
5.4.5 示例-export.cypher.all78
5.4.6 过程调用接口-export.cypher.data79
5.4.7 示例-export.cypher.data79
5.4.8 过程调用接口-export.cypher.graph79
5.4.9 示例-export.cypher.graph80
5.4.10 过程调用接口-export.cypher.query80
5.4.11 示例-export.cypher.query81
5.4.12 过程调用接口-export.cypher.schema81
5.4.13 示例-export.cypher.schema82
5.5 导入CSV文件82
5.5.1 定义82
5.5.2 应用82
5.5.3 过程概述82
5.5.4 过程调用接口-apoc.load.csv83
5.5.5 示例-apoc.load.csv84
5.6 导入JSON数据85
5.6.1 定义85
5.6.2 应用87
5.6.3 过程概述87
5.6.4 过程调用接口-apoc.load.json87
5.6.5 示例-apoc.load.json88
5.7 导入XML 文件90
5.7.1 定义90
5.7.2 导入XML文档-apoc.xml.import90
5.7.3 示例-apoc.xml.import92
5.7.4 XML文档加载-apoc.load.xml94
5.7.5 示例-apoc.load.xml95
5.8 访问其他Neo4j数据库96
5.8.1 概述96
5.8.2 过程定义-apoc.bolt.execute97
5.8.3 过程调用接口-apoc.bolt.execute97
5.8.4 示例-apoc.bolt.execute98
5.8.5 过程定义-apoc.bolt.load99
5.9 从JDBC源导入数据99
5.9.1 概述99
5.9.2 过程定义-apoc.load.driver101
5.9.3 过程调用接口-apoc.load.driver101
5.9.4 过程定义-apoc.load.jdbc102
5.9.5 过程调用接口-apoc.load.jdbc102
5.9.6 示例-apoc.load.jdbc102
5.9.7 过程定义-apoc.load.jdbcUpdate103
5.9.8 过程调用接口-apoc.load.jdbcUpdate103
5.9.9 示例-apoc.load.jdbcUpdate104
5.9.10 过程定义-apoc.model.jdbc104
5.9.11 过程调用接口-apoc.model.jdbc104
5.9.12 示例-apoc.model.jdbc105
第6章 图重构107
6.1 图重构概述107
6.2 克隆节点108
6.2.1 定义108
6.2.2 过程概述109
6.2.3 过程调用接口-apoc.refactor.cloneNodes109
6.2.4 示例-apoc.refactor.cloneNodes109
6.3 克隆节点及其关系110
6.3.1 定义110
6.3.2 过程概述110
6.3.3 过程调用接口-apoc.refactor.cloneNodesWithRelationships110
6.4 克隆子图110
6.4.1 定义110
6.4.2 过程概述111
6.4.3 过程调用接口-apoc.refactor.cloneSubgraph111
6.4.4 示例-apoc.refactor.cloneSubgraph111
6.5 合并节点112
6.5.1 定义112
6.5.2 过程概述112
6.5.3 过程调用接口-apoc.refactor.mergeNodes112
6.5.4 示例-apoc.refactor.mergeNodes112
6.6 合并关系113
6.6.1 定义113
6.6.2 过程概述113
6.6.3 过程调用接口-apoc.refactor.mergeRelationships114
6.6.4 示例-apoc.refactor.mergeRelationships114
6.7 重定向关系115
6.7.1 定义115
6.7.2 过程概述115
6.7.3 过程调用接口-apoc.refactor.from115
6.7.4 示例-apoc.refactor.from116
6.8 反转关系116
6.8.1 定义116
6.8.2 过程概述116
6.8.3 过程调用接口-apoc.refactor.invert117
6.8.4 示例-apoc.refactor.invert117
6.9 设置关系类型117
6.9.1 定义117
6.9.2 过程概述118
6.9.3 过程调用接口-apoc.refactor.setType118
6.9.4 示例-apoc.refactor.setType118
6.10 将关系转换成节点118
6.10.1 定义118
6.10.2 过程概述119
6.10.3 过程调用接口-apoc.refactor.extractNode119
6.10.4 示例-apoc.refactor.extractNode119
6.11 将节点转换为关系120
6.11.1 定义120
6.11.2 过程概述120
6.11.3 过程调用接口-apoc.refactor.collapseNode120
6.11.4 示例-apoc.refactor.cloneNodes121
6.12 标准化为布尔值121
6.12.1 定义121
6.12.2 过程概述121
6.12.3 过程调用接口-apoc.refactor.normalizeAsBoolean121
6.12.4 示例-apoc.refactor.normalizeAsBoolean122
6.13 分类123
6.13.1 定义123
6.13.2 过程概述123
6.13.3 过程调用接口-apoc.refactor.categorize123
6.13.4 示例-apoc.refactor.categorize124
6.14 重命名125
6.14.1 定义125
6.14.2 过程概述125
6.14.3 示例-apoc.refactor.rename.nodeProperty125
第7章 数据库运维127
7.1 数据库运维概述127
7.2 使用触发器129
7.2.1 概述129
7.2.2 过程概述-apoc.trigger.130
7.2.3 过程调用接口-apoc.trigger.131
7.2.4 示例-apoc.trigger.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.combine146
8.3.3 函数调用接口-apoc.path.combine146
8.3.4 示例-apoc.path.combine146
8.3.5 函数概述-apoc.path.create147
8.3.6 函数调用接口-apoc.path.create147
8.3.7 示例-apoc.path.create147
8.3.8 函数概述-apoc.path.elements147
8.3.9 函数调用接口-apoc.path.elements147
8.3.10 示例-apoc.path.elements148
8.3.11 函数概述-apoc.path.slice148
8.3.12 函数调用接口-apoc.path.slice148
8.3.13 示例-apoc.path.slice148
8.4 并行节点搜索149
8.4.1 概述149
8.4.2 函数概述-apoc.search.node150
8.4.3 函数调用接口-apoc.search.node150
8.4.4 示例-apoc.search.node150
8.5 地图和空间计算能150
8.5.1 概述150
8.5.2 过程概述-apoc.spatial.geocode152
8.5.3 过程调用接口-apoc.spatial.geocode152
8.5.4 示例-apoc.spatial.geocode152
8.5.5 过程概述-apoc.spatial.reverseGeocode153
8.5.6 过程调用接口-apoc.spatial.reverseGeocode153
8.5.7 示例-apoc.spatial.reverseGeocode153
8.6 集合相关操作154
8.7 图生成157
8.7.1 概述157
8.7.2 过程概述-apoc.generate.er157
8.7.3 过程调用接口-apoc.generate.er158
8.7.4 示例-apoc.generate.er158
8.7.5 过程概述-apoc.generate.ws159
8.7.6 过程调用接口-apoc.generate.ws160
8.7.7 示例-apoc.generate.ws160
8.7.8 过程概述-apoc.generate.ba161
8.7.9 过程调用接口-apoc.generate.ba162
8.7.10 示例-apoc.generate.ba163
8.7.11 过程概述-apoc.generate.complete164
8.7.12 过程调用接口-apoc.generate.complete164
8.7.13 示例-apoc.generate.complete164
8.7.14 过程概述-apoc.generate.simple165
8.7.15 过程调用接口-apoc.generate.simple165
8.7.16 示例-apoc.generate.simple165
第9章 虚拟图167
9.1 虚拟图概述167
9.2 虚拟节点和关系168
9.2.1 概述168
9.2.2 过程概述-apoc.create.vNode170
9.2.3 过程调用接口-apoc.create.vNode171
9.2.4 示例-apoc.create.vNode171
9.2.5 过程概述-apoc.create.vNodes171
9.2.6 过程调用接口-apoc.create.vNodes171
9.2.7 示例-apoc.create.vNodes172
9.2.8 过程概述-apoc.create.vRelationship172
9.2.9 过程调用接口-apoc.create.vRelationship172
9.2.10 示例-apoc.create.vRelationship173
9.2.11 过程概述-apoc.create.vPattern174
9.2.12 过程调用接口-apoc.create.vPattern174
9.2.13 示例-apoc.create.vPattern174
9.2.14 过程概述-apoc.create.vPatternFull175
9.2.15 过程调用接口-apoc.create.vPatternFull175
9.2.16 过程概述-apoc.nodes.collapse176
9.2.17 过程调用接口-apoc.nodes.collapse176
9.2.18 示例-apoc.nodes.collapse177
9.3 虚拟图178
9.3.1 概述178
9.3.2 过程概述-apoc.graph.fromData179
9.3.3 过程调用接口-apoc.graph.fromData179
9.3.4 示例-apoc.graph.fromData179
9.3.5 过程概述-apoc.graph.fromPath179
9.3.6 过程调用接口-apoc.graph.fromPath180
9.3.7 示例-apoc.graph.fromPath180
9.3.8 过程概述-apoc.graph.fromPaths180
9.3.9 过程概述-apoc.graph.fromCypher180
9.3.10 过程调用接口-apoc.graph.fromCypher180
9.3.11 示例-apoc.graph.fromCypher181
9.3.12 过程概述-apoc.graph.fromDocument181
9.3.13 过程调用接口-apoc.graph.fromDocument181
9.3.14 示例-apoc.graph.fromDocument182
9.3.15 过程概述-apoc.nodes.group183
9.3.16 过程调用接口-apoc.nodes.group184
9.3.17 示例-apoc.nodes.group185
第三部分 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.shortestPath194
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.allShortestPaths202
10.7 K-条短路径203
10.7.1 概述203
10.7.2 过程概述-algo.kShortestPaths*204
10.7.3 过程调用接口-algo.kShortestPaths*204
10.7.4 示例-algo.kShortestPaths206
10.8 小生成树206
10.8.1 概述206
10.8.2 过程概述-algo.spanningTree.*207
10.8.3 过程调用接口-algo.spanningTree.minimum207
10.8.4 示例-algo.spanningTree.minimum208
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.randomWalk211
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.stream217
11.2.3 过程调用接口-algo.triangle*217
11.2.4 示例-algo.triangle.stream218
11.2.5 过程概述-algo.triangleCount*218
11.2.6 过程调用接口-algo.triangle*218
11.2.7 示例-algo.triangleCount.stream219
11.3 强连通分量219
11.3.1 概述219
11.3.2 过程概述-algo.scc220
11.3.3 过程调用接口-algo.scc221
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.jaccard258
13.2.4 示例-algo.similarity.jaccard*260
13.3 重叠相似度260
13.3.1 概述260
13.3.2 函数/过程概述-algo.similarity.overlap*261
13.3.3 调用接口-algo.similarity.overlap261
13.4 余弦相似度262
13.4.1 概述262
13.4.2 函数/过程概述-algo.similarity.cosine*263
13.4.3 调用接口-algo.similarity.cosine263
13.4.4 示例-algo.similarity.cosine*264
13.5 欧几里德相似度265
13.5.1 概述265
13.5.2 函数/过程概述-algo.similarity.euclideanDistance*265
13.5.3 调用接口-algo.similarity.euclideanDistance*266
13.5.4 示例-algo.similarity.euclideanDistance *267
第四部分 Neo4j数据库扩展开发指南
4章 数据库扩展开发271
14.1 数据库扩展开发概述271
14.2 关于性272
14.2.1 沙箱272
14.2.2 白名单273
14.3 创建数据库扩展项目273
14.3.1 创建新项目273
14.3.2 项目信息275
14.3.3 创建程和过程类277
14.4 创建数据库扩展过程279
14.4.1 个过程-hello279
14.4.2 编译和-hello281
14.4.3 部署和测试-hello283
14.4.4 小结283
14.5 开发扩展函数285
14.5.1 调用扩展函数285
14.5.2 开发扩展函数285
14.6 开发扩展函数286
14.6.1 调用函数286
14.6.2 编写用户定义的函数286
14.7 细粒度图数据访问控制287
14.7.1 方法288
14.7.2 定义用户和角色288
14.7.3 实现扩展过程288
5章 自定义的图遍历289
15.1 自定义的图遍历概述289
15.2 Neo4j 遍历框架289
15.2.1 主要概念290
15.2.2 遍历框架Java API290
15.3 生成测试图292
15.4 k-度邻居统计-Cypher的实现292
15.5 k-度邻居统计-扩展过程的实现293
15.5.1 创建过程293
15.5.2一步优化295
本书基于Neo4j数据库3.5版本及其对应的ALGO和APOC扩,详细介绍二百个主要过程和函数的定义、相关理论、使用方法、代码样例,让广大Neo4j图数据库的设计和开发人员能够快速掌握正确和的图数据库分析方法及其应用开发技能。
作者简介
相关内容
MySQL数据库案例教程张青北京理工计算机与互联网书籍
数据库原理及应用姜代红,蒋秀莲
网络安全中的数据挖掘技术李涛
图解数据结构胡昭民
crystalReportsXI水晶报表标准指南菲茨格兰德,陈璐
数据可视化原理与实战——基于PowerBI雷元著