The Neo4j Manual v1.2

License: Creative Commons 3.0
Revision History

Table of Contents

Introduction
1. Who should read this
2. Neo4j highlights
I. Reference Documentation
1. Installation & Deployment
1.1. Deployment Scenarios
1.1.1. Server
1.1.2. Embedded
1.2. Installation
1.2.1. Embedded Installation
1.3. System Requirements
1.3.1. CPU
1.3.2. Memory
1.3.3. Disk
1.3.4. Filesystem
1.3.5. Software
1.4. Upgrading
2. Configuration & Performance
2.1. Caches in Neo4j
2.1.1. File buffer cache
2.1.2. Object cache
2.2. JVM Settings
2.2.1. Configuring heap size and GC
2.2.2. Standalone Server
3. Transaction management
3.1. Interaction cycle
3.2. Isolation levels
3.3. Default locking behavior
3.4. Deadlocks
3.5. Delete semantics
4. Neo4j Server
4.1. Server Installation
4.1.1. As a Windows service
4.1.2. Linux Service
4.2. Server Configuration
4.3. Server Plugins
4.4. Tuning the server performance
4.4.1. Specifying the tuning properties
4.5. Unmanaged Extensions
5. High Availability
5.1. Architecture
5.2. Setup and configuration
5.2.1. Small
5.2.2. Medium
5.2.3. Large
5.2.4. Installation Notes
5.3. How Neo4j HA operates
6. Operations
6.1. Backup
6.1.1. How to make backups in embedded mode
6.2. Security
6.2.1. Securing access to the Neo4j Server
6.3. Monitoring
6.3.1. JMX
6.4. Web Administration
6.4.1. Dashboard tab
6.4.2. Data tab
6.4.3. Console tab
6.4.4. The JMX tab
II. Tools
7. Neo4j Shell
7.1. Starting the shell
7.1.1. Enabling the remote shell server
7.1.2. Connecting to a remote shell server
7.1.3. Pointing the shell to a path
7.1.4. Read-only mode
7.1.5. Run a command and then exit
7.2. Passing options and arguments
7.3. Enum options
7.4. Filters
7.5. Node titles
7.6. How to use (individual commands)
7.6.1. Current node/relationship and path
7.6.2. Listing the contents of a node/relationship
7.6.3. Creating nodes and relationships
7.6.4. Setting, renaming and removing properties
7.6.5. Deleting nodes and relationships
7.6.6. Environment variables
7.6.7. Executing groovy/python scripts
7.6.8. Traverse
7.6.9. Indexing
7.7. Extending the shell: Adding your own commands
III. Troubleshooting
8. Troubleshooting guide
9. Community support
A. Manpages
neo4j-shell — a command-line tool for exploring and manipulating a graph database

List of Figures

5.1. Typical setup when running multiple Neo4j instances in HA mode
6.1. Connecting JConsole to the Neo4j Java process
6.2. Neo4j MBeans View
6.3. Web Administration Dashboard
6.4. Entity charting
6.5. Status indicator panels
6.6. Browsing and manipulating data
6.7. Manipulating data with Gremlin
6.8. JMX Attributes
5.1. Typical setup when running multiple Neo4j instances in HA mode
6.1. Connecting JConsole to the Neo4j Java process
6.2. Neo4j MBeans View
6.3. Web Administration Dashboard
6.4. Entity charting
6.5. Status indicator panels
6.6. Browsing and manipulating data
6.7. Manipulating data with Gremlin
6.8. JMX Attributes

List of Tables

1.1. Neo4j deployment options
2.1. Guidelines for heap size
2.2. neo4j-wrapper.conf JVM tuning properties
5.1. HighlyAvailableGraphDatabase configuration parameters
6.1. MBeans exposed by the Neo4j Kernel
6.2. MBean Memory Mapping
6.3. MBean Locking
6.4. MBean Transactions
6.5. MBean Cache
6.6. MBean Configuration
6.7. MBean Primitive count
6.8. MBean XA Resources
6.9. MBean Store file sizes
6.10. MBean Kernel
6.11. MBean High Availability
1.1. Neo4j deployment options
2.1. Guidelines for heap size
2.2. neo4j-wrapper.conf JVM tuning properties
5.1. HighlyAvailableGraphDatabase configuration parameters
6.1. MBeans exposed by the Neo4j Kernel
6.2. MBean Memory Mapping
6.3. MBean Locking
6.4. MBean Transactions
6.5. MBean Cache
6.6. MBean Configuration
6.7. MBean Primitive count
6.8. MBean XA Resources
6.9. MBean Store file sizes
6.10. MBean Kernel
6.11. MBean High Availability