我正在运行一个木星笔记本对接实例(https://github.com/jupyter/docker-stacks/tree/master/all-spark-notebook),我已经在它上安装了py2neo。
我还运行了一个带有端口7474的Neo4J安装的码头容器。
问题是,我似乎无法从笔记本接口连接到Neo4J对接器的REST接口。我认为问题与本地主机的定义有关。
到目前为止起作用了。我只使用了Neo4J接口,并启动了一个本地笔记本(IPython记事本),然后进行了以下工作:
import py2neo
from py2neo import Node, Relationship, Graph, authenticate
authenticate("http://localhost:7474", "neo4j", "admin")
graph = Graph('http://localhost:7474/db/data')
graph.cypher.execute('match (y:Year) return y')
由于localhost的定义是不一样的,同样的代码不适用于在单独的坞容器中运行的记事本。但现在我不明白它应该是什么
我使用了对接器检查Neo4J容器上的,并使用以下两种方法试图找到与本地主机对应的地址:
但两者都会导致ClientError: 401 Unauthorized
关于如何克服这个问题,有什么建议吗?(请注意,我目前的对接版本是1.7.1,因此还不支持网络,但如果有必要,我显然可以升级。)
发布于 2016-01-05 09:07:32
graph = Graph('https://' + username + ':' + pwd + '@' + ip_neo + ':7473 /db/data')
这似乎很管用。注意,您需要端口7473,这是标准的HTTPS端口。无法成功地使用身份验证方法来工作。
对于ip_neo,我检查neo4J停靠实例:
sudo docker inspect neo4j | grep "Gateway"
https://stackoverflow.com/questions/34160410
复制相似问题