py2neo cypher错误:KeyError:"u'cypher"

Dan*_*lva 1 neo4j cypher py2neo

我正在尝试使用py2neo 2.0(和Neo4j 2.1.6)执行cypher查询,但它失败并出现以下错误:

文件"C:\ Envs\project\lib\site-packages\py2neo\core.py",第678行,在密码中

self .__ cypher = CypherResource(metadata ["cypher"],metadata.get("transaction"))KeyError:"u'cypher"

在调试时,我发现元数据属性没有cypher条目,但我想知道如何解决它.

在此输入图像描述

Nic*_*ite 9

py2neo.Graph使用无效URI 初始化时,可以重现此错误:

>>> from py2neo import Graph
>>> graph = Graph('http://localhost:7474')
>>> test = graph.cypher.execute('MATCH n RETURN n LIMIT 5')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/nicole/Envs/squid/lib/python2.7/site-packages/py2neo/core.py", line 678, in cypher
self.__cypher = CypherResource(metadata["cypher"],     metadata.get("transaction"))
KeyError: u'cypher'
Run Code Online (Sandbox Code Playgroud)

也许奈杰尔可以证实,但根据我对py2neo 2.0的经验,你需要用/db/data/端点进行初始化:

>>> from py2neo import Graph
>>> graph = Graph('http://localhost:7474/db/data/')
>>> test = graph.cypher.execute('MATCH n RETURN n LIMIT 5')
Run Code Online (Sandbox Code Playgroud)

  • Nicole是正确的,URI必须包含`/ db/data /`.请注意,使用基URI创建`Graph`的另一种方法是`ServiceRoot('http:// localhost:7474').graph`. (3认同)