无法使用 Neo4j Rest API 添加标签 - 读取为 JSON 时出错



neo4j rest api在尝试添加标签时抛出运行时异常(错误读取为JSON")。

我当前设置的

<dependency> 
<groupId>org.neo4j</groupId> 
<artifactId>neo4j-rest-graphdb</artifactId> 
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.neo4j.app</groupId>
<artifactId>neo4j-server</artifactId>
<version>2.0.0</version>
</dependency>

尝试创建新节点并添加属性和标签的代码。当我们尝试添加标签时,会引发运行时异常。不过回滚操作正常。API似乎正在尝试获取尚未创建的资源的详细信息,并尝试解析响应。

try ( Transaction tx = db.beginTx() ) {
//create new user
Node userNode = db.createNode();
userNode.setProperty( "id", id );
userNode.addLabel(DynamicLabel.label("GuestUser")); //throws runtime exception
tx.success();
}

堆栈跟踪

java.lang.RuntimeException: Error reading as JSON ''
at org.neo4j.rest.graphdb.util.JsonHelper.readJson(JsonHelper.java:57)
at org.neo4j.rest.graphdb.util.JsonHelper.jsonToSingleValue(JsonHelper.java:62)
at org.neo4j.rest.graphdb.RequestResult.toEntity(RequestResult.java:114)
at org.neo4j.rest.graphdb.RequestResult.toMap(RequestResult.java:120)
at org.neo4j.rest.graphdb.ExecutingRestAPI.getData(ExecutingRestAPI.java:501)
at org.neo4j.rest.graphdb.RestAPIFacade.getData(RestAPIFacade.java:179)
at org.neo4j.rest.graphdb.entity.RestEntity.getStructuralData(RestEntity.java:75)
at org.neo4j.rest.graphdb.entity.RestNode.labelsPath(RestNode.java:188)
at org.neo4j.rest.graphdb.entity.RestNode.addLabel(RestNode.java:147)
Caused by: java.io.EOFException: No content to map to Object due to end of input
at org.codehaus.jackson.map.ObjectMapper._initForReading(ObjectMapper.java:2775)
...
at org.neo4j.rest.graphdb.util.JsonHelper.readJson(JsonHelper.java:55)
... 43 more

到目前为止,有人见过这个问题吗。

这是一个问题,因为那些"伪"事务只聚合操作,以便在提交时一次发送它们。

所以你不能"阅读你的文章",也不能对它们做出决定。

addLabel操作使用从还不存在的节点的结构信息返回的路径。

不认为它值得修复。如果你这么认为,请在https://github.com/neo4j/java-rest-binding/issues

最新更新