Neo4j Browser is the general purpose graphical user interface for Neo4j. Query, visualize, administer and monitor the database with modern and easy-to-use tools.
You can try out the latest (unreleased) version of Neo4j Browser at http://browser-canary.graphapp.io/.
Keep in mind that you will need to connect to an instance of Neo4j (the database) for most operations in Neo4j Browser. A simple way to get started is through Neo4j Desktop. Once you've started a database it's by default available for Neo4j Browser to connect to on localhost:7687.
Found a bug or some other problem with Neo4j Browser? Please open an issue.
Have an idea for a new feature? You're welcome to leave suggestions and ideas here.
Contributions welcome! More information in our CONTRIBUTING.md.
Browser has a subproject of re-usable components bundled together and exposed as neo4j-arc
. Rather than set up mono-repo tooling the we've set up eslint to isolate neo4j-arc
and given it a seperate build step. Code in browser can only to import code from neo4j-arc
through neo4j-arc
aliases (as if it was a seperate project) and neo4j-arc
is not allowed to import any code from outside it's own folder.
There are 2 parts within this project
Each mantains a separate TS version. Browser's TS version has to align with neo4j-arc's by setting a fixed version at latter's lower bound. For example, if neo4j-arc's typescript version is
"typescript": "^4.6.2"
, then the browser's has be to the exact version of"typescript": "4.6.2"
Running Neo4j Browser locally requires Node.js 16 and for dependencies we use yarn (npm install -g yarn
). To install
dependencies and then start the development server at http://localhost:8080
:
To switch node version with a version manager, please try nvm
yarn install
yarn start
Or to run in production mode:
yarn start-prod
Neo4j Browser has both unit and end to end tests running automatically on every pull request. To run the tests locally:
yarn jest
runs our unit tests.
yarn test-e2e
runs our Cypress end to end tests in the easiest, slowest way. Running them with this command requires docker installed and that nothing else runs on ports 7687 and 8080.
yarn e2e-open
to open the Cypress test runner (requires a fresh installation of Neo4j to run against, expects neo4j 3.5 by default). See details below on how to configure database version.
yarn e2e-local-open
to run against an existing server (with a password already set). We use newpassword
as the default password here, make sure to pass your password:
yarn e2e-local-open --env browser-password=<your-password-here>
The name browser-password
is a bit misleading. It's actually the password for connecting to Neo4j we just mentioned via bolt portocol, i.e. the "password" input in the image below:
To avoid opening the Cypress test runner and just run the tests in the terminal, remove the "-open" suffix from the previous two commands (so yarn e2e
and yarn e2e-local
respectively).
So to run tests on your existing 4.2 database with the password "hunter2" without opening the Cypress visual test runner:
yarn e2e-local --env browser-password=hunter2,server=4.2
All the available options for --env
are:
server=3.5|4.0|4.1|4.2|4.3 (default 4.3)
edition=enterprise|community|aura (default enterprise)
browser-password=<your-pw> (default 'newpassword')
include-import-tests=true|false (default false)
bolt-url=<bolt url excluding the protocol> (default localhost:7687)
There are some additional options that can only be set as system environmental variables (meaning they cannot be set using the --env
flag as the ones above).
These needs to be set before the test command is run.
CYPRESS_E2E_TEST_ENV=local|null (if the initial set of pw should run or not) (default undefined)
CYPRESS_BASE_URL=<url to reach the browser to test> (default http://localhost:8080)
Example: CYPRESS_E2E_TEST_ENV="local" CYPRESS_BASE_URL=http://localhost:30000 cypress open --env server=4.2