All Projects → neo4j → Neo4j Python Driver

neo4j / Neo4j Python Driver

Licence: apache-2.0
Neo4j Bolt driver for Python

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Neo4j Python Driver

seabolt
Neo4j Bolt Connector for C
Stars: ✭ 37 (-93.9%)
Mutual labels:  neo4j, graph-database, cypher
Neo4j 3d Force Graph
Experiments with Neo4j & 3d-force-graph https://github.com/vasturiano/3d-force-graph
Stars: ✭ 159 (-73.81%)
Mutual labels:  cypher, neo4j, graph-database
Movies Java Bolt
Neo4j Movies Example application with SparkJava backend using the neo4j-java-driver
Stars: ✭ 66 (-89.13%)
Mutual labels:  cypher, neo4j, graph-database
Neo4j Graph Algorithms
Efficient Graph Algorithms for Neo4j
Stars: ✭ 713 (+17.46%)
Mutual labels:  cypher, neo4j, graph-database
angular-neo4j
Neo4j Bolt driver wrapper for Angular
Stars: ✭ 18 (-97.03%)
Mutual labels:  neo4j, graph-database, cypher
R2d2 Cypher
Cypher support for the r2d2 connection pool
Stars: ✭ 8 (-98.68%)
Mutual labels:  cypher, neo4j, graph-database
Movies Javascript Bolt
Neo4j Movies Example with webpack-in-browser app using the neo4j-javascript-driver
Stars: ✭ 123 (-79.74%)
Mutual labels:  cypher, neo4j, graph-database
Neo4j sips
Elixir driver for the Neo4j graph database server
Stars: ✭ 78 (-87.15%)
Mutual labels:  neo4j, graph-database, driver
neo4j-faker
Use faker cypher functions to generate demo and test data with cypher
Stars: ✭ 30 (-95.06%)
Mutual labels:  neo4j, graph-database, cypher
Movies Python Bolt
Neo4j Movies Example application with Flask backend using the neo4j-python-driver
Stars: ✭ 197 (-67.55%)
Mutual labels:  cypher, neo4j, graph-database
Bolt sips
Neo4j driver for Elixir
Stars: ✭ 204 (-66.39%)
Mutual labels:  neo4j, graph-database, driver
ml-models
Machine Learning Procedures and Functions for Neo4j
Stars: ✭ 63 (-89.62%)
Mutual labels:  neo4j, graph-database, cypher
Libneo4j Client
neo4j-client -- Neo4j Command Line Interface (CLI)
Stars: ✭ 121 (-80.07%)
Mutual labels:  neo4j, graph-database, driver
Neo4j Tableau
Neo4j Tableau Integration via WDC
Stars: ✭ 56 (-90.77%)
Mutual labels:  cypher, neo4j, graph-database
Neo4j Core
A simple unified API that can access both the server and embedded Neo4j database. Used by the neo4j gem
Stars: ✭ 99 (-83.69%)
Mutual labels:  neo4j, graph-database, driver
Neo4j
Graphs for Everyone
Stars: ✭ 9,582 (+1478.58%)
Mutual labels:  cypher, neo4j, graph-database
Neo4j Etl
Data import from relational databases to Neo4j.
Stars: ✭ 165 (-72.82%)
Mutual labels:  cypher, neo4j, graph-database
Public-Transport-SP-Graph-Database
Metropolitan Transport Network from São Paulo mapped in a NoSQL graph database.
Stars: ✭ 25 (-95.88%)
Mutual labels:  neo4j, graph-database, cypher
NeoClient
🦉 Lightweight OGM for Neo4j which support transactions and BOLT protocol.
Stars: ✭ 21 (-96.54%)
Mutual labels:  neo4j, graph-database, cypher
boltex
Elixir driver for the neo4j bolt protocol
Stars: ✭ 27 (-95.55%)
Mutual labels:  neo4j, graph-database

Neo4j Bolt Driver for Python


This repository contains the official Neo4j driver for Python. Each driver release (from 4.0 upwards) is built specifically to work with a corresponding Neo4j release, i.e. that with the same major.minor version number. These drivers will also be compatible with the previous Neo4j release, although new server features will not be available.

  • Python 3.9 supported.
  • Python 3.8 supported.
  • Python 3.7 supported.
  • Python 3.6 supported.
  • Python 3.5 supported.

Python 2.7 support has been dropped as of the Neo4j 4.0 release.

Installation

To install the latest stable version, use:

.. code:: bash

pip install neo4j

Quick Example

.. code-block:: python

from neo4j import GraphDatabase

driver = GraphDatabase.driver("neo4j://localhost:7687", auth=("neo4j", "password"))

def add_friend(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_friend, "Arthur", "Guinevere")
    session.write_transaction(add_friend, "Arthur", "Lancelot")
    session.write_transaction(add_friend, "Arthur", "Merlin")
    session.read_transaction(print_friends, "Arthur")

driver.close()

Connection Settings Breaking Change

  • The driver’s default configuration for encrypted is now false (meaning that driver will only attempt plain text connections by default).

  • Connections to encrypted services (such as Neo4j Aura) should now explicitly be set to encrypted.

  • When encryption is explicitly enabled, the default trust mode is to trust the CAs that are trusted by operating system and use hostname verification.

  • This means that encrypted connections to servers holding self-signed certificates will now fail on certificate verification by default.

  • Using the new neo4j+ssc scheme will allow to connect to servers holding self-signed certificates and not use hostname verification.

  • The neo4j:// scheme replaces bolt+routing:// and can be used for both clustered and single-instance configurations with Neo4j 4.0.

See, https://neo4j.com/docs/migration-guide/4.0/upgrade-driver/#upgrade-driver-breakingchanges

See, https://neo4j.com/docs/driver-manual/current/client-applications/#driver-connection-uris for changes in default security settings between 3.x and 4.x

Connecting with Python Driver 4.x to Neo4j 3.5

Using the Python Driver 4.x and connecting to Neo4j 3.5 with default connection settings for Neo4j 3.5.

.. code-block:: python

# the preferred form

driver = GraphDatabase.driver("neo4j+ssc://localhost:7687", auth=("neo4j", "password"))

# is equivalent to

driver = GraphDatabase.driver("neo4j://localhost:7687", auth=("neo4j", "password"), encrypted=True, trust=False)

Connecting with Python Driver 1.7 to Neo4j 4.x

Using the Python Driver 1.7 and connecting to Neo4j 4.x with default connection settings for Neo4j 4.x.

.. code-block:: python

driver = GraphDatabase.driver("neo4j://localhost:7687", auth=("neo4j", "password"), encrypted=False)

Other Information

  • The Neo4j Operations Manual_
  • The Neo4j Drivers Manual_
  • Python Driver API Documentation_
  • Neo4j Cypher Refcard_
  • Example Project_
  • Driver Wiki_ (includes change logs)
  • Neo4j 4.0 Migration Guide_

.. _The Neo4j Operations Manual: https://neo4j.com/docs/operations-manual/current/ .. _The Neo4j Drivers Manual: https://neo4j.com/docs/driver-manual/current/ .. _Python Driver API Documentation: https://neo4j.com/docs/api/python-driver/current/ .. _Neo4j Cypher Refcard: 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 .. _Neo4j 4.0 Migration Guide: https://neo4j.com/docs/migration-guide/4.0/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].