ipython-cypher

Neo4j Cypher cell and line magic for IPython, Pandas, NetworkX and matplotlib


Keywords
ipython, neo4j, cypher, pandas, networkx, neo4jrestclient
License
GPL-2.0+
Install
pip install ipython-cypher==0.2.6

Documentation

ipython-cypher

Author: Javier de la Rosa, http://versae.es

Introduces a %cypher (and %%cypher) magic for Neo4j in IPython. Inspired by Catherine Devlin's ipython-sql.

Connect to a graph database, using neo4jrestclient_ driver, then issue Cypher commands within IPython or IPython Notebook. See examples.

Install

As easy as usual:

pip install ipython-cypher

Usage

Inside IPython, load the extension:

%load_ext cypher

And then you are reay to go by using the %cypher line magic:

%cypher MATCH (a)-[]-(b) RETURN a, b

Some Cypher queries can be very long, in those cases the the cell magic, %%cypher comes in handy:

%%cypher
create
    // Nodes
    (Neo:Crew {name:'Neo'}),
    (Morpheus:Crew {name: 'Morpheus'}),
    (Trinity:Crew {name: 'Trinity'}),
    // Relationships
    (Neo)-[:KNOWS]->(Morpheus),
    (Neo)-[:LOVES]->(Trinity),

Note that by default ipython-cypher will connect to http://localhost:7474/db/data.

Queries results can be stored in a variable and then converted to a Pandas DataFrame:

results = %cypher MATCH (a)-[]-(b) RETURN a, b
results.get_dataframe()

Or to a NetworkX MultiDiGraph:

results.get_graph()

For more detailed descriptions, please visit the official documentation.