neo4j实战是一本介绍Neo4j图形数据库的实战手册,由英国数据库管理员阿列克萨·武科蒂奇编著。本书以实例为依托,详细地对实例做建模分析,并给出经过测试的源代码,主要介绍了Neo4j数据库概述、Neo4j的数据模型 、Neo4j开发入门、Neo4j的查询语言Cypher、深度遍历、Neo4j应用实例等知识点,也讨论了Neo4j的图形查询语言Cypher和如何使用SpringDataNeo4j将Neo4j集成到应用程序中,以及如何使用服务器模式和嵌入式模式等内容,可以全方位的帮助读者了解和学习掌握Neo4j数据库。
内容介绍
《neo4j实战》分为三部分。第一部分介绍并且涵盖数据模型、Neo4j入门和强大的遍历功能。第二部分讨论应用程序的开发并且涵盖Cypher和Spring。第三部分讨论产品实例。
第1章介绍图形数据库的通用概念,包括浏览Neo4j的一些重要方面和最适合的应用场景。该章介绍Neo4j在NoSQL领域中能解决的一些问题,包括与传统关系数据库的对比。
第2章考察如何及为什么在Neo4j中建模数据,包括在图形数据库中数据建模场景的通用方法。给出了来自不同领域的例子,让你了解在Neo4j中建模的灵活性。
从第3章我们真正开始动手了。该章介绍Neo4j核心Java API,通过创建一个表示用户社交网络和他们喜欢的电影的图形的所有步骤来加深理解。该章涵盖创建和连接节点以及获取这些节点的附加信息。该章也探讨区分不同类型节点的策略,包括标签的使用。
第4章建立这个社交网络的域,更深入地探讨核心API,尤其是重点探讨遍历功能(这里讲的是Neo4j遍历API),这是一个查询图形数据库的强大方法。
第5章介绍Neo4j中可用的索引策略。创建和遍历图形数据是非常棒的,但是你需要一个找到起始点或多个起始点的策略,起始点是图形中开始遍历的点。在查看从Neo4j 2.0版本往后可用的内置索引选项前,你将从查看手动(传统)索引开始。
第6章介绍Cypher,即Neo4j中人能读懂的查询语言。这一章介绍Cypher的性质,演示对图形操作的基本句法,也涵盖在Neo4j数据库的日常开发和维护中会用到的高级特性。
第7章重点讨论在NoSQL空间中Neo4j的独特亮点之一——完全支持ACID事务,提供一些不同应用的例子以及在某些方面更深入的探究。
虽然从第4章开始接触遍历功能,但编写高效的遍历是成功查询图形数据的关键。在第8章,我们更深入地挖掘遍历API的内部方法,因此你可以学习到如何以一个有效的方式用本机API解决最复杂的图形问题。
第9章讨论面向图形对象的库Spring Data Neo4j(SDN)。尽管SDN不是Neo4j官方提供的,但是该章通过介绍SDN来重点演示Neo4j开源框架如何作为一个库去提供丰富的对象图形模型和Neo4j支持的数据之间进行可靠的、无缝的映射。该章再一次使用我们信任的用户及其所爱电影的社交网络来演示这些要点。
第10章探讨在Neo4j中使用的两种主要模式,即嵌入式模式和服务器模式,本书主要讲解嵌入式模式的核心概念。该章也介绍了服务器模式,服务器模式可以被任何的客户端使用,并稍微深入地探讨每一种模式,比较各自的优缺点,包括如果你选择的是服务器模式的话,如何充分利用服务器。
第11章介绍高级Neo4j架构。以该知识为框架,该章探讨当你准备将Neo4j投入到产品中时应该考虑哪些因素,包括扩展和其他使Neo4j高可用性的需求,以及当需要时如何备份和还原你的数据库。
四个附录指导你完成安装、设置和运行Neo4j,还包括Maven和SDN以及提供寻求更多帮助的信息。
neo4j实战章节目录
前 言 作者简介 第一部分 Neo4j概述 第1章Neo4j数据库的一个应用案例 3 1.1为什么要有Neo4j 4 1.2关系数据库中的图形数据 4 1.3Neo4j中的图形数据 8 1.4大数据下的SQL联接操作与Neo4j图形遍历的对比 10 1.5图形 13 1.6Neo4j在NoSQL领域的地位 13 1.6.1主键值存储 14 1.6.2列族存储 14 1.6.3面向文档的数据库 15 1.6.4图形数据库 15 1.6.5与NoSQL类数据库的比较 15 1.7Neo4j具有与ACID兼容的数据格式 16 1.8本章小结 17 第2章Neo4j的数据模型 18 2.1Neo4j中数据模型的类型 18 2.1.1图表建模的一个简单实例 19 2.1.2图表建模的一个复杂实例 20 2.2领域建模 22 2.3更多实例 26 2.3.1地铁车站实例 26 2.3.2乐队成员实例 27 2.4本章小结 29 第3章Neo4j开发入门 30 3.1图形数据结构建模 30 3.2使用Neo4j API 34 3.2.1创建节点 34 3.2.2创建关系 36 3.2.3为节点添加属性 38 3.2.4节点类型策略 40 3.2.5为关系添加属性 41 3.3节点标签 43 3.4本章小结 46 第4章强大的图形遍历功能 47 4.1使用Neo4j核心Java API进行遍历 47 4.1.1寻找起始节点 48 4.1.2遍历直接关系 49 4.1.3遍历深度为2的关系 51 4.1.4内存使用注意事项 53 4.2使用Neo4j的遍历API进行遍历 55 4.2.1使用Neo4j的内置遍历结构 55 4.2.2实现一个自定义评估函数 56 4.3本章小结 59 第5章数据索引 60 5.1创建索引项 60 5.2通过邮箱地址查找用户 62 5.3对多个匹配结果的处理 64 5.4对索引过的数据进行修改的处理 65 5.5自动索引 66 5.5.1模式索引 66 5.5.2自动索引 69 5.6索引的成本/效益权衡 70 5.6.1索引查询的性能优势 71 5.6.2当更新和插入数据时索引对性能的影响 72 5.6.3索引的存储 73 5.7本章小结 73 第二部分 Neo4j应用开发 第6章Neo4j的查询语言Cypher 77 6.1Cypher简介 77 6.1.1Cypher入门 78 6.1.2执行Cypher查询 79 6.2Cypher的基本句法 85 6.2.1模式匹配 85 6.2.2查找起始节点 89 6.2.3过滤数据 92 6.2.4获得结果 93 6.3用Cypher更新图形数据 96 6.3.1创建新图形实体 97 6.3.2删除数据 99 6.3.3更新节点和关系属性 99 6.4高级Cypher 100 6.4.1聚合 100 6.4.2函数 101 6.4.3with语句的管道功能 103 6.4.4Cypher的兼容性 104 6.5本章小结 104 第7章事务 105 7.1事务的基础知识 105 7.1.1添加事务 107 7.1.2打好基础,循序渐进 108 7.2事务的高级功能 109 7.2.1事务的语义 109 7.2.2事务中的读取与显式读锁 111 7.2.3事务中的写入与显式写锁 112 7.2.4无效锁的危害 114 7.3与其他事务管理系统的集成 114 7.4事务事件 116 7.5本章小结 117 第8章深度遍历 118 8.1遍历的顺序 118 8.1.1深度优先 119 8.1.2广度优先 121 8.1.3深度优先与广度优先顺序的比较 122 8.2扩展关系 124 8.2.1标准扩展器 124 8.2.2用于扩展的顺序关系 126 8.2.3自定义扩展器 127 8.3管理唯一性 130 8.3.1NODE_GLOBAL唯一性 130 8.3.2NODE_PATH唯一性 132 8.3.3其他唯一性类型 133 8.4双向遍历 134 8.5本章小结 137 第9章Spring Data Neo4j 138 9.1SDN适合做什么 138 9.1.1什么是Spring以及Spring与SDN是怎样关联的 140 9.1.2SDN适合做什么(及不适合做什么) 140 9.1.3从哪里获得SDN 141 9.1.4从哪里获得更多的信息 141 9.2用SDN建模 141 9.2.1原始POJO域建模 142 9.2.2注释域模型 144 9.2.3建模节点实体 145 9.2.4建模关系实体 148 9.2.5建模节点实体之间的关系 150 9.3访问和持久化实体 152 9.3.1支持Spring的配置 152 9.3.2Neo4jTemplate类 153 9.3.3资源库 154 9.3.4其他选项 157 9.4对象图形映射选项 158 9.4.1简单映射 158 9.4.2基于AspectJ的高级映射 161 9.4.3对象映射总结 164 9.5执行查询和遍历 164 9.5.1注释查询 164 9.5.2动态派生查询 166 9.5.3遍历 168 9.6本章小结 168 第三部分 Neo4j应用实例 第10章Neo4j的嵌入式模式与服务器模式 171 10.1使用模式概述 171 10.2嵌入式模式 173 10.2.1核心Java集成 173 10.2.2其他基于JVM的集成 176 10.3服务器模式 177 10.3.1Neo4j服务器概述 178 10.3.2使用细粒度Neo4j服务器模式的REST API 179 10.3.3使用Cypher Neo4j服务器模式REST API端点 181 10.3.4使用远程客户端库帮助访问Neo4j服务器 182 10.3.5服务器插件和非托管扩展 184 10.4权衡选项 184 10.4.1对架构的考虑 185 10.4.2对性能的考虑 187 10.4.3其他需要考虑的事项 190 10.5充分利用服务器模式 190 10.5.1避免细粒度操作 191 10.5.2使用Cypher 192 10.5.3服务器插件 194 10.5.4非托管扩展 196 10.5.5流REST API 198 10.6本章小结 199 第11章Neo4j的架构与应用 200 11.1高层Neo4j架构 200 11.1.1设置场景 202 11.1.2硬盘 202 11.1.3存储文件 203 11.1.4Neo4j缓存 205 11.1.5事务日志及可恢复性 210 11.1.6编程API 211 11.2Neo4j的高可用性 212 11.2.1Neo4j集群概述 213 11.2.2设置Neo4j集群 216 11.2.3复制——读和写的策略 218 11.2.4缓存分区 222 11.2.5HA小结 224 11.3备份 225 11.3.1离线备份 225 11.3.2在线备份 227 11.3.3从备份中还原数据 229 11.4本书可能没有涵盖但你可能会关注的问题 229 11.4.1安全 229 11.4.2监控 229 11.5本章小结 230 11.6最后的设想 230 附录A安装Neo4j服务器 231 附录B设置和运行示例程序 236 附录C设置使用SDN的项目环境 241 附录D获得更多的帮助 247
使用说明
1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读
发表评论
0条评论软件排行榜
热门推荐
- 有柿电脑版 v11.5.784.12M / 简体中文
- 网易新闻电脑版 v112.697.63M / 简体中文
- 潇湘书院电脑版 v2.3.11.888官方版49.65M / 简体中文
- 开源阅读电脑版 v3.2517.96M / 简体中文
- cnki全球学术快报电脑版 v0.2.3495.79M / 简体中文
- 未公开的Oracle数据库秘密 迪贝斯pdf扫描版34.69M / 简体中文
- PHP语言精粹电子书 pdf扫描版25.72M / 简体中文
- 本草纲目 5.34M / 简体中文
- docker入门实战 pdf完整版1.38M / 简体中文
- C++黑客编程揭秘与防范第2版 冀云pdf扫描版54.58M / 简体中文