我正在尝试使用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)
答案 0 :(得分:0)
错误消息中很明显,除非您修改neo4j.conf文件,否则默认的螺栓端口是7687。
尝试将端口80更改为7687,然后尝试
graph = Graph("bolt://bolt.bump.dev.stratified:7687", auth=("neo4j", "bump"), bolt=True)