The Neo4j Manual v1.4.2

License: Creative Commons 3.0

Table of Contents

Introduction
1. Who should read this
2. Neo4j highlights
I. Reference Documentation
1. Installation & Deployment
1.1. Deployment Scenarios
1.2. System Requirements
1.3. Installation
1.4. Upgrading
1.5. Usage Data Collector
2. Configuration & Performance
2.1. Caches in Neo4j
2.2. JVM Settings
2.3. File system tuning for high IO
2.4. Compressed storage of short strings
3. Transaction Management
3.1. Interaction cycle
3.2. Isolation levels
3.3. Default locking behavior
3.4. Deadlocks
3.5. Delete semantics
4. Cypher Query Language
4.1. Identifiers
4.2. Start
4.3. Match
4.4. Where
4.5. Return
4.6. Aggregation
4.7. Order by
4.8. Skip
4.9. Limit
4.10. Functions in Cypher
5. Neo4j Server
5.1. Server Installation
5.2. Server Configuration
5.3. Setup for remote debugging
5.4. Starting the Neo4j server in high availability mode
5.5. Using the server with an embedded database
5.6. Server Performance Tuning
6. REST API
6.1. Service root
6.2. Nodes
6.3. Relationships
6.4. Relationship types
6.5. Node properties
6.6. Relationship properties
6.7. Indexes
6.8. Auto-Indexes
6.9. Configurable Auto-Indexing
6.10. Traversals
6.11. Built-in Graph Algorithms
6.12. Batch operations
6.13. Gremlin Plugin
6.14. Cypher Plugin
7. Indexing
7.1. Introduction
7.2. Create
7.3. Delete
7.4. Add
7.5. Remove
7.6. Update
7.7. Search
7.8. Relationship indexes
7.9. Scores
7.10. Configuration and fulltext indexes
7.11. Extra features for Lucene indexes
7.12. Batch insertion
7.13. Automatic Indexing
8. Graph Algorithms
8.1. Introduction
9. High Availability
9.1. Architecture
9.2. Setup and configuration
9.3. How Neo4j HA operates
10. Operations
10.1. Backup
10.2. Security
10.3. Monitoring
II. Tutorials
11. Graph Database Concepts
11.1. What is a Graph Database?
11.2. Comparing Database Models
11.3. The Neo4j Graph Database
12. Using Neo4j embedded in Java applications
12.1. Include Neo4j in your project
12.2. Hello world
12.3. User database with index
12.4. Traversal
12.5. Domain entities
12.6. Graph Algorithm examples
12.7. Reading a management attribute
12.8. Uniqueness of Paths in traversals
III. Tools
13. Web Administration
13.1. Dashboard tab
13.2. Data tab
13.3. Console tab
13.4. The Server Info tab
14. Neo4j Shell
14.1. Starting the shell
14.2. Passing options and arguments
14.3. Enum options
14.4. Filters
14.5. Node titles
14.6. How to use (individual commands)
14.7. Extending the shell: Adding your own commands
14.8. An example shell session
14.9. A Matrix example
IV. Troubleshooting
15. Troubleshooting guide
16. Community support
A. Manpages
neo4j — Neo4j Server control and management
neo4j-shell — a command-line tool for exploring and manipulating a graph database
neo4j-coordinator — Neo4j Coordinator for High-Availability clusters
neo4j-coordinator-shell — Neo4j Coordinator Shell interactive interface

List of Figures

5.1. Neo4j Coordinator MBeans View
9.1. Typical setup when running multiple Neo4j instances in HA mode
10.1. Connecting JConsole to the Neo4j Java process
10.2. Neo4j MBeans View
11.1. RDBMS
11.2. Graph Database as RDBMS
11.3. Key-Value Store
11.4. Graph Database as Key-Value Store
11.5. Document Store
11.6. Graph Database as Document Store
12.1. Node space view of users
12.2. Matrix node space view
12.3. User roles node space view
12.4. Social network data model
13.1. Web Administration Dashboard
13.2. Entity charting
13.3. Status indicator panels
13.4. Browsing and manipulating data
13.5. Editing properties
13.6. Traverse data with Gremlin
13.7. Query data with Cypher
13.8. Interact over HTTP
13.9. JMX Attributes

List of Tables

1.1. Neo4j deployment options
1.2. Neo4j editions
2.1. Guidelines for heap size
5.1. neo4j-wrapper.conf JVM tuning properties
7.1. Lucene indexing configuration parameters
9.1. HighlyAvailableGraphDatabase configuration parameters
10.1. MBeans exposed by the Neo4j Kernel
10.2. MBean Memory Mapping
10.3. MBean Locking
10.4. MBean Transactions
10.5. MBean Cache
10.6. MBean Configuration
10.7. MBean Primitive count
10.8. MBean XA Resources
10.9. MBean Store file sizes
10.10. MBean Kernel
10.11. MBean High Availability
11.1. Using relationship direction and type
11.2. Property value types