1. 首页
  2. 编程语言
  3. Java
  4. Neo4jinAction

Neo4jinAction

上传者: 2019-04-28 19:27:40上传 PDF文件 8.21MB 热度 35次
Neo4j in Action is a comprehensive guide to designing, implementing, and querying graph data using Neo4j. Using hands-on examples, you'll learn to model graph domains naturally with Neo4j graph structures. The book explores the full power of native Java APIs for graph data manipulation and querying.For online information and ordering of this and other Manning books, please visitwww.manning.com.ThepublisheroffersdiscountsonthisbookwhenorderedinquantityFor more information, please contactSpecial sales departmentManning publications co20 Baldwin roadPO BoX 761Shelter island. ny11964Emailorders@manning.com@2015 by Manning Publications Co. All rights reservedNo part of this publication may be reproduced stored in a retrieval system or transmitted inany form or by means electronic, mechanical, photocopying, or otherwise, without prior writtenpermission of the publisherMany of the designations used by manufacturers and sellers to distinguish their products areclaimed as trademarks. Where those designations appear in the book, and ManningPublications was aware of a trademark claim, the designations have been printed in initial capsor all caps.oo Recognizing the importance of preserving what has been written, it is Mannings policy to havethe books we publish printed on acid-free paper, and we exert our best efforts to that endare printed on paper that is at least 15 percent recycled and processed without the use or pRecognizing also our responsibility to conserve the resources of our planet, Manning bookelemental chlorineManning publications coDevelopment editor: Kaer20 Baldwin roadTechnical development editor Gordon DickensPOBoⅹ761Copyeditor: Andy carrollShelter island. ny11964Proofreader: elizabeth martinTechnical proofreader: Craig TavernerTypesetter: Dennis dalinnikCover designer: Marija TudorISBN:9781617290763Printed in the united states of america12345678910-EBM-191817161514brief contentsPART 1 INTRODUCTION TO NEO411 A case for a Neo4j database 3deling in Neo4j 193- Starting development with Neo4j 324 The power of traversals 50Indexing the data 64PART 2 APPLICATION DEVELOPMENT WITH NEO4n796 Cypher: Neo4j query language 817■ Transactions1108 Traversals in depth 125ing Data Neo4j 147PART 3 NEO4J IN PRODUCTION●。。。。。。o。。。。。。。。。。0。。。●。0。。。。。0。0。。。。。。。18110 Neo4j: embedded versus server mode 18311 Neo4j in production 216contentsforeword xipreface xiiiacknowledgments xivbout this bookabout the authors xxabout the cover illustration xxiiPART I INTRODUCTION TO NEO4T0000case for a Neogi database 31.1 Why Neo4j? 41. 2 Graph data in a relational database 5Querying graph data using MysQl61.3 Graph data in Neo 4Traversing the graph1.4 SQL joins versus graph traversal on a large scale ll1.5 Graphs around you 141.6 Neo4j in NosQL space 14Key-value stores 15. Column-family stores 15Document-oriented databases 16 Graph databases 16NOSQL categories compared 16CoNTENTS1.7 Neo4j: the ACID-compliant database 171. 8 Summary 18Data modeling in Neodj 1g2.1 What is a data model for Neo4i? 19Modeling with diagrams: a simple example 20Modeling with diagrams: a complex example 222.2 Domain modeling 24Entities and properties 242. 3 Further examples 27Underground stations example 28 Band members example 292.4 Summary 31Starting development with Neoli 323.1 Modeling graph data structures 333.2 Using the neo4i api 36Creating nodes 36" Creating relationships 39Adding properties to nodes 40" Node type strategies 42Adding properties to relationships 443.3 Node labels 463.4 Summary 484The bower of traversals 504.1 Traversing using the Neo4j Core Java API 5lFinding the starting node 51. Traversing directrelationships 52. Traversing second-level relationships 54Memory usage considerations 574.2 Traversing using the Neo4j Traversal aPI 58Using Neo4i's built-in traversal constructs 58Implementing a custom evaluator 604.3 Summary 63Indexing the data 645.1 Creating the index entry 655.2 Finding the user by their email 665.3 Dealing with more than one match 685. 4 Dealing with changes to indexed data 69CONTENTS5.5 Automatic indexing 70Schema indexing 70. Auto-indexing 735.6 The cost/benefit trade-off of indexing 75Performance benefit of indexing when querying 76Performance overhead of indexing when updating and inserting 77Storing the index 785.7 Summary 78PART 2 APPLICATION DEVELOPMENT WITH NEO4I.......796 cypCypher: Neo4] query language 816.1 Introduction to Cypher 82Cypher primer 82. Executing Cypher queries 846.2 Cypher syntax basics 89Pattern matching 89. Finding the starting node 93Filtering data 97. Getting the results 986.8 Updating your graph with Cypher 101Creating new graph entities 102 Deleting data 104Updating node and relationship properties 1046.4 Advanced Cypher 105Aggregation 106 Functions 106 Piping using thenith clause 108 Cypher compatibility 1096.5 Summary 109Transactions 1107.1 Transaction basics 111Adding in a transaction 112. Finishing what you startand not trying to do too much in one go 1137.2 Transactions in depth 114Transaction semantics 115. Reading in a transaction andexplicit read locks 117. Writing in a transaction and explicitwrite locks 118 The danger of deadlocks 1207.3 Integration with other transaction managementstems 1217. 4 Transaction events 1227.5 Summary 124CONTENTS8Traversals in depth 1258.1 Traversal ordering 125Depth-first 126. Breadth-first 128 Comparing depth-finand breadth-first ordering 1308.2 Expanding relationships 132StandardExpander 132 Ordering relationshipsfor expansion 135 Custom expanders 1368.3 Managing uniqueness 138NODE GLOBAL uniqueness 138. NODE PATHuniqueness 140. Other uniqueness types 1428.4 Bidirectional traversals 1438.5 Summary 1459Spring Data Neog 1479.1 Where does sdn fit in? 148What is spring and how is sdn related to it? 149What is sdn good for(and not good for)? 150Where to get sDn 150. Where to get more information 1519.2 Modeling with SDN 151nitial pojo domain modeling 151. Annotating thedomain model 154 Modeling node entities 155Modeling relationship entities 158 Modeling relationshipsbetween node entities 1609.3 Accessing and persisting entities 163Supporting spring configuration 163 Neo4jTemplateclass163· Repositories I65· Other options1689. 4 Object-graph mapping options 169Simple mapping 169. Advanced mapping basedon Aspect 173. Object mapping summary 1759.5 Performing queries and traversals 176Annotated queries 177 Dynamically derived queries 178Traversals 1809.6 Summary 180CONTENTSPART 3 NEO4J IN PRODUCTION000000000000000000n18110Neo4i: embedded versus server mode 18310.1 Usage modes overview 18410.2 Embedded mode 186Core Java integration 186.Other VM-based integration 18910.3 Server mode 190Neo4j server overview 191 Using the fine-grained Neo41server REST API 192 Using the Cypher Neo4j serverREST API endpoint 194 Using a remote client libraryto help access the Neo4j server 196. Server plugins andunmanaged extensions 19710.4 Weighing the options 198Architectural considerations 199. Performanceconsiderations 201- Other considerations 20410.5 Getting the most out of the server mode 205Avoid fine-grained operations 206. Using Cypher 207Server plugins 209 m Unmanaged extensions 212Streaming restapl 21410.6 Summary 2151Neof in production 21611.1 High-level Neo4j architecture 217Setting the scene. 218 Disks 218 Store files 220Neo4j caches 222 Transaction logs and recoverability 227Programmatic APls 22911.2 Neo4j High Availability(HA) 280Neo4j clustering overview 231. Setting up a Neo4j cluster 234Replication--reading and writing strategies 237Cache sharding 241 HA summary 24311.3 Backups 244Offline backups 244 Online backups 246Restoring from backup 24811.4 Topics we couldnt cover but that you should beaware of 248Security 248 Monitoring 249
下载地址
用户评论
码姐姐匿名网友 2019-04-28 19:27:40

很好的参考资料

码姐姐匿名网友 2019-04-28 19:27:40

正准备看知识图谱

码姐姐匿名网友 2019-04-28 19:27:40

很好的neo4j材料,2015年的资料。

码姐姐匿名网友 2019-04-28 19:27:40

感谢分享!

码姐姐匿名网友 2019-04-28 19:27:40

挺清晰的,谢谢分享

码姐姐匿名网友 2019-04-28 19:27:40

比较实用,只是只有英文版

码姐姐匿名网友 2019-04-28 19:27:40

好书,Neo4j的权威之作

码姐姐匿名网友 2019-04-28 19:27:40

质量很好!不是扫描版的,很方便!