Python中的ipython cypher:cypher.run.Connection对象参数

Python中的ipython cypher:cypher.run.Connection对象参数,python,neo4j,ipython,cypher,Python,Neo4j,Ipython,Cypher,我试图使用ipython-cypher在Python程序中运行Neo4j-cypher查询(并返回Pandas数据帧)。使用IPython Notebook时,我在建立连接和运行查询方面没有问题,但根据文档,当我尝试在IPython之外运行相同的查询时: 我得到以下错误: neo4jrestclient.exceptions.StatusException:代码[401]:未经授权。无权限--请参阅授权方案。 需要授权 及 格式:(http | https)://用户名:password@ho

我试图使用ipython-cypher在Python程序中运行Neo4j-cypher查询(并返回Pandas数据帧)。使用IPython Notebook时,我在建立连接和运行查询方面没有问题,但根据文档,当我尝试在IPython之外运行相同的查询时:

我得到以下错误: neo4jrestclient.exceptions.StatusException:代码[401]:未经授权。无权限--请参阅授权方案。 需要授权

格式:(http | https)://用户名:password@hostname:port/db/name,或其中一个dict_键([])

现在,我只是猜测这就是我应该如何输入连接对象作为最后一个参数,因为我找不到任何解释如何使用Python连接到远程主机的其他文档,在IPython中,我能够做到:

%load_ext cypher
results = %cypher http://XXX.XXX.X.XXX:xxxx MATCH (n)--(m) RETURN n.username, 
count(m) as neighbors

如有任何见解,将不胜感激。谢谢。

文档中有一节介绍。在IPython之外使用并且需要连接到其他主机时,只需使用参数
conn
并传递字符串即可

import cypher

results = cypher.run("MATCH (n)--(m) RETURN n.username, count(m) as   neighbors",
                     conn="http://XXX.XXX.X.XXX:xxxx")

还考虑到NeN4J 2.2中新的身份验证支持,您需要在从<代码> IPython Cyfer-连接之前设置新密码。只要我在下面的库

neo4jrestclient
中实现强制密码更改机制,我就会解决这个问题。

感谢您为我指出API和conn参数。当我添加它时,我得到AttributeError:“str”对象没有属性“session”,但我认为这与我没有设置新密码有关。我不知道怎么做,但我会到处看看。再次感谢您的回复。现在这是我的一个错误。它现在应该在新的0.2.2中修复。至于身份验证,请尝试浏览
http://XXX.XXX.X.XXX:xxxx
,更改用户的密码
neo4j
,然后将其添加到
ipython-cypher
conn
参数中的主机URI中:
http://neo4j:password@三十、 XXX.X.XXX:xxxx
import cypher

results = cypher.run("MATCH (n)--(m) RETURN n.username, count(m) as   neighbors",
                     conn="http://XXX.XXX.X.XXX:xxxx")