我正在使用Neo4j 1.8.RC1,并试图为我的图中的节点生成聚类系数。
我有以下代码,据我所知,它是在Linux系统上工作,但在我的Windows机器上不起作用:
Map<String, Object> params = new HashMap<String, Object>();
String query;
String typeString;
if (type == <some type>) {
typeString = "TYPE1";
}
else {
typeString = "TYPE2";
}
params.put("myid", userid);
query = "start a=node(*) match (a)-[:"+ typeString +"]-(b) WITH a, count(distinct b) as n "
+ "match (a)-[:" + typeString + "]-()-[r:"+ typeString+"]-()-[:"+typeString+"]-(a) where a.thisId! = {myid} return n, count(distinct r) as relcount";
ExecutionEngine engine = new ExecutionEngine(graphDb);
ExecutionResult result = engine.execute(query, params);
当我尝试访问结果时,我得到了
Exception in thread "main" java.lang.RuntimeException: org.neo4j.cypher.ParameterNotFoundException: Expected a parameter named myid
我已经介入并确认它在那里。发生了什么事?
答案 0 :(得分:0)
正如上面的评论所指出的,通过从1.8.RC1更新到1.8.2解决了这个问题。虽然我没有指向错误报告,但这显然是Neo4j中的一个错误,在这些版本之间解决了。