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