Neo4j Cypher cell and line magic for IPython, Pandas, NetworkX and matplotlib
Project description
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.
News
0.2.0
Release date: 20-Feb-2015
Added documentation.
Added option to run Cypher queries outside IPython
Added a better graph plot algorithm for matplotlib.
0.1.0
Release date: 17-Nov-2014
First public release of ipython-cypher