1

我正在尝试使用neo4j-rest-graphdb-2.0.0-M06.jar通过 java 通过REST API执行Cypher 查询。来自http://m2.neo4j.org/content/repositories/releases/org/neo4j/neo4j-rest-graphdb/2.0.0-M06/neo4j-rest-graphdb-2.0.0-M06.jar

我使用的java代码是:

RestAPI graphdb1 = new RestAPIFacade(dbpath);
QueryEngine engine1 = new RestCypherQueryEngine(graphdb1);
String cypherQuery= "match (X)-[:rel1]-(Y) where X:LABEL_X and Y:LABEL_Y return X.id,X.name";       
engine1.query(cypherQuery, Collections.EMPTY_MAP);

我得到一个例外:

Exception in thread "main" 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.ExecutingRestRequest.toMap(ExecutingRestRequest.java:212)
    at org.neo4j.rest.graphdb.ExecutingRestAPI.query(ExecutingRestAPI.java:544)
    at org.neo4j.rest.graphdb.ExecutingRestAPI.query(ExecutingRestAPI.java:564)
    at org.neo4j.rest.graphdb.RestAPIFacade.query(RestAPIFacade.java:234)
    at org.neo4j.rest.graphdb.query.RestCypherQueryEngine.query(RestCypherQueryEngine.java:50)
    at com.unmetric.graph.test.GraphConnectTest.testRestApi(GraphConnectTest.java:39)
    at com.unmetric.graph.test.GraphConnectTest.main(GraphConnectTest.java:26)
**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.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2718)
    at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1863)
    at org.neo4j.rest.graphdb.util.JsonHelper.readJson(JsonHelper.java:55)
    ... 10 more
4

1 回答 1

2

我遇到了完全相同的问题。经过3个小时的调试,终于找到了问题所在:

RestAPI graphdb1 = new RestAPIFacade(dbpath);

您不仅需要提供 dbpath,还需要提供您的用户名和密码(默认用户名和密码都是 neo4j)

RestAPI graphdb1 = new RestAPIFacade(dbpath, "neo4j", "neo4j");
于 2015-07-08T16:34:32.123 回答