内容简介
第1章 Neo4j图数据库基础
1.1 图数据库的产生背景
1.2 图数据库基础
1.2.1 图数据库介绍
1.2.2 图数据模型
1.2.3 图计算引擎
1.2.4 图数据库的历史
1.3 图数据库与关系数据库的对比
1.3.1 关系数据库的弊端
1.3.2 图数据模型的优势
1.4 图数据库与其他NoSQL数据库的对比
1.4.1 其他NoSQL数据库的弊端
1.4.2 将键值对存储与图数据库相关联
1.4.3 将文档存储与图数据库相关联
1.5 Neo4j概述
1.6 Neo4j的体系结构
1.6.1 免索引邻接
1.6.2 Neo4j底层存储结构
1.6.3 Neo4j的遍历方式
1.6.4 Neo4j的存储优化
第2章 Neo4j基础入门
2.1 Neo4j的安装部署
2.1.1 Neo4j安装包的下载
2.1.2 在各个操作系统上的安装
2.1.3 Neo4j的启动
2.2 Neo4j管理平台的使用
2.2.1 Web管理平台的使用
2.2.2 neo4j-shell的使用
2.3 Neo4j图数据中基本元素与概念
2.3.1 节点
2.3.2 关系
2.3.3 属性
2.3.4 路径
2.3.5 遍历(Traversal)
2.4 官方入门实例介绍
2.4.1 创建图数据
2.4.2 检索节点
2.4.3 查询关系
2.4.4 思考与练习
2.4.5 清空数据库
2.5 批量导入工具的使用
2.5.1 获取CSV文件
2.5.2 使用Load CSV指令导入到Neo4j
2.5.3 使用neo4j-import工具导入到Neo4j
第3章 Neo4j之Cypher
3.1 Cypher概述
3.1.1 Cypher是什么
3.1.2 模式(Patterns)
3.1.3 查询和更新图
3.1.4 事务
3.1.5 唯一性
3.1.6 兼容性
3.2 基本语法
3.2.1 类型
3.2.2 表达式
3.2.3 变量
3.2.4 参数
3.2.5 运算符
3.2.6 注释
3.2.7 模式(Patterns)
3.2.8 列表
3.2.9 空值
3.3 语句
3.3.1 MATCH
3.3.2 OPTINAL MATCH
3.3.3 WHERE
3.3.4 START
3.3.5 Aggregation
3.3.6 LOAD CSV
3.3.7 CREATE
3.3.8 MERGE
3.3.9 SET
3.3.10 DELETE
3.3.11 REMOVE
3.3.12 FOREACH
3.3.13 CREATE UNIQUE
3.3.14 RETURN
3.3.15 ORDER BY
3.3.16 LIMIT
3.3.17 SKIP
3.3.18 WITH
3.3.19 UNWIND
3.3.20 UNION
3.3.21 CALL
3.4 函数
3.4.1 断言(Predicate)函数
3.4.2 标量(Scalar)函数
3.4.3 列表(List)函数
3.4.4 数学函数
3.4.5 字符串函数
3.4.6 自定义函数
3.5 模式(Schema)
3.5.1 索引
3.5.2 约束
3.5.3 统计
3.6 查询调优
3.6.1 查询如何执行
3.6.2 查询性能分析
3.6.3 查询调优举例
3.6.4 USING
3.7 执行计划
3.7.1 开始点运算符
3.7.2 Expand运算符
3.7.3 组合运算符
3.7.4 行运算符
3.7.5 更新运算符
3.7.6 最短路径规划
第4章 Neo4j程序开发
4.1 Neo4j开发入门
4.1.1 Java嵌入式开发模式
4.1.2 各语言驱动包开发模式
4.2 Java API嵌入式开发模式
4.2.1 Java开发前的准备工作
4.2.2 创建Neo4j图实例
4.2.3 图数据遍历功能
4.2.4 数据索引
4.2.5 过程
4.2.6 事务管理
4.2.7 使用Java在线备份Neo4j
4.2.8 使用JMX监控Neo4j
4.3 各语言驱动包开发模式
4.3.1 驱动开发入门
4.3.2 配置和连接
4.3.3 执行Cypher语句
4.3.4 返回结果
4.3.5 数据类型
4.3.6 异常
4.3.7 其他语言驱动
4.4 Neo4j HTTP API
4.4.1 流
4.4.2 认证和授权
4.4.3 在一个请求中使用事务
4.4.4 执行多条语句
4.4.5 运行一个事务
4.4.6 在打开的事务中执行语句
4.4.7 重置超时事务
4.4.8 提交事务
4.4.9 回滚事务
4.4.10 查询统计信息
4.4.11 以图格式返回结果
4.4.12 错误处理
4.4.13 在事务中处理错误
4.5 其他开发技术介绍
4.5.1 Spring-Data-Neo4j
4.5.2 Spring-Data-Neo4在项目中的部署
4.5.3 使用Neo4j-OGM的对象图映射
4.5.4 使用JDBC连接Neo4j
4.5.5 JCypher
4.5.6 Groovy & Grails:Neo4j Grails插件
4.5.7 Clojure:Neocons
4.5.8 Scala:AnormCypher
4.5.9 JPA:Hibernate OGM
第5章 Neo4j数据库管理
5.1 部署
5.1.1 系统需求
5.1.2 文件位置
5.1.3 重要端口
5.1.4 设置初始密码
5.1.5 等待Neo4j启动
5.1.6 使用数据收集器
5.1.7 配置Neo4j连接器
5.1.8 安装证书
5.2 监控
5.2.1 指标
5.2.2 日志
5.2.3 查询管理
5.2.4 因果集群监控相关方法
5.3 安全管理
5.3.1 Neo4j社区版用户管理
5.3.2 认证和授权
5.3.3 与LDAP集成
5.3.4 子图访问控制
5.3.5 安全清单
5.4 Neo4j数据库运维与优化
5.4.1 内存调优
5.4.2 事务日志
5.4.3 压缩存储
5.4.4 Linux文件系统调优
5.4.5 磁盘、内存及相关提示
5.5 Neo4j数据库的备份与恢复
5.5.1 备份简介
5.5.2 执行备份
5.5.3 恢复备份
5.6 Neo4j数据库管理相关工具
5.6.1 导入工具
5.6.2 Cypher Shell
5.6.3 Neo4j数据转储和加载
5.6.4 一致性检查工具
第6章 Neo4j集群技术
6.1 因果集群
6.1.1 初识因果集群
6.1.2 操作视图
6.1.3 应用视图
6.1.4 因果集群的生命周期
6.1.5 创建一个新的因果集群
6.1.6 数据中心灾难恢复
6.1.7 因果集群的数据迁移和恢复
6.1.8 因果集群的其他设置
6.2 高可用性集群
6.2.1 高可用性集群概述
6.2.2 建立Neo4j高可用性集群
6.2.3 状态信息端点
6.2.4 HAProxy用于负载均衡
6.3 集群的备份与恢复
6.4 Neo4j单实例和高可用性集群版本升级
6.4.1 单实例升级
6.4.2 从高可用性集群升级
第7章 Neo4j应用案例
7.1 应用案例概述
7.2 欺诈检测
7.2.1 第一方银行欺诈
7.2.2 保险欺诈
7.2.3 电子商务欺诈
7.2.4 小结
7.3 科研导图
7.4 电子邮件监测
7.5 工商企业图谱
7.6 社交网络
第8章 Neo4j高级应用
8.1 高级索引
8.1.1 空间索引(Neo4j Spatial)
8.1.2 自定义中文全文索引
8.2 在Docker环境下部署Neo4j
8.2.1 概览
8.2.2 Docker配置
8.2.3 Neo4j配置
8.3 自定义批量导入
8.4 Neo4j与图计算
8.4.1 Neo4j-Spark-Connector
8.4.2 Neo4j-Spark-Connector提供的API
8.5 Neo4j与自然语言处理
8.5.1 计算聚合相关性
8.5.2 将文本数据建模为邻接图
8.5.3 加载数据
8.5.4 挖掘单词之间的关系
8.6 其他高级应用
第9章 Neo4j简体中文版
9.1 简介
9.2 下载及安装
9.3 启动及浏览
9.4 指定节点图片
9.5 指定节点尺寸
9.6 指定节点颜色
9.7 指定关系粗细
9.8 指定关系颜色
9.9 智能查询
9.10 导入精灵
9.10.1 安装导入精灵
9.10.2 启动导入精灵
9.10.3 准备Excel样本文件
9.10.4 导入Excel样本文件
9.10.5 准备MySQL样本数据库
9.10.6 导入MySQL样本数据库
9.10.7 查看导入结果
9.10.8 导入精灵映射机制
附录A Neo4j配置设置
附录B Neo4j内建过程