微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Python与Bolt协议和Neo4j相关的连接问题

如何解决使用Python与Bolt协议和Neo4j相关的连接问题

我正在尝试使用Python连接到Neo4j,但在该行中出现了与Bolt协议相关的错误

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

我使用驱动程序neo4j-driver 4.0.2运行代码。我还尝试了neo4j-driver 4.1.1,但遇到了同样的问题。

我缺少一些配置吗?

解决:我刚刚将neo4j驱动器降级到1.7.6,并且运行良好。我没有做任何其他更改。

Traceback (most recent call last):
  File "C:\Users\Anita Caron\AppData\Local\Programs\Python\python38\lib\site-packages\neo4j\__init__.py",line 194,in bolt_driver
    return BoltDriver.open(target,auth=auth,**config)
  File "C:\Users\Anita Caron\AppData\Local\Programs\Python\python38\lib\site-packages\neo4j\__init__.py",line 357,in open
    pool = BoltPool.open(address,pool_config=pool_config,workspace_config=default_workspace_config)
  File "C:\Users\Anita Caron\AppData\Local\Programs\Python\python38\lib\site-packages\neo4j\io\__init__.py",line 510,in open
    seeds = [pool.acquire() for _ in range(pool_config.init_size)]
  File "C:\Users\Anita Caron\AppData\Local\Programs\Python\python38\lib\site-packages\neo4j\io\__init__.py",in <listcomp>
    seeds = [pool.acquire() for _ in range(pool_config.init_size)]
  File "C:\Users\Anita Caron\AppData\Local\Programs\Python\python38\lib\site-packages\neo4j\io\__init__.py",line 523,in acquire
    return self._acquire(self.address,timeout)
  File "C:\Users\Anita Caron\AppData\Local\Programs\Python\python38\lib\site-packages\neo4j\io\__init__.py",line 395,in _acquire
    connection = self.opener(address,line 507,in opener
    return Bolt.open(addr,timeout=timeout,**pool_config)
  File "C:\Users\Anita Caron\AppData\Local\Programs\Python\python38\lib\site-packages\neo4j\io\__init__.py",line 212,in open
    raise BoltHandshakeError("The Neo4J server does not support communication with this driver. This driver have support for Bolt Protocols {}".format(supported_versions),address=address,request_data=handshake,response_data=data)
neo4j._exceptions.BoltHandshakeError: The Neo4J server does not support communication with this driver. This driver have support for Bolt Protocols dict_keys([Version(3,0),Version(4,0)])

 The above exception was the direct cause of the following exception:
 
 Traceback (most recent call last):   File "src/load_db.py",line 11,in <module>
     driver = GraphDatabase.driver("bolt://localhost:7687","neo4j"))   File "C:\Users\Anita
 Caron\AppData\Local\Programs\Python\python38\lib\site-packages\neo4j\__init__.py",line 181,in driver
    return cls.bolt_driver(parsed.netloc,**config)   File "C:\Users\Anita
 Caron\AppData\Local\Programs\Python\python38\lib\site-packages\neo4j\__init__.py",line 197,in bolt_driver
     raise ServiceUnavailable(str(error)) from error neo4j.exceptions.ServiceUnavailable: The Neo4J server does not support
 communication with this driver. This driver have support for Bolt
Protocols dict_keys([Version(3,0)])

解决方法

请尝试刷新毒物缓存,如本neo4j issue所述。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。