图数据库是NoSQL类数据库查询的又一大典型性代表,在中国图数据库归属于兴盛物质,其出色的繁杂关联解决方法造成了中国诸多大中型互联网企业及IT开发人员的关心,而Neo4j是现阶段图形界面数据库查询中*为出色、*为完善的商品。
这书根据Neo4j3.1版本撰写,共有9章,另加2个附则,包含基本要素、基本新手入门、查询语言、开发设计、管理方法运维管理、集群技术、运用实例、高級运用、中文拓展、配备设定、内建全过程等內容。
这书內容早已涉及到Neo4j的绝大多数专业知识,既能够做为Neo4j新手的新手入门教材内容,还可以做为有关制造行业Neo4j技术专家的参考手册。
目录
- 第1章Neo4j图数据库基础1
- 1.1图数据库的产生背景2
- 1.2图数据库基础7
- 1.2.1图数据库介绍7
- 1.2.2图数据模型7
- 1.2.3图计算引擎8
- 1.2.4图数据库的历史9
- 1.3图数据库与关系数据库的对比10
- 1.3.1关系数据库的弊端10
- 1.3.2图数据模型的优势10
- 1.4图数据库与其他NoSQL数据库的对比12
- 1.4.1其他NoSQL数据库的弊端12
- 1.4.2将键值对存储与图数据库相关联12
- 1.4.3将文档存储与图数据库相关联13
- 1.5Neo4j概述13
- 1.6Neo4j的体系结构15
- 1.6.1免索引邻接16
- 1.6.2Neo4j底层存储结构17
- 1.6.3Neo4j的遍历方式21
- 1.6.4Neo4j的存储优化22
- 第2章Neo4j基础入门24
- 2.1Neo4j的安装部署24
- 2.1.1Neo4j安装包的下载24
- 2.1.2在各个操作系统上的安装26
- 2.1.3Neo4j的启动32
- 2.2Neo4j管理平台的使用33
- 2.2.1Web管理平台的使用33
- 2.2.2neo4j-shell的使用37
- 2.3Neo4j图数据中基本元素与概念41
- 2.3.1节点41
- 2.3.2关系41
- 2.3.3属性42
- 2.3.4路径42
- 2.3.5遍历(Traversal)43
- 2.4官方入门实例介绍43
- 2.4.1创建图数据44
- 2.4.2检索节点46
- 2.4.3查询关系49
- 2.4.4思考与练习52
- 2.4.5清空数据库54
- 2.5批量导入工具的使用54
- 2.5.1获取CSV文件54
- 2.5.2使用LoadCSV指令导入到Neo4j58
- 2.5.3使用neo4j-import工具导入到Neo4j61
- 第3章Neo4j之Cypher63
- 3.1Cypher概述63
- 3.1.1Cypher是什么63
- 3.1.2模式(Patterns)65
- 3.1.3查询和更新图66
- 3.1.4事务67
- 3.1.5唯一性68
- 3.1.6兼容性69
- 3.2基本语法70
- 3.2.1类型70
- 3.2.2表达式70
- 3.2.3变量73
- 3.2.4参数73
- 3.2.5运算符77
- 3.2.6注释78
- 3.2.7模式(Patterns)78
- 3.2.8列表81
- 3.2.9空值87
- 3.3语句89
- 3.3.1MATCH89
- 3.3.2OPTINALMATCH101
- 3.3.3WHERE102
- 3.3.4START113
- 3.3.5Aggregation114
- 3.3.6LOADCSV121
- 3.3.7CREATE125
- 3.3.8MERGE129
- 3.3.9SET138
- 3.3.10DELETE142
- 3.3.11REMOVE143
- 3.3.12FOREACH145
- 3.3.13CREATEUNIQUE146
- 3.3.14RETURN149
- 3.3.15ORDERBY153
- 3.3.16LIMIT155
- 3.3.17SKIP156
- 3.3.18WITH158
- 3.3.19UNWIND160
- 3.3.20UNION161
- 3.3.21CALL163
- 3.4函数167
- 3.4.1断言(Predicate)函数167
- 3.4.2标量(Scalar)函数170
- 3.4.3列表(List)函数177
- 3.4.4数学函数182
- 3.4.5字符串函数193
- 3.4.6自定义函数199
- 3.5模式(Schema)200
- 3.5.1索引200
- 3.5.2约束203
- 3.5.3统计209
- 3.6查询调优210
- 3.6.1查询如何执行210
- 3.6.2查询性能分析211
- 3.6.3查询调优举例211
- 3.6.4USING213
- 3.7执行计划220
- 3.7.1开始点运算符221
- 3.7.2Expand运算符224
- 3.7.3组合运算符226
- 3.7.4行运算符234
- 3.7.5更新运算符241
- 3.7.6*短路径规划243
- 第4章Neo4j程序开发246
- 4.1Neo4j开发入门246
- 4.1.1Java嵌入式开发模式246
- 4.1.2各语言驱动包开发模式246
- 4.2JavaAPI嵌入式开发模式247
- 4.2.1Java开发前的准备工作248
- 4.2.2创建Neo4j图实例253
- 4.2.3图数据遍历功能257
- 4.2.4数据索引264
- 4.2.5过程273
- 4.2.6事务管理280
- 4.2.7使用Java在线备份Neo4j286
- 4.2.8使用JMX监控Neo4j286
- 4.3各语言驱动包开发模式288
- 4.3.1驱动开发入门289
- 4.3.2配置和连接292
- 4.3.3执行Cypher语句297
- 4.3.4返回结果301
- 4.3.5数据类型308
- 4.3.6异常310
- 4.3.7其他语言驱动311
- 4.4Neo4jHTTPAPI312
- 4.4.1流312
- 4.4.2认证和授权312
- 4.4.3在一个请求中使用事务316
- 4.4.4执行多条语句317
- 4.4.5运行一个事务318
- 4.4.6在打开的事务中执行语句319
- 4.4.7重置超时事务319
- 4.4.8提交事务320
- 4.4.9回滚事务321
- 4.4.10查询统计信息321
- 4.4.11以图格式返回结果322
- 4.4.12错误处理324
- 4.4.13在事务中处理错误325
- 4.5其他开发技术介绍326
- 4.5.1Spring-Data-Neo4j326
- 4.5.2Spring-Data-Neo4在项目中的部署326
- 4.5.3使用Neo4j-OGM的对象图映射327
- 4.5.4使用JDBC连接Neo4j328
- 4.5.5JCypher329
- 4.5.6Groovy&Grails:Neo4jGrails插件329
- 4.5.7Clojure:Neocons329
- 4.5.8Scala:AnormCypher330
- 4.5.9JPA:HibernateOGM330
- 第5章Neo4j数据库管理331
- 5.1部署331
- 5.1.1系统需求331
- 5.1.2文件位置332
- 5.1.3重要端口333
- 5.1.4设置初始密码334
- 5.1.5等待Neo4j启动334
- 5.1.6使用数据收集器335
- 5.1.7配置Neo4j连接器336
- 5.1.8安装证书337
- 5.2监控338
- 5.2.1指标340
- 5.2.2日志344
- 5.2.3查询管理346
- 5.2.4因果集群监控相关方法348
- 5.3安全管理350
- 5.3.1Neo4j社区版用户管理350
- 5.3.2认证和授权352
- 5.3.3与LDAP集成362
- 5.3.4子图访问控制366
- 5.3.5安全清单367
- 5.4Neo4j数据库运维与优化368
- 5.4.1内存调优368
- 5.4.2事务日志371
- 5.4.3压缩存储371
- 5.4.4Linux文件系统调优373
- 5.4.5磁盘、内存及相关提示373
- 5.5Neo4j数据库的备份与恢复374
- 5.5.1备份简介374
- 5.5.2执行备份375
- 5.5.3恢复备份377
- 5.6Neo4j数据库管理相关工具378
- 5.6.1导入工具378
- 5.6.2CypherShell382
- 5.6.3Neo4j数据转储和加载384
- 5.6.4一致性检查工具385
- 第6章Neo4j集群技术387
- 6.1因果集群387
- 6.1.1初识因果集群388
- 6.1.2操作视图388
- 6.1.3应用视图389
- 6.1.4因果集群的生命周期390
- 6.1.5创建一个新的因果集群395
- 6.1.6数据中心灾难恢复398
- 6.1.7因果集群的数据迁移和恢复400
- 6.1.8因果集群的其他设置401
- 6.2高可用性集群401
- 6.2.1高可用性集群概述402
- 6.2.2建立Neo4j高可用性集群404
- 6.2.3状态信息端点406
- 6.2.4HAProxy用于负载均衡408
- 6.3集群的备份与恢复410
- 6.4Neo4j单实例和高可用性集群版本升级411
- 6.4.1单实例升级411
- 6.4.2从高可用性集群升级412
- 第7章Neo4j应用案例413
- 7.1应用案例概述413
- 7.2欺诈检测416
- 7.2.1第一方银行欺诈417
- 7.2.2保险欺诈424
- 7.2.3电子商务欺诈427
- 7.2.4小结428
- 7.3科研导图428
- 7.4电子邮件监测437
- 7.5工商企业图谱442
- 7.6社交网络449
- 第8章Neo4j高级应用458
- 8.1高级索引458
- 8.1.1空间索引(Neo4jSpatial)458
- 8.1.2自定义中文全文索引468
- 8.2在Docker环境下部署Neo4j471
- 8.2.1概览472
- 8.2.2Docker配置472
- 8.2.3Neo4j配置473
- 8.3自定义批量导入476
- 8.4Neo4j与图计算479
- 8.4.1Neo4j-Spark-Connector480
- 8.4.2Neo4j-Spark-Connector提供的API482
- 8.5Neo4j与自然语言处理483
- 8.5.1计算聚合相关性484
- 8.5.2将文本数据建模为邻接图484
- 8.5.3加载数据486
- 8.5.4挖掘单词之间的关系488
- 8.6其他高级应用490
- 第9章Neo4j简体中文版491
- 9.1简介491
- 9.2下载及安装496
- 9.3启动及浏览497
- 9.4指定节点图片499
- 9.5指定节点尺寸501
- 9.6指定节点颜色502
- 9.7指定关系粗细503
- 9.8指定关系颜色504
- 9.9智能查询505
- 9.10导入精灵508
- 9.10.1安装导入精灵508
- 9.10.2启动导入精灵509
- 9.10.3准备Excel样本文件510
- 9.10.4导入Excel样本文件511
- 9.10.5准备MySQL样本数据库513
- 9.10.6导入MySQL样本数据库515
- 9.10.7查看导入结果516
- 9.10.8导入精灵映射机制517
- 附录ANeo4j配置设置521
- 附录BNeo4j内建过程550