基本信息
- 原书名:Neo4j in Action
- 作者: [英]阿列克萨·武科蒂奇(Aleksa Vukotic) [美]尼基·瓦特(Nicki Watt) 塔里克·阿贝卓布(Tareq Abedrabbo) 多米尼克·福克斯(Dominic Fox) 乔纳斯·帕特纳(Jonas Partner)
- 译者: 张秉森 孔倩 张晨策
- 丛书名: 数据库技术丛书
- 出版社:机械工业出版社
- ISBN:9787111531128
- 上架时间:2016-4-8
- 出版日期:2016 年4月
- 开本:16开
- 页码:246
- 版次:1-1
- 所属分类:计算机 > 数据库 > 综合

编辑推荐
内容简介
作译者
Nicki Watt是Open Credo的首席顾问。她务实、心灵手巧,是一个问题解决专家,乐于使用“正确的工具完成工作”。Nicki一直使用Neo4j等开源工具以及框架参与各种项目,包括对基于引擎问题的探究和推荐。她也是Spring Data Neo4j项目的贡献者之一。
Tareq Abedrabbo是Open Credo的首席技术官(CTO)。他对编程语言有着强烈的兴趣,从Scala和Python到Google Go。他在几个NoSQL技术领域(包括Neo4j、MongoDB和Redis)有着非常丰富的知识,并在很早以前就开始积极从事Spring项目,是Spring Web Service项目的核心成员。
Dominic Fox是Open Credo的顾问,尤其喜欢把对编程语言理论的见解进行实践并讲解给他人。他作为专业开发者涉足了多种领域的工作,包括文档管理、电信和金融,也包括Neo4j的培训。他一直期望创建优秀的工具和库,能使每天的编程工作更加直观、可靠。
Jonas Partner是Open Credo的首席执行官(CEO),该公司是Neo Technology的服务合作伙伴,是解决复杂数据问题的专业公司。他还是《Spring Integration in Action》的合作作者。
目录
译者序
本书是一本从基础知识到实际应用项目开发的教科书,作者均来自相关公司的开发和技术部门,有着深厚的应用和技术背景。本书以实例为依托,详细地对实例做建模分析,并给出经过测试的源代码,读者可以按照相关步骤实现实例,这是一种学习建模和编程的极好方法。
参加本书翻译的有张秉森、孔倩和张晨策。其中张秉森负责翻译第1章、第2章、第7章、第8章、第9章、第10章和第11章以及附录等,孔倩负责翻译第3章和第4章,张晨策负责翻译第5章和第6章。全书由张秉森负责统一校对和审稿。
由于本书的主要内容都是比较新的技术,而且作者完全从技术的角度编写本书,涉及的技术内容多,专业跨度大,给本书的翻译工作增加了不少的难度。尽管译者始终仔细求证与琢磨,但是难免还会有疏漏和错误,恳请广大读者不吝赐教。译者的联系方式:331006787@qq.com。
前言
十多年前,Neo4j就开始了它的生涯,2010年正式发布了1.0版本,2.0版本是在2013年12月发布的。我们当中的大多数人一直在积极使用Neo4j,并且见证了它的发展及在不同项目上的应用。图形数据库,尤其是Neo4j,获得了越来越高的关注度,越来越多的人和公司认识到,对于复杂的、具有挑战性的相互连接的数据,Neo4j是图形数据库中唯一的健壮和坚实的解决方案。
我们非常高兴能够浓缩我们的真实工作经历及知识编写成这本实践性很强的书。本书将为你打下一个坚实的基础并创建一些帮助你尽快运行Neo4j的项目。
关于本书
Neo4j作为一个图形数据库在过去的大约十年间发生了很大的变化。从一个纯粹在基于Java领域内操作的图形数据库开始,它已经发展成为适应许多语言和框架的图形数据库。
当我们开始着手写这本书的时候,最新版本是1.9。Neo4j 2.0版本是真正的规则颠覆者,引进了新的特性,包括非常期待的(内置)节点标签的概念。因此本书尽管还有一些与1.x相关的内容,但是已经更新到涵盖了2.0的特色,所有相关的样例代码和例子都已经专门经过了2.0版本的验证。到本书出版时无疑还会有新的版本,然而,本书所采取的深思熟虑的一步一步的方法,应该为你提供了学习、起步和运行任意的核心Neo4j 2.0+版本的基础知识和技能,当然,除了没有预见的巨大变化。
由于Java是促使Neo4j诞生的语言,因此我们决定使用Java作为主要的语言以演示本书的各种技术和方法。此外,这在以前也是唯一一种可用语言,语言的选择也使我们能够包括一些章节详细讨论如何明确地利用本机核心Neo4j API的优点来做某些工作。这当然对基于Java的客户端是具有很大好处的。然而,如果我们重新从头开始,我们可能会花更多时间来讲Cypher,因为Cypher与图形数据库交互更加容易,且是跨平台的,包括Java、Shell等其他所有平台。然而,我们将这个留作可能的第2版,因为我们仍然相信本书中有许多核心基本概念和方法需要首先传达。本书假设使用的是最新版本的JDK 7。另外,本书附带的样例代码使用Maven作为我们创建依赖工具的选择。对于那些不熟悉Maven的用户,附录B中提供了一个快速入门帮助你起步与进入正常运行。
应当指出的是,这并不意味着本书只是一本参考书。如果是那样的话,本书的篇幅将会长很多。本书的目标是给你足够的知识并理解每一个希望精通的领域,然后再继续向前。如果你想进一步探索特定的领域,书中提供了相关内容的链接,在那里你可以得到更多的相关信息。
本书章节编排
本书分为三部分。第一部分介绍并且涵盖数据模型、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中使用的两种主要模式,即嵌入式模式和服务器模式,本书主要讲解嵌入式模式的核心概念。该章也介绍了服务器模式,服务器模式可以被任何的客户端使用,并稍微深入地探讨每一种模式,比较各自的优缺点,包括如果你选择的是服务器模式的话,如何充分利用服务器。