Cy2Neo is a tiny Neo4j query console, in a single HTML-page using client-side JavaScript only.
Cypher queries are highlighted with CodeMirror.
Graph query results are rendered with D3 using a custom renderer based on neo4j’s browser rendering that is part of this project.
Cy2Neo uses a simple Neo4j HTTP-connector that posts Cypher queries to Neo4j’s transactional Cypher HTTP endpoint using jQuery Ajax requests.
You can try it live here, it should be able to connect to any Neo4j 2.x and 3.x instance that’s accessible from your machine. Just enter the Neo4j-URL, username and password in the boxes on the right side.
Note
|
I wrote most of it while flying from OSCON 2014 in Portland,OR to Chicago on my way home to Dresden, Germany. |
-
more secure
-
more convenient and user-friendly
-
easier to reuse code
Tested on Neo4j Server 4.1.1.
-
allow clicking or hovering on vertex or edge to show properties in a popup with hyperlinks
-
add a more detailed and searchable DataTables view on a separate page
-
new option to use separate colours for edges based on type and to hide edge captions
-
new option to highlight linked vertices and edges on hover
-
allow highlighting focus nodes based on user-defined entity id
-
allow searching for entity ids to highlight those nodes
-
add helpful tooltips
-
integrate with socket.io
-
other minor UI fixes and debugging improvements and library upgrades
You can choose to use either Python 3 (Flask) or Go for the backend, with or without Docker. You can also use Ansible to set up the server.
Instructions:
# python without Docker
cd servpy
pip install -r requirements.txt
python api.py
# golang without Docker
cd servgo
go mod download
go build && ./servgo
# Docker Compose (comment out Python/Go in the .yml file first)
docker-compose up --build
# to control individual services, e.g. you may need to do this if the python server auto-shutdown in the above command
docker-compose start py
Test URLs: https://localhost:8080/person/Andy if you manually import the provided demo csvs or use Docker https://localhost:8080/1/1 otherwise