万本电子书0元读

万本电子书0元读

顶部广告

Neo4j 图数据库扩展指南:APOC和ALGO电子书

本书基于Neo4j数据库3.5版本及其对应的ALGO和APOC扩展包,详细介绍了近二百个主要过程和函数的定义、相关理论、使用方法、代码样例,让广大Neo4j图数据库的设计和发人员能够快速掌握正确和高效的图数据库分析方法及其应用发技能。

售       价:¥

纸质售价:¥59.60购买纸书

40人正在读 | 0人评论 6.2

作       者:俞方桦

出  版  社:清华大学出版社

出版时间:2020-07-01

字       数:11.5万

所属分类: 科技 > 计算机/网络 > 计算机理论与教程

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书共13章,全面、系统和详尽地介绍Neo4j图数据库扩展的概念、APOC和ALGO扩展包的使用、以及发服务器扩展的方法。内容分为四个部分,依次为:Neo4j 图数据库扩展介绍;APOC 扩展包函数和过程指南;ALGO 扩展包函数和过程指南;发和测试方法。<br/>【推荐语】<br/>本书基于Neo4j数据库3.5版本及其对应的ALGO和APOC扩展包,详细介绍了近二百个主要过程和函数的定义、相关理论、使用方法、代码样例,让广大Neo4j图数据库的设计和发人员能够快速掌握正确和高效的图数据库分析方法及其应用发技能。<br/>【作者】<br/>张老师是微云数聚(北京)科技有限公司创始人、中国IT界元老、中国图数据库先导者、大数据领域资深专家、WPS曲线汉字全套核心技术的发明人。1985年研究生毕业于国防科技大学,获中国首届信息系统工程硕士。<br/>
目录展开

封面页

书名页

版权页

主/编/介/绍

作/者/介/绍

内容简介

推荐序一

推荐序二

前言

本书的内容

如何使用本书

格式及说明

源码下载与技术支持

致谢

目录

第一部分 概述

第1章 ◄Neo4j图数据库扩展概述►

1.1 Neo4j图数据库平台

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

1.1.2 Neo4j图数据库平台

1.1.3 原生图数据库

1.2 Neo4j数据库扩展

1.2.1 背景

1.2.2 APOC扩展库的内容

1.2.3 ALGO扩展库的内容

1.2.4 ALGO扩展库的未来版本

第2章 ◄扩展包的安装和配置►

2.1 扩展包的下载

2.2 扩展包的安装和配置

2.2.1 在Neo4j Desktop中自动安装

2.2.2 手动安装

2.2.3 在Docker容器中安装

2.2.4 测试安装

2.2.5 在线文档

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

第3章 ◄路径扩展过程►

3.1 路径扩展过程概述

3.2 主要参数说明

3.2.1 标签过滤器(labelFilter)

3.2.2 关系过滤器(relationshipFilter)

3.2.3 标签和关系序列(Sequence)

3.2.4 唯一性规则(Uniqueness)

3.2.5 理解Cypher的模式匹配

3.3 基本路径扩展过程

3.3.1 定义

3.3.2 应用

3.3.3 过程概述 – apoc.path.expand

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

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

3.3.6 示例 – apoc.path.expand

3.4 可配置的路径扩展过程

3.4.1 定义

3.4.2 过程概述 – apoc.path.expandConfig

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

3.4.4 示例 – apoc.path.expandConfig

3.5 搜索子图

3.5.1 定义

3.5.2 应用

3.5.3 过程概述 – apoc.path.subgraphNodes

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

3.5.5 示例 – apoc.path.subgraphNodes

3.6 搜索最小生成树

第4章 ◄查询任务管理►

4.1 查询任务管理概述

4.2 按照条件循环执行 – commit

4.2.1 定义

4.2.2 应用

4.2.3 过程概述 – apoc.periodic.commit

4.2.4 过程调用接口 – apoc.periodic.commit

4.2.5 示例 – apoc.periodic.commit

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

4.3.1 定义

4.3.2 应用

4.3.3 过程概述 – apoc.periodic.iterate

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

4.3.5 示例 – apoc.periodic.iterate

4.4 异步执行Cypher查询 – submit

4.4.1 定义

4.4.2 应用

4.4.3 过程概述

4.4.4 示例

4.5 自定义Cypher函数和过程

4.5.1 定义

4.5.2 应用

4.5.3 过程调用接口

4.5.4 示例

4.6 Cypher执行过程

4.6.1 定义

4.6.2 应用

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

4.6.4 示例 – apoc.cypher.run

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

4.6.6 示例 – apoc.cypher.runTimeboxed

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

4.6.8 示例 – apoc.cypher.doIt

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

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

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

4.6.12 示例 – apoc.cypher.parallel

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

4.6.14 示例 – apoc.cypher.mapParallel

4.7 Cypher执行的条件分支

4.7.1 定义

4.7.2 应用

4.7.3 过程调用接口 – apoc.*.when

4.7.4 示例 – apoc.when

4.7.5 过程调用接口 – apoc.case

4.7.6 示例 – apoc.cypher.*case

第5章 ◄数据导入和导出►

5.1 数据导入和导出概述

5.2 导出到CSV文件 – export.csv.*

5.2.1 定义

5.2.2 应用

5.2.3 过程概述

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

5.2.5 示例 – export.csv.all

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

5.2.7 示例 – export.csv.data

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

5.2.9 示例 – export.csv.graph

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

5.2.11 示例 – export.csv.query

5.3 导出到JSON文件

5.3.1 定义

5.3.2 应用

5.3.3 过程概述

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

5.3.5 示例 – export.json.all

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

5.3.7 示例 – export.json.data

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

5.3.9 示例 – export.json.graph

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

5.3.11 示例 – export.json.query

5.4 导出到Cypher查询文件

5.4.1 定义

5.4.2 应用

5.4.3 过程概述

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

5.4.5 示例 – export.cypher.all

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

5.4.7 示例 – export.cypher.data

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

5.4.9 示例 – export.cypher.graph

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

5.4.11 示例 – export.cypher.query

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

5.4.13 示例 – export.cypher.schema

5.5 导入CSV文件

5.5.1 定义

5.5.2 应用

5.5.3 过程概述

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

5.5.5 示例 – apoc.load.csv

5.6 导入JSON数据

5.6.1 定义

5.6.2 应用

5.6.3 过程概述

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

5.6.5 示例 – apoc.load.json

5.7 导入XML文件

5.7.1 定义

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

5.7.3 示例 – apoc.xml.import

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

5.7.5 示例 – apoc.load.xml

5.8 访问其他Neo4j数据库

5.8.1 概述

5.8.2 过程定义 – apoc.bolt.execute

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

5.8.4 示例 – apoc.bolt.execute

5.8.5 过程定义 – apoc.bolt.load

5.9 从JDBC源导入数据

5.9.1 概述

5.9.2 过程定义 – apoc.load.driver

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

5.9.4 过程定义 – apoc.load.jdbc

5.9.5 过程调用接口 – apoc.load.jdbc

5.9.6 示例 – apoc.load.jdbc

5.9.7 过程定义 – apoc.load.jdbcUpdate

5.9.8 过程调用接口 – apoc.load.jdbcUpdate

5.9.9 示例 – apoc.load.jdbcUpdate

5.9.10 过程定义 – apoc.model.jdbc

5.9.11 过程调用接口 – apoc.model.jdbc

5.9.12 示例 – apoc.model.jdbc

第6章 ◄图重构►

6.1 图重构概述

6.2 克隆节点

6.2.1 定义

6.2.2 过程概述

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

6.2.4 示例 – apoc.refactor.cloneNodes

6.3 克隆节点及其关系

6.3.1 定义

6.3.2 过程概述

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

6.4 克隆子图

6.4.1 定义

6.4.2 过程概述

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

6.4.4 示例 – apoc.refactor.cloneSubgraph

6.5 合并节点

6.5.1 定义

6.5.2 过程概述

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

6.5.4 示例 – apoc.refactor.mergeNodes

6.6 合并关系

6.6.1 定义

6.6.2 过程概述

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

6.6.4 示例 – apoc.refactor.mergeRelationships

6.7 重定向关系

6.7.1 定义

6.7.2 过程概述

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

6.7.4 示例 – apoc.refactor.from

6.8 反转关系

6.8.1 定义

6.8.2 过程概述

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

6.8.4 示例 – apoc.refactor.invert

6.9 设置关系类型

6.9.1 定义

6.9.2 过程概述

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

6.9.4 示例 – apoc.refactor.setType

6.10 将关系转换成节点

6.10.1 定义

6.10.2 过程概述

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

6.10.4 示例 – apoc.refactor.extractNode

6.11 将节点转换为关系

6.11.1 定义

6.11.2 过程概述

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

6.11.4 示例 – apoc.refactor.cloneNodes

6.12 标准化为布尔值

6.12.1 定义

6.12.2 过程概述

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

6.12.4 示例 – apoc.refactor.normalizeAsBoolean

6.13 分类

6.13.1 定义

6.13.2 过程概述

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

6.13.4 示例 – apoc.refactor.categorize

6.14 重命名

6.14.1 定义

6.14.2 过程概述

6.14.3 示例 – apoc.refactor.rename.nodeProperty

第7章 ◄数据库运维►

7.1 数据库运维概述

7.2 使用触发器

7.2.1 概述

7.2.2 过程概述 – apoc.trigger.add

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

7.2.4 示例 – apoc.trigger.add

7.3 管理索引

7.3.1 概述

7.4 查看元数据

7.4.1 概述

7.4.2 过程概述 – apoc.meta.*

7.4.3 过程调用接口 – apoc.meta.*

7.4.4 示例 – apoc.meta.*

7.5 数据库监控

7.5.1 概述

7.5.2 过程概述 – apoc.monitor.*

7.5.3 过程调用接口 – apoc.monitor.*

7.5.4 示例 – apoc.monitor.*

第8章 ◄工具函数和过程►

8.1 工具函数和过程概述

8.2 节点相关操作

8.2.1 概述

8.3 路径相关操作

8.3.1 概述

8.3.2 函数概述 – apoc.path.combine

8.3.3 函数调用接口 – apoc.path.combine

8.3.4 示例 – apoc.path.combine

8.3.5 函数概述 – apoc.path.create

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

8.3.7 示例 – apoc.path.create

8.3.8 函数概述 – apoc.path.elements

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

8.3.10 示例 – apoc.path.elements

8.3.11 函数概述 – apoc.path.slice

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

8.3.13 示例 – apoc.path.slice

8.4 并行节点搜索

8.4.1 概述

8.4.2 函数概述 – apoc.search.node

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

8.4.4 示例 – apoc.search.node

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

8.5.1 概述

8.5.2 过程概述 – apoc.spatial.geocode

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

8.5.4 示例 – apoc.spatial.geocode

8.5.5 过程概述 – apoc.spatial.reverseGeocode

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

8.5.7 示例 – apoc.spatial.reverseGeocode

8.6 集合相关操作

概述

8.7 图生成

8.7.1 概述

8.7.2 过程概述 – apoc.generate.er

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

8.7.4 示例 – apoc.generate.er

8.7.5 过程概述 – apoc.generate.ws

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

8.7.7 示例 – apoc.generate.ws

8.7.8 过程概述 – apoc.generate.ba

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

8.7.10 示例 – apoc.generate.ba

8.7.11 过程概述 – apoc.generate.complete

8.7.12 过程调用接口 – apoc.generate.complete

8.7.13 示例 – apoc.generate.complete

8.7.14 过程概述 – apoc.generate.simple

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

8.7.16 示例 – apoc.generate.simple

第9章 ◄虚拟图►

9.1 虚拟图概述

9.2 虚拟节点和关系

9.2.1 概述

9.2.2 过程概述 – apoc.create.vNode

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

9.2.4 示例 – apoc.create.vNode

9.2.5 过程概述 – apoc.create.vNodes

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

9.2.7 示例 – apoc.create.vNodes

9.2.8 过程概述 – apoc.create.vRelationship

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

9.2.10 示例 – apoc.create.vRelationship

9.2.11 过程概述 – apoc.create.vPattern

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

9.2.13 示例 – apoc.create.vPattern

9.2.14 过程概述 – apoc.create.vPatternFull

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

9.2.16 过程概述 – apoc.nodes.collapse

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

9.2.18 示例 – apoc.nodes.collapse

9.3 虚拟图

9.3.1 概述

9.3.2 过程概述 – apoc.graph.fromData

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

9.3.4 示例 – apoc.graph.fromData

9.3.5 过程概述 – apoc.graph.fromPath

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

9.3.7 示例 – apoc.graph.fromPath

9.3.8 过程概述 – apoc.graph.fromPaths

9.3.9 过程概述 – apoc.graph.fromCypher

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

9.3.11 示例 – apoc.graph.fromCypher

9.3.12 过程概述 – apoc.graph.fromDocument

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

9.3.14 示例 – apoc.graph.fromDocument

9.3.15 过程概述 – apoc.nodes.group

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

9.3.17 示例 – apoc.nodes.group

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

第10章 ◄路径搜索►

10.1 路径搜索概述

10.2 广度和深度优先搜索

概述

10.3 最短路径

10.3.1 概述

10.3.2 过程概述 – apoc.shortestPath*

10.3.3 过程调用接口 – algo.shortestPath*

10.3.4 示例 – algo.shortestPath

10.4 A*最短路径

10.4.1 概述

10.4.2 过程概述 – apoc.shortestPath.astar*

10.4.3 过程调用接口 – algo.shortestPath*

10.4.4 示例 – algo.shortestPath.astar*

10.5 单源起点最短路径

10.5.1 概述

10.5.2 过程概述 – apoc.shortestPath.deltaStepping*

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

10.5.4 示例 – algo.shortestPath.deltaStepping*

10.6 全图最短路径

10.6.1 概述

10.6.2 过程概述 – algo.allShortestPaths*

10.6.3 过程调用接口 – algo.allShortestPaths*

10.6.4 示例 – algo.allShortestPaths

10.7 K-条最短路径

10.7.1 概述

10.7.2 过程概述 – algo.kShortestPaths*

10.7.3 过程调用接口 – algo.kShortestPaths*

10.7.4 示例 – algo.kShortestPaths

10.8 最小生成树

10.8.1 概述

10.8.2 过程概述 – algo.spanningTree.*

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

10.8.4 示例 – algo.spanningTree.minimum

10.9 随机游走

10.9.1 定义

10.9.2 应用

10.9.3 过程概述

10.9.4 简单过程调用接口

10.9.5 完整过程调用接口

10.9.6 示例 – algo.randomWalk

第11章 ◄社团检测►

11.1 社团检测概述

11.1.1 算法一览

11.1.2 图的聚集成群特征

11.1.3 过程使用说明

11.2 三角计数和集聚系数

11.2.1 概述

11.2.2 过程概述 – algo.triangle.stream

11.2.3 过程调用接口 – algo.triangle*

11.2.4 示例 – algo.triangle.stream

11.2.5 过程概述 – algo.triangleCount*

11.2.6 过程调用接口 – algo.triangle*

11.2.7 示例 – algo.triangleCount.stream

11.3 强连通分量

11.3.1 概述

11.3.2 过程概述 – algo.scc

11.3.3 过程调用接口 – algo.scc

11.4 连通分量

11.4.1 概述

11.4.2 过程概述 – algo.unionFind*

11.4.3 过程调用接口 – algo.unionFind*

11.4.4 示例 – algo.unionFind*

11.5 标签传播算法

11.5.1 概述

11.5.2 过程概述 – algo.labelPropagation*

11.5.3 过程调用接口 – algo.labelPropagation*

11.5.4 示例 – algo.unionFind*

11.6 Louvain模块度算法

11.6.1 概述

11.6.2 过程概述 – algo.louvain*

11.6.3 过程调用接口 – algo.louvain*

11.6.4 示例 – algo.louvain*

11.7 小结

第12章 ◄中心性算法►

12.1 中心性算法概述

12.2 度中心性

12.2.1 概述

12.2.2 过程概述 – algo.degree*

12.2.3 过程调用接口 – algo.degree*

12.2.4 示例 – algo.degree*

12.3 紧密中心性

12.3.1 概述

12.3.2 过程概述 – algo.closeness*

12.3.3 过程调用接口 – algo.closeness*

12.3.4 示例 – algo.closeness*

12.4 协调中心性

12.4.1 概述

12.4.2 过程概述 – algo.harmonic*

12.4.3 过程调用接口 – algo.harmonic*

12.4.4 示例 – algo.harmonic*

12.5 间接中心性

12.5.1 概述

12.5.2 过程概述 – algo.betweenness*

12.5.3 过程调用接口 – algo.betweenness*

12.5.4 示例 – algo.betweenness*

12.6 特征向量中心性

12.6.1 概述

12.6.2 过程概述 – algo.eigenvector*

12.6.3 过程调用接口 – algo.eigenvector*

12.6.4 示例 – algo.eigenvector*

12.7 页面排行

12.7.1 概述

12.7.2 过程概述 – algo.pageRank*

12.7.3 过程调用接口 – algo.pageRank*

12.7.4 示例 – algo.pageRank*

12.8 小结

第13章 ◄相似度算法►

13.1 相似度算法概述

13.1.1 相似度过程

13.1.2 什么是相似度

13.2 Jaccard相似度

13.2.1 概述

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

13.2.3 调用接口 – algo.similarity.jaccard

13.2.4 示例 – algo.similarity.jaccard*

13.3 重叠相似度

13.3.1 概述

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

13.3.3 调用接口 – algo.similarity.overlap

13.4 余弦相似度

13.4.1 概述

13.4.2 函数/过程概述 – algo.similarity.cosine*

13.4.3 调用接口 – algo.similarity.cosine

13.4.4 示例 – algo.similarity.cosine*

13.5 欧几里德相似度

13.5.1 概述

13.5.2 函数/过程概述 – algo.similarity.euclideanDistance*

13.5.3 调用接口 – algo.similarity.euclideanDistance*

13.5.4 示例 – algo.similarity.euclideanDistance *

第四部分 Neo4j数据库扩展开发指南

第14章 ◄数据库扩展开发►

14.1 数据库扩展开发概述

14.2 关于安全性

14.2.1 沙箱

14.2.2 白名单

14.3 创建数据库扩展项目

14.3.1 创建新项目

14.3.2 指定项目信息

14.3.3 创建程序包和过程类

14.4 创建数据库扩展过程

14.4.1 第一个过程 – hello

14.4.2 编译和打包 – hello

14.4.3 部署和测试 – hello

14.4.4 小结

14.5 开发扩展函数

14.5.1 调用扩展函数

14.5.2 开发扩展函数

14.6 开发扩展汇总函数

14.6.1 调用汇总函数

14.6.2 编写用户定义的汇总函数

14.7 细粒度图数据访问控制

14.7.1 方法

14.7.2 定义用户和角色

14.7.3 实现扩展过程

第15章 ◄自定义的图遍历►

15.1 自定义的图遍历概述

15.2 Neo4j遍历框架

15.2.1 主要概念

15.2.2 遍历框架Java API

15.3 生成测试图

15.4 k-度邻居统计 – Cypher的实现

15.5 k-度邻居统计 –扩展过程的实现

15.5.1 创建过程

15.5.2 进一步优化

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部