py2neo-无法查询Bolt服务器,http错误?

时间:2018-10-14 16:02:04

标签: neo4j py2neo

我正在尝试使用py2neo查询Neo4J数据库。我可以创建一个图对象以连接到数据库,但是当我尝试运行查询时,出现错误:

  

py2neo.packages.neo4j.v1.exceptions.ProtocolError:服务器已响应   HTTP。确保您不尝试连接到http端点   (HTTP默认为端口7474,而BOLT默认为端口7687)

我不确定服务器设置是否存在问题,或者我只是缺少一些需要设置的参数才能使一切正常工作。

这是我正在使用的代码:

from py2neo import Graph

graph = Graph("bolt://bolt.bump.dev.stratified:80", auth=("neo4j", "bump"), bolt=True)
data = graph.run("MATCH p=()-[r:ACTED_IN]->() RETURN p LIMIT 25").data()

FWIW,我也尝试过

graph = Graph("bolt://bolt.bump.dev.stratified:7687", auth=("neo4j", "bump"), bolt=True)
data = graph.run("MATCH p=()-[r:ACTED_IN]->() RETURN p LIMIT 25").data()

这是完整的错误消息(任一端口都收到):

  

回溯(最近通话最近):文件   “ /Users/amf111/anaconda3/envs/baily/lib/python3.6/site-packages/py2neo/packages/neo4j/v1/session.py”,   会话中的第124行       session = self.session_pool.pop()IndexError:从空双端队列弹出   发生:回溯(最近一次通话最近):文件   “ /Users/amf111/anaconda3/envs/baily/lib/python3.6/site-packages/IPython/core/interactiveshell.py”,   第2961行,在run_code中       exec(code_obj,self.user_global_ns,self.user_ns)文件“”,第1行,在       数据= graph.run(“ MATCH p =()-[r:ACTED_IN]->()RETURN p LIMIT 25”)。data()File   “ /Users/amf111/anaconda3/envs/baily/lib/python3.6/site-packages/py2neo/database/init.py”,   731行,运行中       返回self.begin(autocommit = True).run(语句,参数,** kwparameters)文件“ /Users/amf111/anaconda3/envs/baily/lib/python3.6/site-packages/py2neo/database/ init .py”,   第370行,开始       返回self.transaction_class(自我,自动提交)文件“ /Users/amf111/anaconda3/envs/baily/lib/python3.6/site-packages/py2neo/database/init.py”,   第1249行,在 init 中       self.session = driver.session()文件“ /Users/amf111/anaconda3/envs/baily/lib/python3.6/site-packages/py2neo/packages/neo4j/v1/session.py”,   会话中的第126行       连接= connect(self.address,self.ssl_context,** self.config)文件“ /Users/amf111/anaconda3/envs/baily/lib/python3.6/site-packages/py2neo/packages/neo4j/v1/bolt .py”,   连接线486       “(HTTP默认为端口7474,而BOLT默认为端口7687)”)py2neo.packages.neo4j.v1.exceptions.ProtocolError:服务器响应   HTTP。确保您不尝试连接到http端点   (HTTP默认为端口7474,而BOLT默认为端口7687)

1 个答案:

答案 0 :(得分:0)

错误消息中很明显,除非您修改neo4j.conf文件,否则默认的螺栓端口是7687。

尝试将端口80更改为7687,然后尝试

graph = Graph("bolt://bolt.bump.dev.stratified:7687", auth=("neo4j", "bump"), bolt=True)