Skip to content

versae/ipython-cypher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ipython-cypher

Author: Javier de la Rosa, https://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 https://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.