【问题标题】:Neo4j unable to connect to graph database serverNeo4j 无法连接到图形数据库服务器
【发布时间】:2016-06-08 08:52:47
【问题描述】:

我正在使用示例脚本连接到 neo4j 服务器,然后运行查询。但是我收到了这个错误:

C:\cygwin\lib\python2.7\site-packages\neo4j\v1\session.py:94: UserWarning: Bolt over TLS 仅在 Python 2.7.9+ 和 Python 3.3+,所以通信不安全

warn("Bolt over TLS 仅在 Python 2.7.9+ 和 Python 中可用 3.3+ "

Traceback(最近一次调用最后一次):文件 “C:\Users\FTS.fts-gnosis\workspace\hello1\tester.py”,第 3 行,在 session = driver.session() 文件“C:\cygwin\lib\python2.7\site-packages\neo4j\v1\session.py”,第 148 行, 在会话中 session = Session(self) 文件“C:\cygwin\lib\python2.7\site-packages\neo4j\v1\session.py”,第 461 行, 在 初始化 self.connection = connect(driver.host, driver.port, driver.ssl_context, **driver.config) 文件 “C:\cygwin\lib\python2.7\site-packages\neo4j\v1\connection.py”,行 384,连接中 s = create_connection((host, port)) 文件“C:\Python27\lib\socket.py”,第 553 行,在 create_connection 对于 getaddrinfo(host, port, 0, SOCK_STREAM) 中的 res:

socket.gaierror: [Errno 11004] getaddrinfo 失败

示例代码:

from neo4j.v1 import GraphDatabase, basic_auth
driver = GraphDatabase.driver("bolt://http://localhost:7474",             auth=basic_auth("neo4j", "neo"))
session = driver.session()
result = session.run("MATCH (label:OFFICER)-[r]->()  WHERE label.NAME = 'Prinza Limited' RETURN label,r")
print result
session.close()

【问题讨论】:

    标签: python python-2.7 neo4j


    【解决方案1】:

    驱动只支持Bolt,所以不能http。

    您的连接 uri 混合了两种协议,更改为:

    driver = GraphDatabase.driver("bolt://localhost",auth=basic_auth("neo4j", "neo"))
    session = driver.session()
    

    通常,只需按照存储库自述文件中的示例进行操作,连接 uri 中不应包含 http: https://github.com/neo4j/neo4j-python-driver#example-usage

    【讨论】:

    • 愚蠢的错误。抱歉给您添麻烦
    • @ZohairZahid 如果这解决了您的问题,请接受答案
    • 当您将上下箭头悬停在答案左侧时,应该会出现一个V,点击它应该是绿色的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    • 1970-01-01
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多