gpt4 book ai didi

java - 从 Neo4j 查询获取列表

转载 作者:行者123 更新时间:2023-12-01 10:06:41 25 4
gpt4 key购买 nike

我想创建一个节点子节点的 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访问 child 的列表。

 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");

}

我现在应该把 children 的绳子分开吗?或者是否有一种方法可以直接给我一个子项列表,或者一个方法可以直接给我一个 json 形式的子项?

最佳答案

。您的“子”字段应该是字符串列表。。您应该使用标签名称参数,例如 {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");
}

关于java - 从 Neo4j 查询获取列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36401341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com