Rest Cypher查询参数 - 从.net到java

时间:2013-04-27 08:15:42

标签: neo4j

我正在尝试使用Rest方法将带有.net参数的cypher查询发送到neo4j服务器

我收到此错误:     

访问/ db / data / cypher时出现问题。原因:     

    java.lang.String cannot be cast to java.util.Map

引起:

    
java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map

This is the Code : DateTime startQueryTime = DateTime.Now; RestClient restClient = new RestClient("http://localhost:7474/db/data/cypher"); restClient.AddDefaultHeader("Accept", "application/json"); restClient.AddDefaultHeader("Content-Type", "application/json"); JObject parameters1 = new JObject(); parameters.Add("startName", "Alon"); RestRequest restRequest = new RestRequest(); ; restRequest.AddParameter("query", "START root=node:Node_Type(Type=\"Person\") where root.Person_Name = {startName} RETURN root limit 20"); restRequest.AddParameter("params", parameters1); IRestResponse restResponse = restClient.Post(restRequest);

提前感谢。

阿龙

2 个答案:

答案 0 :(得分:1)

您的查询结果的格式为Map<String,Object>,而不是String。结果映射包含节点属性名称作为键,其值表示为对象。

答案 1 :(得分:0)

检查您的实际REST传出调用,并确保参数map不是序列化为String而是序列化为JSON Map结构。