1

I'm unable to connect to Neo4j using neo4j-python-driver version 5.3.0. Requirement is using Neo4j python driver to query NEO4J DB using cypher queries. It gives the error failed to connect to server even when the database is up and running and i can able to login and use through NEO4J Desktop. Getting below error

neo4j.exceptions.ServiceUnavailable: Couldn't connect to <URI>:7687 (resolved to ()):
[SSLCertVerificationError] Connection Failed. Please ensure that your database is listening on the correct host and port and that you have enabled encryption if required. Note that the default encryption setting has changed in Neo4j 4.0. See the docs for more information. Failed to establish encrypted connection. (code 1: Operation not permitted)

Note : URI hided in the above error.

I have added the exception to Ignores certificate verification issue, but it won't solve the issue.

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

Appreciate your help to resolve the issue.

i'm connecting via below snippet

from neo4j import GraphDatabase
import urllib3

#Ignores certificate verification issue
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)


# Initialize connection to database
driver = GraphDatabase.driver('bolt+s://<URI>:7687', auth=(',username', '<password'))


query = 'match (n:Event{name:"test"}) return n'

#Run Cypher query
with driver.session() as session:
    info = session.run(query)
    for item in info:
        print(item)
Tono Kuriakose
  • 718
  • 6
  • 19
  • Were you still encountering this issue? I just tried connecting to a local Neo4j DB with the v5.5.0 driver without a problem. – Jalakoo Feb 03 '23 at 17:33

2 Answers2

1

No way to know how you are connecting, but we do:

from neo4j import GraphDatabase
address="bolt://localhost:7687"
auth=('neo4j', "password")
driver = GraphDatabase.driver(address, auth=auth, encrypted=False)
....
Gonzalo Odiard
  • 1,238
  • 12
  • 19
0

Have you tried py2neo? I use below with dev running in docker and prod running Aura.

from py2neo import Graph
self.graph = Graph(os.getenv('DB_URI'), auth=(
            os.getenv('DB_USER'), os.getenv('DB_PASS')))

DB_URI is 'neo4j://0.0.0.0:7687' on dev and 'neo4j+s://xxxx' on prod

BispensGipsGebis
  • 399
  • 6
  • 13