已知一个树的父节点和叶子节点的类型,想查询从父节点到叶子节点的所有路径,有更好一点的方案吗?现在的速度是1.2s左右

现在我的思路是把所有的叶子节点枚举出来,然后通过find all path的方式指定dst节点和src节点,查询所有的路径

现在的语句:
lookup on leafNode yield id(vertex) as tar |
FIND ALL PATH WITH PROP FROM “parentNode” TO $-.tar OVER * REVERSELY YIELD PATH as p

叶子类型的节点的数量300个左右
所有节点的数量在40w个左右

时长在1.2s左右

请问下还有什么更好的方案吗?

不要属性的话应该会快些

另外,还有下面这个参数可以调下

需要属性做展示和分析,调整了thread参数以后从1.2s提升到1s左右了,感谢!

1 个赞

你属性做展示和分析是点击/鼠标移动以后出来,还是默认就展示了?
如果是前者的话,你可以等到点击或者鼠标移上去以后再触发一次查询。这个查询效率是很高的

另外,看了你的需求,想问下你是要呈现出图来,还是要呈现出具体的一条条路径?如果只是图的话,或许用get subgraph也能满足你的需求。可以对比下性能哪个更快。

具体的需求是查看所有的路径,并且返回路径上的节点信息,需要一次返回
返回值需要的是路径,所以getsubgraph看起来不太符合要求

你查询完以后是做可视化吗?可视化上会针对不同的路径都展示出来吗?
还是可视化只会显示点和边?

是做一个溯源,每一条路径上节点的信息都是需要的

可能我没表达清楚。
我理解整个路径以及路径上的点都是要在画布上展示的;
但是我理解你画出来的样子应该只是一个图而已

没事,有时间你可以研究下get subgraph

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。