Cypher Philly Project Wiki

The Idea:

The Philly Graph DB meetup group has started a new initiative called Cypher Philly. The initiative is intended to inspire and equip citizen journalists, data enthusiasts and social activists with the tools and data to do good for the city and citizens of Philadelphia.

There are a number of reasons why Philadelphia needs your help from public safety issues, to beautifying shared public spaces or even unheard police complaints. Our goal is to harness the untapped potential of which has hundreds of datasets that could help inform effective solutions to these problems. Topics range from Arts/Culture/History, Education, Elections/Politics, Civil Rights, Public Safety, Environment & and much more. With a shared enthusiasm for making an actionable difference we believe you can help us make this initiative possible.

This initiative is in collaboration with Code For Philly, Neo4j, Linode, Data Philly & Philly. We've just been awarded a Lenfest grant to build portions of the technology for developing collaboration in the Philadelphia Journalism ecosystem. We'll be working with Many of these collaborators to test and build our toolsets, technology and initiative as we work to create actionable change through data storytelling.

Learn More

For Activist:

Activist for this project come in many forms and levels of participation. We are always accepting new participants to help us with this initiative. We ask any new activists only bring their best selves and a curious mind ready to tackle interesting civic problems.

If you're looking to participate Click Here to share your skills and superpowers.

For Coders:

Cypher Philly's first priority is to build our web application toolset which contributors can use collaboratively. These tools will help us to Ingest, Process and Upload data sources we'll use in our projects. We'll also be developing a consistent API which will make it easier to Access, Share and Query the data we're working with. The Cypher Philly web application toolset can be found on our Github page. The project is completely open source, so anyone can contribute to the code or reuse for their community.

Get started with Learning how to use Neo4j Desktop with our Civic Data Journalism Walkthrough.

For Data People:

Once a story lead is identified by the journalist or a civic activist, a topic is then chosen to explore. we'll need data experts to begin by scouring the web to locate hosted open data or institutions who have access to open data.

A priority deliverable for this project is to make a consistent process for adding new data sources, processing data, cleaning, and finding connections between datasets. This will enable us to easily combine large sets of data in this manner. We'll find our sources, Ingest the data, run the data through our data processor and finally upload the data to our Neo4j Database Hosted on servers provided by our collaborator Linode.

Got open data to share? Summit it here using this Form.

For Journalism:

We're partnering with Journalists in the Philadelphia ecosystem to help us identify problems that are most relevant to the problems the city and its citizens are facing. Once we've identified the problems and datasets we'll be working with, we'll then team up with data scientists to determine what parts of the data are most relevant to telling a data story. Data scientists will need to work with the journalist to make sense of the data and concluded their analysis. Journalists will then be able to publish the stories we find in the data and how we can use this information to make an actionable change.

Got a story you want to report? Click Here

Looking for a data story Lead? Click Here

For Creatives:

You can also find wireframes and mockup designs in the Google Drive Folders for Cypher Philly and directly from the CP New Wireframes folder.

Project Collaboration:

Community Project Boards

Cypher Philly[Trello Board]

Code for Philly[Cypher Philly Project Page]


Philly Graph DB Meetup Group

Code For Philly Meetup Group

Tools and Technologies:


Neo4j is a graph database management system developed by Neo4j, Inc. Described by its developers as an ACID-compliant transactional database with native graph storage and processing, Neo4j is the most popular graph database according to DB-Engines ranking.

Neo4j is available in a GPL3-licensed open-source "community edition", with online backup and high availability extensions licensed under the terms of the Affero General Public License. Neo also licenses Neo4j with these extensions under closed-source commercial terms.

Neo4j is implemented in Java and accessible from software written in other languages using the Cypher Query Language through a transactional HTTP endpoint, or through the binary "bolt" protocol.


Cypher is a vendor-neutral open graph query language employed across the graph ecosystem. Cypher’s ASCII-art style syntax provides a familiar, readable way to match patterns of nodes and relationships within graph datasets.

Like SQL, Cypher is a declarative query language that allows users to state what actions they want performed (such as match, insert, update or delete) upon their graph data without requiring them to describe (or program) exactly how to do it.

Two years ago, Neo4j, Inc. decided to open source the Cypher language and make the most popular graph query language available to any technology provider with the aim that Cypher become the "SQL for graphs." Thus, the openCypher project was born.


OpenRefine (formerly Google Refine) is a powerful tool for working with messy data: cleaning it; transforming it from one format into another; and extending it with web services and external data.

Please note that since October 2nd, 2012, Google is not actively supporting this project, which has now been rebranded to OpenRefine. Project development, documentation and promotion is now fully supported by volunteers. Find out more about the history of OpenRefine and how you can help the community.


To get setup for the project, you will first need to get Node.js. Also, you will need access to a Neo4j instance. There is a script to setup Neo4j

Install Angular CLI:

npm install -g @angular/cli

Then, you should just need to do the install:

npm i

You will need to install jq for some of the CLI scripts.



API call:*%20FROM%20ppd_complaint_disciplines

Project Activity


Cypher Philly, together with Untitled Folder LLC, Neo4j, Technically Media, Linode and Code For Philly: To create an open-source web application project designed to empower citizens, journalists, data scientists, coders and creatives with the ability to harness open data for journalism, public information, and civic good.

Read the full article on…Published

Update #1

We are still in planning phase. There is some prototype code that is working, but there's a need for project planning and documentation.

Most of the next "sprint" of tasks are in the Github project. I'll be updating documentation to make it easier to know the goals, architecture ideas, and setup.


I'll be at the next two Hack Nights! We will also be planning another weekend or evening session in the slack channel soon. Join us if you'd like!