有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从Neo4j查询中获取列表

我想创建一个节点子节点的json。我使用此命令获取特定节点的所有子节点:

match(t:TAG)<-[children:CHILD_OF]-(subtag:TAG) where t.name="brand" 
return t.eid as parent, collect(subtag.eid) as child

我得到的结果如下:

6aada019f7312fb1    [967b5461b2ff7c0b, a81e1772e4f9f7ef, 3dfbbd025548c0972a372a88e7de626af, 2009a1e160299c775d2ff15786ce33208, 2342ee1b2d940ef949442445eff52081c, 0b0f878f-5061-48e9-90db-8c64aa9f8982, 81692c4c-8acb-4aea-b985-ae493a1b9b67, e21c063c-7432-4094-85ac-16bf02f92a8e, 6fc485a0-5a05-49d0-a061-091077a95af7]

我现在想访问java中的孩子列表

 String query = "match(t:TAG)<-[children:CHILD_OF]-(subtag:TAG) where t.name=\"brand\" return t.name as parent, subtag.name as child";
        Iterable<Map<String, Object>> itr = Neo4j.queryLagData(query, null);
 for(Map m : itr){
            String parent = (String)m.get("parent");
            String children = (String)m.get("child");

        }

我现在应该把孩子们的绳子分开吗?或者有没有一个方法可以直接给我一个孩子的列表,或者有一个方法可以直接给我一个json的孩子


共 (1) 个答案

  1. # 1 楼答案

    。“子”字段应该是字符串列表。 .您应该为标记名使用一个参数,比如{name} .您可以将迭代和查询结合起来

    String query = "match(t:TAG)<-[children:CHILD_OF]-(subtag:TAG) where t.name={name} "+
                   "return t.name as parent, collect(subtag.name) as children";
    for(Map row : Neo4j.queryLagData(query, singletonMap("name","brand"))) {
        String parent = (String)row.get("parent");
        List<String> children = (List<String>)row.get("children");
    }