Skip to content
/ cy2neo Public
forked from jexp/cy2neo

Fork of cy2neo to use Python/Go backend

Notifications You must be signed in to change notification settings

zenador/cy2neo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cy2Neo - Tiny Neo4j Cypher Workbench with custom D3 Visualization

Cy2Neo is a tiny Neo4j query console, in a single HTML-page using client-side JavaScript only.

Neo4j is an open source graph database and Cypher is Neo4j’s graph query language.

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.

Fork

Added a server component, allowing users to browse Neo4j with preset queries and connection only:
  • more secure

  • more convenient and user-friendly

  • easier to reuse code

Tested on Neo4j Server 4.1.1.

Also made some other changes:
  • 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

About

Fork of cy2neo to use Python/Go backend

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 83.0%
  • HTML 9.4%
  • Go 2.7%
  • CSS 2.1%
  • Python 1.8%
  • Dockerfile 0.6%
  • Shell 0.4%