繁体   English   中英

Neo4j:使用Java检索的节点之间生成关系

[英]Neo4j:Generate relationship between nodes retrieved using Java

我做了什么:

  • 我创建了具有多个属性的节点,例如name,Age,Location,Gender等。
  • 我想检索具有匹配属性值的节点并在它们之间创建关系。(例如,具有相同年龄或相同位置的节点)。

我这样做如下:

   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();
    }

}

节点列表为我提供了具有相同属性的节点。 我想在这些节点之间创建关系。

如何指向节点列表中的节点? 另外,请提出其他替代方法

要掌握节点列表中的节点:

Iterator<Map<String,Object>> it=result.iterator ();
if(it.hasNext()) {
  Map<String,Object> row=it.next();
  List<Node> nodelist=(List<Node>) row.get("nodelist");
}

您尚未指定要创建哪种类型的关系-查看“ 创建”或“合并” ,如果适用,还查看Foreach-也许您可以编写一个Cypher查询来完成所有这些工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM