gpt4 book ai didi

java - 查询neo4j java后获取路径

转载 作者:行者123 更新时间:2023-12-02 02:07:08 28 4
gpt4 key购买 nike

我正在尝试执行查询来查找与模式“(订单)-[订单]->(产品)-[PART_OF]->(类别)”相对应的所有可能路径,并希望获得整个路径(即所有 3 个节点和 2 个关系作为其适当的类)。

我下面使用的方法只让我有1列数据(订单数:2155)。如果我再尝试一次(第二个 for 循环),我得到的行数是 0(产品数量:0)。有没有办法将所有结果保存为节点和关系,或者我是否必须查询命令 5 次?请帮忙!

String query = "MATCH (o:Order)-[:ORDERS]->(p:Product)-[:PART_OF]->(cate:Category) return o,p,cate";
try( Transaction tx = db.beginTx();
Result result = db.execute(query) ){
Iterator<Node> o_column = result.columnAs( "o" );
int i = 0;
for ( Node node : Iterators.asIterable( o_column ) )
{
i++;
}
System.out.println("number of orders: " + i);
i = 0;
Iterator<Node> p_column = result.columnAs( "p" );
for ( Node node : Iterators.asIterable( p_column ) )
{
i++;
}
System.out.println("number of products: " + i);

tx.success();
}

最佳答案

我在下面的代码中找到了解决此问题的方法,其中我使用 id() 将返回值更改为节点 ID,然后使用 GraphDatabaseService.getNodeByID(长):

字符串查询 = "MATCH (o:Order)-[:ORDERS]->(p:Product)-[:PART_OF]->(cate:Category) return id(o), id(p) , id(类别)";

int nodeID = Integer.parseInt(column.getValue().toString());
节点node = db.getNodeById(nodeID);

关于java - 查询neo4j java后获取路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50610678/

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