没有合适的资源?快使用搜索试试~ 我知道了~
首页Neo4j入门实战:探索图数据库的精髓
Neo4j入门实战:探索图数据库的精髓
![](https://csdnimg.cn/release/wenkucmsfe/public/img/star.98a08eaa.png)
"图数据库:Neo4j实战"是一本深入讲解图数据库技术的实用指南,由Aleksa Vukotic、Nicki Watt、Tareq Abedrabbo、Dominic Fox、Jonas Partner等人合作编撰,旨在帮助读者快速理解和掌握Neo4j这一强大的数据存储和查询工具。 Neo4j是一款专门为处理网络和关系数据设计的图形数据库管理系统,它强调节点(Node)和边(Edge)的连接方式来存储和查询数据,特别适合于需要表示复杂关联关系的应用场景,如社交网络、推荐系统和知识图谱等。 书中涵盖了Neo4j的基础概念,包括但不限于图模型的理解、安装与配置、基本的数据模型建立、Cypher查询语言的使用以及性能优化策略。通过实例演示,读者可以学习如何设计和操作具有实体关系的图数据库,理解如何利用Neo4j的强大查询能力来获取深层次的洞察和关联信息。 此外,书中的作者团队是来自Manning Publications的专业作者群,他们不仅分享了理论知识,还提供了丰富的实践案例,使读者在实践中不断提升技能。同时,书中还强调了版权问题,指出所有内容未经许可不得复制或传播,体现了对知识产权的尊重。 如果你正在寻求入门图数据库或者想要提升在Neo4j上的操作水平,这本书无疑是一个理想的选择。它不仅适合IT专业人士,也适合对数据建模和复杂关系感兴趣的开发者。通过阅读本书,你将能够更好地理解和应用图数据库在现实世界中的各种应用场景中所带来的优势。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/10017427/bg10.jpg)
ACKNOWLEDGMENTS
xv
Brian Gyss, Christoph Jasinski, Frank Uzzolino, Fred Patton, Janeen Johnson, John D.
Lewis, Joshua White, Mark Watson, Philippe Lamote, Pouria Amirian, Rikke Willer,
Robert Gimbel, Rod Hilton, and Stephen Kitt.
Thanks also to Jim Webber and Ian Robinson for contributing the foreword to our
book, and to Craig Taverner for his technical expertise as he reviewed the manuscript
and code examples one more time, just before production.
There are many others who contributed in various ways as well. We cannot men-
tion everyone by name as this would mean that the acknowledgments would roll on
and on, but we’d like to send a big thank you to everyone else who had a hand in help-
ing make this book possible!
Licensed to zhailiang UNKNOWN <zhailiang@ideatech.info>
![](https://csdnimg.cn/release/download_crawler_static/10017427/bg11.jpg)
xvi
about this book
Neo4j as a graph database has evolved quite a bit over the last decade or so. Starting as
a database operating purely within the Java-based world, it has since evolved to cater
to many languages and frameworks.
When we first embarked on writing this book, it was targeting the then-latest 1.9
release. The Neo4j 2.0 release was a real game changer, introducing new features,
including the much-desired (built-in) concept of node labels. Though there is still
some 1.x related material, you will be pleased to know that the content of this book
has indeed been updated to cover 2.0 features, with all the associated sample code
and examples having been specifically validated against the 2.0.1 release. No doubt
there will be later releases by the time this book hits the printing press; however, the
deliberate step-by-step approach taken by Neo4j in Action should provide you with
the core foundational knowledge and skills necessary to learn about, and get up and
running with, any Neo4j 2.0+ release—subject to any unforeseen breaking changes
introduced, of course.
With Java being the language used to give birth to Neo4j, we decided to use Java as
the primary language for demonstrating the various techniques and approaches in this
inaugural Neo4j book. Besides the fact that this was previously one of the only options
available, the language choice has also afforded us the ability to include chapters
and sections detailing how you can explicitly take advantage of some of the native
core Neo4j
API
s for performing certain tasks. This certainly has major benefits for
Java-based clients. However, if we were starting from scratch again, more time and
attention would probably have been given to Cypher. Using Cypher where possible to
Licensed to zhailiang UNKNOWN <zhailiang@ideatech.info>
![](https://csdnimg.cn/release/download_crawler_static/10017427/bg12.jpg)
ABOUT THIS BOOK
xvii
interact with the graph promotes easier integration regardless of the client—Java,
shell, or something else. In any case, we leave this for a potential second edition as we
still believe there are many core fundamental concepts and approaches in this book
that need to be conveyed first. The book assumes the latest version of
JDK
7 is being
used. Additionally, the sample code that accompanies this book makes use of Maven
as our build dependency tool of choice. For those unfamiliar with Maven, we provide
a quick getting started section in appendix B to help get you up and running.
It should be noted that this is not meant to be a reference book; it would be a lot
longer if that were the case. It does aim to arm you with enough knowledge and
understanding in each area to be relatively proficient before moving on. Links are
provided to appropriate content where you can get more information should you
want to explore any specific area further.
Roadmap
This book is divided into three parts. Part 1 is an introduction and covers data modeling,
starting development with Neo4j, and the power of transversals. Part 2 takes on applica-
tion development and covers Cypher and Spring. Part 3 covers Neo4j in production.
Chapter 1 introduces graph database concepts in general, including looking at
some of Neo4j’s key aspects and the typical use cases which it is well suited to
address. The chapter goes on to address some of the questions about where Neo4j
fits within the so-called No
SQL
space, including comparing it with more traditional
relational databases.
Chapter 2 examines how and why we model data in Neo4j, including common
approaches to data modeling scenarios in a graph database. Examples from a variety
of domains are also presented, giving you a sense for just how flexible data modeling
in Neo4j can be.
Chapter 3 is where we really start getting our hands dirty. This chapter introduces
you to the Neo4j Core Java
API
, where you are taken through the steps of creating a
graph representing a social network of users and the movies they like. This chapter
covers creating and connecting nodes and capturing additional information against
these nodes. It also looks at strategies for differentiating between types of nodes,
including the use of labels.
Chapter 4 builds on this social network domain, exploring the core
API
in more
depth and focusing specifically on traversals—in this case the Neo4j Traversal
API
—as
a powerful way of querying graph data.
Chapter 5 introduces the indexing strategies available in Neo4j. Creating and tra-
versing graph data is great, but you will need a strategy for finding the starting point,
or points, in your graph from which to begin. This chapter covers these options. You
will begin by looking at the manual (legacy) indexing options, before moving on to
the built-in indexing options available from Neo4j 2.0 onward.
Chapter 6 introduces Cypher, Neo4j’s human-readable query language. The nature
of Cypher is explained, its basic syntax for graph operations is demonstrated, and
Licensed to zhailiang UNKNOWN <zhailiang@ideatech.info>
![](https://csdnimg.cn/release/download_crawler_static/10017427/bg13.jpg)
ABOUT THIS BOOK
xviii
advanced features that can be useful in day-to-day development and maintenance of
Neo4j databases are also covered.
Chapter 7 focuses on one of the unique selling points of Neo4j in the No
SQL
space—the fact that it fully supports
ACID
-based transactions, providing examples of
different uses as well as taking a more in-depth look at certain aspects.
While chapter 4 provides your initial foray into the world of traversals, writing effi-
cient traversals is the key to successfully querying graph data. In chapter 8 we dig
deeper into the inner workings of the Traversal
API
so you can learn how to solve the
most complex graph problems in an efficient manner with the native
API
.
Chapter 9 looks at Spring Data Neo4j library (
SDN
), the object graph-mapping
library. Though not an official Neo4j offering, this chapter focuses on demonstrating
how the Neo4j-specific open source framework can be used as a library to provide a
robust and seamless mapping experience between a rich object graph model and data
backed by Neo4j. Once again our trusty social network of users and their favorite mov-
ies is used to demonstrate these points.
Chapter 10 explores the two main usage modes in Neo4j, namely embedded and
server. Much of the book has focused on demonstrating core concepts using the
embedded mode. This chapter additionally introduces the server mode, which can be
used by just about any client, and explores each mode in a bit more depth, weighing
the pros and cons of each, including how to get the most out of your server if you
choose to use this option.
Chapter 11 finishes off with an overview of the high-level Neo4j architecture.
Framed with this knowledge, the chapter explores what should be considered when
you want to take Neo4j to production, including scaling and other requirements for
making Neo4j highly available, finishing off with instructions for how to back up and
restore your database should it be required.
The four appendixes guide you through installing, setting up, and running Neo4j,
Maven, and
SDN
, and offer guidance for seeking more help.
Code conventions and downloads
All source code in the book is in a
fixed-width
font
like
this
, which sets it off from
the surrounding text. In many listings, the code is annotated to point out the key con-
cepts, and numbered bullets are sometimes used in the text to provide additional
information about the code.
Most of the code shown in the book can be found in various forms in the sample
source code that accompanies it. The sample code can be downloaded free of charge
from the Manning website at www.manning.com/Neo4jinAction, as well as at https://
github.com/opencredo/neo4j-in-action.
The sample code is structured as a set of
JU
nit style tests that aim to highlight
and/or demonstrate the particular code under discussion. Instructions for how you
can run the sample code are provided in appendix B.
Licensed to zhailiang UNKNOWN <zhailiang@ideatech.info>
![](https://csdnimg.cn/release/download_crawler_static/10017427/bg14.jpg)
ABOUT THIS BOOK
xix
Author Online forum
Purchase of Neo4j in Action includes free access to a private web forum run by Man-
ning Publications where you can make comments about the book, ask technical ques-
tions, and receive help from the authors and from other users. To access the forum
and subscribe to it, point your web browser to www.manning.com/Neo4jinAction.
This page provides information on how to get on the forum once you’re registered,
what kind of help is available, and the rules of conduct on the forum.
Manning’s commitment to our readers is to provide a venue where a meaningful
dialog between individual readers and between readers and the authors can take
place. It’s not a commitment to any specific amount of participation on the part of the
authors, whose contributions to the
AO
remain voluntary (and unpaid). We suggest
you ask the authors challenging questions lest their interest stray!
The Author Online forum and the archives of previous discussions will be accessi-
ble from the publisher’s website as long as the book is in print.
Licensed to zhailiang UNKNOWN <zhailiang@ideatech.info>
剩余304页未读,继续阅读
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
qq_30689807
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)