2.4. Windows installation

This section describes how to install Neo4j on Windows.

Neo4j can be run as a console application or as a Windows service.

For development, Neo4j can also be installed using Neo4j Desktop.

2.4.1. Neo4j Desktop

Go to Neo4j Download Center and follow the instructions to install Neo4j Desktop on your computer.

2.4.2. Windows console application

  1. Download the latest release from Neo4j Download Center.

    Select the appropriate ZIP distribution.

  2. Check that the SHA hash of the downloaded file is correct:

    1. To find the correct SHA hash, go to Neo4j Download Center and click on SHA-256 which will be located below your downloaded file.
    2. Using the appropriate commands for your platform, display the SHA-256 hash for the file that you downloaded.
    3. Ensure that the two are identical.
  3. Right-click the downloaded file, click Extract All.
  4. Change directory to the top-level extracted directory.

    Run bin\neo4j console

  5. Stop the server by typing Ctrl-C in the console.

2.4.3. Windows service

Neo4j can also be run as a Windows service. Install the service with bin\neo4j install-service, and start it with bin\neo4j start.

The available commands for bin\neo4j are: help, start, stop, restart, status, install-service, uninstall-service, and update-service.

2.4.3.1. Java options

When Neo4j is installed as a service, Java options are stored in the service configuration. Changes to these options after the service is installed will not take effect until the service configuration is updated. For example, changing the setting dbms.memory.heap.max_size in neo4j.conf will not take effect until the service is updated and restarted. To update the service, run bin\neo4j update-service. Then restart the service to run it with the new configuration.

The same applies to the path to where Java is installed on the system. If the path changes, for example when upgrading to a new version of Java, it is necessary to run the update-service command and restart the service. Then the new Java location will be used by the service.

Example 2.1. Update service example
  1. Install service

    bin\neo4j install-service
  2. Change memory configuration

    echo dbms.memory.heap.initial_size=8g >> conf\neo4j.conf
    echo dbms.memory.heap.max_size=16g >> conf\neo4j.conf
  3. Update service

    bin\neo4j update-service
  4. Restart service

    bin\neo4j restart

2.4.4. Windows PowerShell module

The Neo4j PowerShell module allows administrators to:

  • Install, start and stop Neo4j Windows® Services.
  • Start tools, such as Neo4j Admin and Cypher Shell.

The PowerShell module is installed as part of the ZIP file distributions of Neo4j.

2.4.4.1. System requirements

  • Requires PowerShell v2.0 or above.
  • Supported on either 32 or 64 bit operating systems.

2.4.4.2. Managing Neo4j on Windows

On Windows, it is sometimes necessary to Unblock a downloaded ZIP file before you can import its contents as a module. If you right-click on the ZIP file and choose "Properties" you will get a dialog which includes an "Unblock" button, which will enable you to import the module.

Running scripts has to be enabled on the system. This can, for example, be achieved by executing the following from an elevated PowerShell prompt:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

For more information, see About execution policies.

The PowerShell module will display a warning if it detects that you do not have administrative rights.

2.4.4.3. How do I import the module?

The module file is located in the bin directory of your Neo4j installation, i.e. where you unzipped the downloaded file. For example, if Neo4j was installed in C:\Neo4j then the module would be imported like this:

Import-Module C:\Neo4j\bin\Neo4j-Management.psd1

This will add the module to the current session.

Once the module has been imported you can start an interactive console version of a Neo4j Server like this:

Invoke-Neo4j console

To stop the server, issue Ctrl-C in the console window that was created by the command.

2.4.4.4. How do I get help about the module?

Once the module is imported you can query the available commands like this:

Get-Command -Module Neo4j-Management

The output should be similar to the following:

CommandType     Name                                Version    Source
-----------     ----                                -------    ------
Function        Invoke-Neo4j                        3.4.10      Neo4j-Management
Function        Invoke-Neo4jAdmin                   3.4.10      Neo4j-Management
Function        Invoke-Neo4jBackup                  3.4.10      Neo4j-Management
Function        Invoke-Neo4jImport                  3.4.10      Neo4j-Management
Function        Invoke-Neo4jShell                   3.4.10      Neo4j-Management

The module also supports the standard PowerShell help commands.

Get-Help Invoke-Neo4j

Run the following to see examples of help commands:

Get-Help Invoke-Neo4j -examples

2.4.4.5. Example usage

  • List of available commands:

    Invoke-Neo4j
  • Current status of the Neo4j service:

    Invoke-Neo4j status
  • Install the service with verbose output:

    Invoke-Neo4j install-service -Verbose
  • Available commands for administrative tasks:

    Invoke-Neo4jAdmin

2.4.4.6. Common PowerShell parameters

The module commands support the common PowerShell parameter of Verbose.