第1章 简介

1.1 图是什么

1.2 图领域概览

1.2.1 图数据库

1.2.2 图计算引擎

1.3 图数据库的威力

1.3.1 性能

1.3.2 灵活性

1.3.3 敏捷性

1.4 小结

第2章 关联数据的存储选择

2.1 关系型数据库缺少联系

2.2 NoSQL数据库也缺少联系

2.3 图数据库拥抱联系

2.4 小结

第3章 使用图进行数据建模

3.1 模型和目标

3.2 属性图模型

3.3 查询图:Cypher简介

3.3.1 Cypher的理念

3.3.2 START

3.3.3 MATCH

3.3.4 RETURN

3.3.5 其他Cypher语句

3.4 关系建模和图建模对比

3.4.1 系统管理领域中的关系建模

3.4.2 系统管理领域中的图建模

3.4.3 测试模型

3.5 跨域模型

3.5.1 创建莎士比亚图

3.5.2 开始查询

3.5.3 声明查找的信息模式

3.5.4 约束匹配

3.5.5 处理结果

3.5.6 查询链

3.6 建模时常见的陷阱

3.6.1 电子邮件起源问题域

3.6.2 敏感的第一个迭代

3.6.3 第二次的魅力

3.6.4 发展中的领域

3.7 避免反模式

3.8 小结

第4章 构建基于图数据库的应用

4.1 数据建模

4.1.1 用应用程序所需的术语描述模型

4.1.2 用节点表示事物,用联系表示结构

4.1.3 细粒度联系与通用联系

4.1.4 将事实建模为节点

4.1.5 将复杂的值类型表示为节点

4.1.6 时间

4.1.7 迭代开发和增量开发

4.2 应用程序架构

4.2.1 嵌入式与服务器

4.2.2 集群

4.2.3 负载均衡

4.3 测试

4.3.1 数据模型的测试驱动开发

4.3.2 性能测试

4.4 容量规划

4.4.1 优化条件

4.4.2 性能

4.4.3 冗余

4.4.4 负载

4.5 小结

第5章 现实世界中的图

5.1 为什么选择图

5.2 常见用例

5.2.1 社交

5.2.2 推荐

5.2.3 地理空间

5.2.4 主数据管理

5.2.5 网络和数据中心管理

5.2.6 授权和访问控制(通信)

5.3 实际示例

5.3.1 社交推荐(专业社交网络)

5.3.2 授权和访问控制

5.3.3 地理空间(物流)

5.4 小结

第6章 图数据库的内部结构

6.1 原生图处理

6.2 原生图存储

6.3 用于编程的API

6.3.1 内核API

6.3.2 核心(或Beans)API

6.3.3 遍历API

6.4 非功能型特性

6.4.1 事务

6.4.2 可恢复性

6.4.3 可用性

6.4.4 可扩展性

6.5 小结

第7章 使用图论预分析

7.1 深度优先搜索和广度优先搜索

7.2 使用Dijkstra算法寻找路径

7.3 A*算法

7.4 图论和预测建模

7.4.1 三元闭包

7.4.2 结构平衡

7.5 局部桥

7.6 小结

参考资料

  • 图数据库 伊恩·罗宾逊 / 吉姆·韦伯 / 埃米尔·艾弗雷姆