《Neo4j 3.x入门经典》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:(法)杰罗姆·巴同(Jerome Baton),(英)里克·范·布鲁根(Rik Van Bruggen)著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2019
  • ISBN:9787302519188
  • 页数:200 页
图书介绍:通过这本书学习图论、图形数据库和图形数据库的数据建模技术,以及Neo4j新加入的特性,如图索引、缩放、性能改进、可视化、数据重构技术、增强的安全性,等等。在本书的结尾部分,您将获得从图形数据设计和实现现代空间应用程序的技能,并借助实际用例来解释业务功能。

第1章 图论和数据库 1

1.1 Neo4j 3.x简介和图的历史 1

1.2图论的定义和用途 3

1.2.1社会学研究 5

1.2.2生物学研究 6

1.2.3计算机科学 6

1.2.4流量问题 7

1.2.5路径问题 8

1.2.6网页搜索 9

1.3背景 10

1.3.1导航数据库 11

1.3.2关系数据库 13

1.3.3 NoSQL数据库 15

1.4图数据库的属性图模型 18

1.4.1节点标签 20

1.4.2关系类型 20

1.5使用图数据库的注意事项 20

1.5.1为什么使用图数据库 20

1.5.2什么时候不用图数据库以及用什么替代 22

1.6问答 23

1.7小结 23

第2章 Neo4j基础入门 25

2.1 Neo4j的关键概念和特点 25

2.1.1从头开始创建图 25

2.1.2基于事务的ACID数据库 26

2.1.3可用于联机事务处理 27

2.1.4扩展性能 28

2.1.5声明式查询语言Cypher 28

2.2 Neo4j典型案例 29

2.2.1复杂的连接密集型查询 29

2.2.2路径查询 29

2.2.3开源解决方案 29

2.3特性 30

2.4许可协议 31

2.5安装Neo4j 32

2.5.1在Windows系统上安装Neo4j 32

2.5.2在Mac和Linux系统上安装Neo4j 35

2.6在云平台使用Neo4j 37

2.7沙盒模式 41

2.8在Docker容器中使用Neo4j 47

2.8.1安装Docker 48

2.8.2准备文件 48

2.8.3在Docker容器中运行Neo4j 48

2.9问答 50

2.10小结 51

第3章 Neo4j数据模型 52

3.1四种基础数据结构 52

3.2图数据库建模基础 53

3.2.1 ER图和关系模式 53

3.2.2通过连接表引入复杂性 54

3.3图模型——一个简单、高保真的现实模型 55

3.4图建模——最佳实践和陷阱 57

3.4.1图建模最佳实践 57

3.4.2图数据库建模陷阱 61

3.5问答 64

3.6小结 65

第4章 Cypher入门 66

4.1 Cypher的语法 66

4.2 Cypher的关键特性 67

4.3与数据很好地结合 68

4.3.1创建数据 68

4.3.2读取数据 69

4.3.3更新数据 70

4.3.4删除数据 71

4.4 Cypher的关键操作词 72

4.5语法约定 73

4.6高级知识 74

4.7 Cypher参考卡 78

4.8 openCypher工程 79

4.9小结 79

第5章 过程——APOC 80

5.1安装APOC 80

5.1.1机器安装 81

5.1.2 Docker容器安装 81

5.2检查APOC安装 81

5.3函数和过程 82

5.4习惯用法 82

5.4.1来自朋友的建议 82

5.4.2图概述 83

5.5关键用法 85

5.5.1安装 85

5.5.2随机图生成器 85

5.5.3网站排名 86

5.5.4 Cypher语句限时执行 86

5.5.5节点集合连接 87

5.5.6更多APOC 87

5.6问答 88

5.7小结 89

第6章 Cypher扩展 90

6.1构建扩展工程 90

6.1.1创建函数 91

6.1.2创建过程 92

6.2定制聚合器 95

6.3非托管扩展 96

6.3.1 HTTP和JAX-RS refreshers 97

6.3.2 JSON响应流式化 98

6.4小结 101

第7章 查询性能优化 102

7.1 Explain和Profile指令 102

7.1.1查询计划 102

7.1.2运算符 104

7.2索引 105

7.2.1强制使用索引 105

7.2.2强制使用标签 105

7.3经验法则 106

7.3.1 Explain所有查询 106

7.3.2行 106

7.3.3不要过度消耗资源 106

7.3.4返回笛卡儿积级别的数据 106

7.3.5简单 106

7.4小结 107

第8章 Neo4j数据导入 108

8.1导入CSV文件 108

8.2导入JSON源 111

8.3导入JDBC源 114

8.3.1测试安装 114

8.3.2导入所有系统数据 114

8.4导入XML源 115

8.5小结 116

第9章 空间 118

9.1空间简介 118

9.1.1回顾 118

9.1.2无缺陷塔 119

9.1.3什么是空间 119

9.2 Neo4j的空间特性 119

9.3 APOC的空间特性 120

9.4地理编码 121

9.4.1设置OSM为提供商 121

9.4.2设置谷歌为提供商 121

9.5 Neo4j Spatial 122

9.5.1在线示例 122

9.5.2 Neo4j Spatial特性 122

9.6导入OpenStreetMap数据 124

9.7大型OSM数据导入 126

9.7.1简易方法 126

9.7.2更直接的数据导入方法 127

9.8查询卫生间 127

9.9理解WKT和BBOX 128

9.10删除所有地理数据 128

9.11小结 129

第10章 安全认证 130

10.1认证与授权 130

10.2角色 131

10.3用户管理 132

10.4 Neo4j连接到LDAP目录 132

10.5使用LDAP配置Neo4j 135

10.6问答 136

10.7小结 136

第11章 Neo4j可视化 137

11.1可视化的重要作用 137

11.1.1为什么图数据可视化很重要 137

11.1.2直观地与数据进行交互 137

11.1.3模式识别 138

11.1.4发现重点 139

11.2图数据可视化的基本原则 139

11.2.1开源可视化组件库 140

11.2.2将可视化组件库应用到项目中 143

11.2.3可视化解决方案 144

11.2.4问题和陷阱 148

11.2.5 Cytoscape实例 149

11.3问答 152

11.4小结 153

第12章 Neo4j数据重构 154

12.1预备步骤 154

12.2简单改变 154

12.2.1重命名 154

12.2.2添加数据 155

12.2.3删除数据 156

12.3重大改变 156

12.3.1知道我们的模型 156

12.3.2重构工具 157

12.3.3属性变标签 157

12.3.4属性变节点 157

12.3.5相关节点变标签 158

12.3.6合并节点 158

12.3.7关系 159

12.4结论 162

12.5小结 162

第13章 集群 163

13.1为什么需要Neo4j集群 163

13.2 Neo4j集群的概念 164

13.2.1核心服务器 164

13.2.2只读副本服务器 164

13.2.3高吞吐量 164

13.2.4数据冗余 165

13.2.5高可用 165

13.2.6 Bolt协议 165

13.3构建Neo4j集群 165

13.3.1核心服务器 165

13.3.2只读副本服务器 167

13.3.3 bolt+routing协议 168

13.4在Neo4j集群中实现灾难恢复 169

13.5小结 169

第14章 案例——推荐系统 170

14.1推荐系统剖析 170

14.2推荐系统的图模型应用 171

14.3推荐系统查询示例 173

14.3.1基于商品购买的推荐 173

14.3.2基于品牌忠诚度的推荐 175

14.3.3基于社交关系的推荐 176

14.3.4组合推荐 176

14.4推荐系统的业务变化 177

14.5欺诈检测系统 178

14.6访问控制系统 179

14.7社交网络系统 179

14.8问答 180

14.9小结 181

第15章 案例——影响分析与模拟 182

15.1影响分析系统解析 182

15.1.1影响分析在业务流程管理中的应用 183

15.1.2业务图建模 183

15.2成本计算环境中的影响模拟 187

15.2.1产品层次结构的图建模 187

15.2.2产品层次结构图的应用 188

15.3问答 192

15.4小结 193

附录 应用技巧介绍 194