更新时间:2021-07-08 09:38:31
coverpage
Title Page
Second Edition
Copyright
Learning Neo4j 3.x
Credits
About the Authors
Acknowledgement
About the Reviewers
www.PacktPub.com
Why subscribe?
Customer Feedback
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
Graph Theory and Databases
Introducing Neo4j 3.x and a history of graphs
Definition and usage of the graph theory
Social studies
Biological studies
Computer science
Flow problems
Route problems
Web search
Background
Navigational databases
Relational databases
NoSQL databases
Key-value stores
Column-family stores
Document stores
Graph databases
The Property Graph model of graph databases
Node labels
Relationship types
Why use graph databases or not
Why use a graph database?
Complex queries
In-the-clickstream queries on live data
Pathfinding queries
When not to use a graph database and what to use instead
Large set-oriented queries
Graph global operations
Simple aggregate-oriented queries
Test questions
Summary
Getting Started with Neo4j
Key concepts and characteristics of Neo4j
Built for graphs from the ground up
Transactional ACID-compliant database
Made for online transaction processing
Designed for scalability
A declarative query language - Cypher
Sweet spot use cases of Neo4j
Complex join-intensive queries
Committed to open source
The features
The support
The license conditions
Installing Neo4j
Installing Neo4j on Windows
Installing Neo4j on Mac or Linux
Using Neo4j in a cloud environment
Sandbox
Using Neo4j in a Docker container
Installing Docker
Preparing the filesystem
Running Neo4j in a Docker container
Modeling Data for Neo4j
The four fundamental data constructs
How to start modeling for graph databases
What we know – ER diagrams and relational schemas
Introducing complexity through join tables
A graph model – a simple high-fidelity model of reality
Graph modeling – best practices and pitfalls
Graph modeling best practices
Designing for query-ability
Aligning relationships with use cases
Looking for n-ary relationships
Granulate nodes
Using in-graph indexes when appropriate
Graph database modeling pitfalls
Using rich properties
Node representing multiple concepts
Unconnected graphs
The dense node pattern