Neo4j Bolt driver for Python
Neo4j Bolt Driver for Python
The Official Neo4j Driver for Python supports Neo4j 3.0 and above and Python versions 2.7, 3.4, 3.5 and 3.6.
.. code-block:: python
from neo4j.v1 import GraphDatabase
driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "password"))
def add_friends(tx, name, friend_name):
tx.run("MERGE (a:Person {name: $name}) "
"MERGE (a)-[:KNOWS]->(friend:Person {name: $friend_name})",
name=name, friend_name=friend_name)
def print_friends(tx, name):
for record in tx.run("MATCH (a:Person)-[:KNOWS]->(friend) WHERE a.name = $name "
"RETURN friend.name ORDER BY friend.name", name=name):
print(record["friend.name"])
with driver.session() as session:
session.write_transaction(add_friends, "Arthur", "Guinevere")
session.write_transaction(add_friends, "Arthur", "Lancelot")
session.write_transaction(add_friends, "Arthur", "Merlin")
session.read_transaction(print_friends, "Arthur")
The driver provides a built-in logging. The following example code enables debug logging and prints out logs at stdout:
.. code-block:: python
from neo4j.util import watch
import logging
from sys import stdout
watch("neo4j.bolt", logging.DEBUG, stdout)
To install the latest stable version, use:
.. code:: bash
pip install neo4j-driver
For the most up-to-date version (generally unstable), use:
.. code:: bash
pip install git+https://github.com/neo4j/neo4j-python-driver.git#egg=neo4j-driver
Neo4j Manual
_Neo4j Quick Reference Card
_Example Project
_Driver Wiki
_ (includes change logs).. _Neo4j Manual
: https://neo4j.com/docs/
.. _Neo4j Quick Reference Card
: https://neo4j.com/docs/cypher-refcard/current/
.. _Example Project
: https://github.com/neo4j-examples/movies-python-bolt
.. _Driver Wiki
: https://github.com/neo4j/neo4j-python-driver/wiki