我做了什么:
我这样做了如下:
void query()
{
ExecutionResult result;
Transaction tx=null;
ExecutionEngine engine = new ExecutionEngine( graphDb );
try
{
String name="Female";
tx=graphDb.beginTx();
result=engine.execute("start n=node(*) where has(n.City) with n.City as city, collect(n) as nodelist, count(*) as count where count > 1 return city, nodelist, count");
System.out.println(result.dumpToString());
tx.success();
}
catch(Exception e)
{
tx.failure();
}
finally
{
tx.finish();
}
}
nodelist为我提供了具有相同属性的节点。 我想在这些节点之间建立关系。
如何指向节点列表中的节点? 另外,请建议其他替代方法
答案 0 :(得分:1)
获取nodelist中的节点:
Iterator<Map<String,Object>> it=result.iterator ();
if(it.hasNext()) {
Map<String,Object> row=it.next();
List<Node> nodelist=(List<Node>) row.get("nodelist");
}
您尚未指定要创建的关系类型 - 请查看Create or Merge,如果适用,Foreach - 也许您可以编写一个Cypher查询来完成所有操作。