升级到Neo4j 3.2后,我的所有HTTP Transactional API查询都失败了

时间:2017-06-11 12:39:17

标签: neo4j

3.2是API破解版吗? 不可以。次要版本是弃用功能和功能的地方,其中包括公共API。但是,在主要版本发布之前,我们不会删除已弃用的功能。

将我的数据库从3.1.5升级到3.2是成功的,但几乎从我的应用程序到Neo4j的每个HTTP API查询都失败了。

例如:

  

2017-06-11 12:01:20.808 + 0000 ERROR无法生成JSON输出。能够   不要启动对象,期望字段名称为mmneo_1 |   org.codehaus.jackson.JsonGenerationException:无法启动对象,   期待字段名称

在成功的查询中,返回的结果不是查询的结果,而是来自计划者的警告:

&{200 OK 200 HTTP/1.1 1 1 map[Access-Control-Allow-Origin:[*] Retry-Count:[0] Server:[Jetty(9.2.9.v20150224)] Date:[Sun, 11 Jun 2017 12:01:20 GMT] Content-Type:[application/json]] {{"results":[{"columns":["newSession"],"data":[]}],"notifications":[{"code":"Neo.ClientNotification.Statement.PlannerUnavailableWarning","severity":"WARNING","title":"The RULE planner is not available in the current CYPHER version, the query has been run by an older CYPHER version.","description":"CREATE UNIQUE is unsupported for current CYPHER version, the query has been execute by an older CYPHER version","position":{"offset":100,"line":4,"column":1}}],"errors":[]}} -1 [] true false map[] 0xc420234300 <nil>} {"results":[{"columns":["newSession"],"data":[]}],"notifications":[{"code":"Neo.ClientNotification.Statement.PlannerUnavailableWarning","severity":"WARNING","title":"The RULE planner is not available in the current CYPHER version, the query has been run by an older CYPHER version.","description":"CREATE UNIQUE is unsupported for current CYPHER version, the query has been execute by an older CYPHER version","position":{"offset":100,"line":4,"column":1}}],"errors":[]}

IMO,发行说明和特别是升级说明很难过,基本上是循环引用。

我确信这是愚蠢的,但老实说,我希望它能够奏效。我多么愚蠢?

1 个答案:

答案 0 :(得分:3)

RULE规划器不再与3.2 Cypher查询一起使用。 startcreate unique是依赖规则规划者的两个条款。

从您的查询中删除这些(使用MERGE而不是CREATE UNIQUE),或在CYPHER前添加CYPHER 3.1

修改

...那就是说,版本3.2.x应该自动回到RULE规划器和规划器3.1版本的这些类型的查询(在3.2.0中有这个问题,虽然我不确定如果问题是浏览器或更深层次的东西)。根据您的描述,它看起来正在发生,但错误对于预期输出而言并不是非常友好。我建议在GitHub上为此创建一个问题。

相关问题