gpt4 book ai didi

java - 在 Neo4j 中找到节点集(某些节点)之间最长路径的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-01 04:14:05 25 4
gpt4 key购买 nike

我有一组将由用户声明的节点(我的意思是用户输入一些单词,而我的节点中存在的单词将包含在我的节点集中),并且我想找到之间存在的最长路径这些节点(不必包括集合中的所有节点,但不应包括我的节点集中不存在的节点)在neo4j嵌入式java数据库中。(我不知道起始节点是什么,所有它们可以作为起始节点。)

首先我想也许我必须制作这些节点和它们之间的关系的子图,然后找到该子图中的最长路径,但我不知道做什么是正确和最好的?

然后我想,我可以直接找到节点集之间的最长路径(可以吗?)。

或者如果这做不到,如何找到某些节点(节点集)的关系并建立一组关系,然后找到这组关系之间的最长路径?

我想要最佳和最快的性能方式,并且我不需要密码查询,因为我使用的是java core api(它更快),所以请告诉我最好的方式是什么?

将其视为一个大型数据库,具有如此多的节点。

提前致谢。

最佳答案

恐怕除了遍历整个图之外,任何标准算法都无法做到这一点。因此,在性能上不存在最佳方法。 neo4j 没有内置选项。

这是一个密码查询(抱歉我不知道 Neo4j 中的其他输入语言):

start n1=node(*), n2=node(user) 
match n1--n2 //filter only the just declared user nodes, or any other matching condition
with n1, n2
match p=n1-[r:..*]-m, m--n2 //all paths between declared user nodes
return p
order by length(r) desc
limit 1

关于java - 在 Neo4j 中找到节点集(某些节点)之间最长路径的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19614641/

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