书海网短评:
Neo4j是一个高性能的NoSQL图数据库,将结构化数据存储在拓扑图上而不是表中,从而轻松地管理巨量的数据。Neo4j凭借嵌入式、高性能、轻量级等优势越来越受关注。本书共15章,介绍图论和图数据库、Neo4j基础、Neo4
目录
第1章图论和数据库1
1.1Neo4j3.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.3NoSQL数据库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.1Neo4j的关键概念和特点25
2.1.1从头开始创建图25
2.1.2基于事务的ACID数据库26
2.1.3可用于联机事务处理27
2.1.4扩展性能28
2.1.5声明式查询语言Cypher28
2.2Neo4j典型案例29
2.2.1复杂的连接密集型查询29
2.2.2路径查询29
2.2.3开源解决方案29
2.3特性30
2.4许可协议31
2.5安装Neo4j32
2.5.1在Windows系统上安装Neo4j32
2.5.2在Mac和Linux系统上安装Neo4j35
2.6在云平台使用Neo4j37
2.7沙盒模式41
2.8在Docker容器中使用Neo4j47
2.8.1安装Docker48
2.8.2准备文件48
2.8.3在Docker容器中运行Neo4j48
2.9问答50
2.10小结51
第3章Neo4j数据模型52
3.1四种基础数据结构52
3.2图数据库建模基础53
3.2.1ER图和关系模式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.1Cypher的语法66
4.2Cypher的关键特性67
4.3与数据很好地结合68
4.3.1创建数据68
4.3.2读取数据69
4.3.3更新数据70
4.3.4删除数据71
4.4Cypher的关键操作词72
4.5语法约定73
4.6高级知识74
4.7Cypher参考卡78
4.8openCypher工程79
4.9小结79
第5章过程—APOC80
5.1安装APOC80
5.1.1机器安装81
5.1.2Docker容器安装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.4Cypher语句限时执行86
5.5.5节点集合连接87
5.5.6更多APOC87
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.1HTTP和JAX-RSrefreshers97
6.3.2JSON响应流式化98
6.4小结101
第7章查询性能优化102
7.1Explain和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.1Explain所有查询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.2Neo4j的空间特性119
9.3APOC的空间特性120
9.4地理编码121
9.4.1设置OSM为提供商121
9.4.2设置谷歌为提供商121
9.5Neo4jSpatial122
9.5.1在线示例122
9.5.2Neo4jSpatial特性122
9.6导入OpenStreetMap数据124
9.7大型OSM数据导入126
9.7.1简易方法126
9.7.2更直接的数据导入方法127
9.8查询卫生间127
9.9理解WKT和BBOX128
9.10删除所有地理数据128
9.11小结129
第10章安全认证130
10.1认证与授权130
10.2角色131
10.3用户管理132
10.4Neo4j连接到LDAP目录132
10.5使用LDAP配置Neo4j135
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.5Cytoscape实例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.2Neo4j集群的概念164
13.2.1核心服务器164
13.2.2只读副本服务器164
13.2.3高吞吐量164
13.2.4数据冗余165
13.2.5高可用165
13.2.6Bolt协议165
13.3构建Neo4j集群165
13.3.1核心服务器165
13.3.2只读副本服务器167
13.3.3bolt+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









