-
内容大纲
图数据库是NoSQL类数据库的又一大典型代表,在国内图数据库属于新兴事物,其优异的复杂关系解决方案引起了国内众多大型互联网公司及IT开发者的关注,而Neo4j是目前图形化数据库中最为出色、最为成熟的产品。本书的第一版书名是《Neo4j权威指南》,发行量超过13000册,本书在第一版的基础上补充完善了Neo4j的新特性、新功能。
本书基于Neo4j 4.4版本编写,共分10章,涵盖基本概念、基础入门、查询语言、程序开发技术、管理运维、集群技术、应用案例、高级应用、配置设置、内建过程、GDS、Fabric等内容。
本书内容涉及Neo4j的大部分知识,既可以作为Neo4j初学者的入门教材,也可以作为相关行业Neo4j技术专家的参考手册。 -
作者介绍
-
目录
第1章 Neo4j图数据库基础
1.1 图数据库背景知识
1.1.1 图数据库历史
1.1.2 图数据库应用领域
1.1.3 主流图数据库介绍
1.2 图数据库基础概念
1.2.1 图数据模型
1.2.2 图计算引擎
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.7 Neo4j的体系结构
1.7.1 免索引邻接
1.7.2 Neo4j底层存储结构
1.7.3 Neo4j的遍历方式
1.7.4 Neo4j的存储优化
1.8 Neo4j版本全貌
1.8.1 Neo4j AuraDB
1.8.2 Neo4j Desktop
1.8.3 Neo4j Sandbox
1.8.4 Neo4j社区版
1.8.5 Neo4j企业版
第2章 Neo4j基础入门
2.1 Neo4j的安装部署
2.1.1 Neo4j安装包的下载
2.1.2 在各个操作系统上的安装
2.1.3 Neo4j的启动
2.2 Neo4j管理平台的使用
2.2.1 Neo4j Desktop桌面管理平台的使用
2.2.2 Web管理平台的使用
2.2.3 cypher-shell命令的使用
2.3 Neo4j图数据中基本元素与概念
2.3.1 节点
2.3.2 关系
2.3.3 属性
2.3.4 路径
2.3.5 遍历
2.4 官方入门实例介绍
2.4.1 创建图数据
2.4.2 检索节点
2.4.3 查询关系
2.4.4 思考与练习
2.4.5 清空数据库
2.5 批量导入工具的使用
2.5.1 ETL导入工具的使用
2.5.2 获取CSV文件
2.5.3 使用Load CSV指令导入到Neo4j
2.5.4 使用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 模式
3.2.8 列表
3.2.9 空值
3.3 语句
3.3.1 MATCH语句
3.3.2 OPTIONAL 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 断言函数
3.4.2 标量函数
3.4.3 列表函数
3.4.4 数学函数
3.4.5 字符串函数
3.4.6 自定义函数
3.5 索引
3.5.1 简介
3.5.2 创建索引
3.5.3 列出索引
3.5.4 删除索引
3.5.5 未来的索引
3.6 全文索引
3.6.1 创建全文索引
3.6.2 基于全文索引的查询
3.6.3 删除全文索引
3.7 约束
3.7.1 简介
3.7.2 创建约束
3.7.3 删除约束
3.7.4 列出约束
3.8 数据库管理
3.8.1 列出数据库
3.8.2 创建数据库(仅企业版)
3.8.3 更改数据库
3.8.4 停止数据库
3.8.5 启动数据库
3.8.6 删除数据库
3.8.7 WAIT选项(仅企业版)
3.8.8 创建数据库别名(仅企业版)
3.8.9 更改数据库别名(仅企业版)
3.8.10 删除数据库别名
3.9 查询调优
3.9.1 Cypher查询选项
3.9.2 查询性能分析
3.9.3 索引使用
3.9.4 基础查询调优举例
3.9.5 高级查询调优举例
3.9.6 USING语句
3.10 执行计划
3.10.1 执行计划运算符详细介绍
3.10.2 Expand 运算符
3.10.3 组合运算符
3.10.4 行运算符
3.10.5 更新运算符
3.10.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 用户自定义聚合函数
4.2.8 事务管理
4.2.9 使用Java在线备份Neo4j
4.2.10 使用JMX监控Neo4j
4.3 各语言驱动包开发模式
4.3.1 驱动开发入门
4.3.2 客户端应用
4.3.3 Cypher语句工作流
4.3.4 数据类型
4.3.5 异常和错误处理
4.4 Neo4j HTTP API
4.4.1 简介
4.4.2 认证和授权
4.4.3 发现API
4.4.4 Cypher事务API
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 neo4j.conf文件
5.1.3 文件位置
5.1.4 重要端口
5.1.5 设置初始密码
5.1.6 密码和用户的恢复
5.1.7 等待Neo4j启动
5.1.8 使用数据收集器
5.1.9 配置Neo4j连接器
5.1.10 动态设置
5.1.11 事务日志
5.1.12 安装证书
5.2 备份与恢复
5.2.1 备份简介
5.2.2 执行备份
5.2.3 恢复备份
5.3 认证和授权
5.3.1 简介
5.3.2 内置角色
5.3.3 细粒度访问控制
5.3.4 与LDAP集成
5.3.5 管理过程权限
5.3.6 相关术语
5.4 安全管理
5.4.1 安全扩展
5.4.2 SSL框架
5.4.3 术语
5.4.4 浏览器凭证处理
5.4.5 安全清单
5.5 监控管理
5.5.1 指标
5.5.2 日志
5.5.3 查询管理
5.5.4 事务管理
5.5.5 连接管理
5.5.6 监控因果集群
5.5.7 监控单个数据库状态
5.6 性能管理
5.6.1 内存配置
5.6.2 索引配置
5.6.3 调整垃圾收集器
5.6.4 Bolt线程池配置
5.6.5 Linux文件系统调优
5.6.6 磁盘、内存及其他提示
5.6.7 统计和执行计划
5.6.8 压缩存储
5.7 数据库管理相关工具
5.7.1 导入工具
5.7.2 Cypher Shell
5.7.3 转存和加载数据库
5.7.4 解绑核心服务器
5.7.5 一致性检查工具
第6章 存储过程库APOC
6.1 安装
6.1.1 APOC核心库的安装
6.1.2 APOC完整库的安装
6.1.3 配置选项
6.1.4 安装验证
6.2 用法
6.2.1 语法
6.2.2 帮助手册
6.2.3 运行注意事项
6.3 过程和函数
6.3.1 Neo4j运维类
6.3.2 APOC运维类
6.3.3 数据操作类
6.3.4 数据库集成类
6.3.5 图操作类
第7章 图数据科学库GDS
7.1 简介
7.2 安装
7.2.1 支持的Neo4j版本
7.2.2 Neo4j Desktop
7.2.3 Neo4j服务器版
7.2.4 Neo4j企业版
7.2.5 Neo4j Docker
7.2.6 Neo4j因果集群
7.2.7 其他配置项
7.2.8 系统需求
7.3 常见用法
7.3.1 内存估计
7.3.2 创建图
7.3.3 运行算法
7.3.4 日志记录
7.3.5 系统监控
7.4 图管理
7.4.1 图目录
7.4.2 节点属性
7.4.3 实用函数
7.4.4 GDS库上的Cypher
7.4.5 匿名图
7.4.6 管理图目录(企业版)
7.5 主要算法
7.5.1 中心性算法
7.5.2 社区检测算法
7.5.3 相似度算法
7.5.4 路径搜索算法
7.5.5 拓扑链路预测算法
7.5.6 节点嵌入算法
7.6 机器学习
7.6.1 节点分类管道
7.6.2 链路预测管道
7.6.3 管道目录
7.6.4 模型目录
7.7 Python客户端
7.7.1 安装
7.7.2 Python客户端的使用
7.7.3 与Cypher API之间的映射关系
7.7.4 图对象
7.7.5 算法执行
第8章 集群技术与Fabric
8.1 因果集群
8.1.1 初识因果集群
8.1.2 操作视图
8.1.3 因果一致性
8.2 因果集群部署
8.2.1 配置含有单个实例和多副本实例的集群
8.2.2 配置含有核心实例的集群
8.2.3 现有集群添加核心服务节点
8.2.4 现有集群添加辅助服务节点
8.2.5 现有集群剥离辅助服务节点
8.2.6 连接辅助服务节点
8.3 因果集群迁入初始化数据
8.3.1 数据迁入介绍
8.3.2 通过数据库转存进行集群数据迁入(离线)
8.3.3 通过数据库备份进行数据迁入(在线)
8.3.4 使用导入工具进行数据迁入
8.4 因果集群内部成员发现
8.4.1 概述
8.4.2 使用服务器地址列表进行发现
8.4.3 使用具有多个记录的DNS进行发现
8.4.4 在Kubernetes中发现
8.5 因果集群内部加密
8.5.1 概述
8.5.2 部署示例
8.6 因果集群内部结构
8.6.1 选举与领导
8.6.2 领导权均衡
8.6.3 多数据库与调节器
8.6.4 服务器端路由
8.6.5 存储副本
8.6.6 磁盘状态
8.7 Fabric
8.7.1 Fabric概述
8.7.2 Fabric部署示例
8.8 Fabric配置
8.8.1 Fabric数据库安装
8.8.2 认证与授权
8.8.3 重要设置
8.9 Fabric查询
8.10 使用复制命令分片数据
第9章 Neo4j应用案例
9.1 应用案例概述
9.2 欺诈检测
9.2.1 第一方银行欺诈
9.2.2 保险欺诈
9.2.3 电子商务欺诈
9.2.4 小结
9.3 科研导图
9.4 电子邮件监测
9.5 工商企业图谱
9.6 社交网络
9.7 Neo4j在汽车生产和零件制造业中的作用
9.7.1 汽车企业数据概览
9.7.2 供应链管理
9.7.3 保修分析
9.7.4 客户360
9.7.5 知识图谱
9.7.6 真实的案例
第10章 Neo4j高级应用
10.1 Bloom可视化工具
10.1.1 功能介绍
10.1.2 安装方法
10.1.3 界面及展示效果
10.1.4 灵活的定制化查询
10.2 ETL工具
10.2.1 功能介绍
10.2.2 ETL工具的安装
10.2.3 使用ETL工具从关系数据库导入
10.2.4 压缩包版命令行ETL工具的导入
10.3 高级索引
10.3.1 空间索引(Neo4j Spatial)
10.3.2 自定义中文全文索引
10.4 在Docker环境下部署Neo4j
10.4.1 Docker概述
10.4.2 Docker安装Neo4j的优点
10.4.3 Docker安装Neo4j
10.5 在Kuberenetes环境下部署Neo4j
10.5.1 关于Neo4j Helm
10.5.2 Neo4j Helm的使用
10.5.3 配置Neo4j Helm
10.5.4 部署
10.6 Neo4j与图计算
10.6.1 Neo4j-Spark-Connector
10.6.2 Neo4j-Spark-Connector提供的API
10.7 Neo4j与自然语言处理
10.7.1 计算聚合相关性
10.7.2 将文本数据建模为邻接图
10.7.3 加载数据
10.7.4 挖掘单词之间的关系
10.8 Neo4j中运行本体推理
10.8.1 安装Neosemantics (n10s)组件
10.8.2 本体模型与数据模型
10.8.3 使用Tushare获取数据
10.8.4 对数据进行预处理
10.8.5 将CSV数据导入Neo4j
10.8.6 运行推理查询
10.9 Neo4j与区块链
10.9.1 比特币区块链
10.9.2 区块链数据格式
10.9.3 图数据建模
10.9.4 数据写入Cypher语句
10.9.5 查询区块链数据
10.10 Kafka与Neo4j数据同步
10.10.1 Kafka简介
10.10.2 Kafka安装运行
10.10.3 Neo4j Streams插件安装部署
10.10.4 从Kafka同步数据到Neo4j
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...