Как избежать декартового произведения при запросе пути между любыми двумя узлами?

У меня есть два типа узлов в моем графике. 70k ARTICLE, 10k DOCTOR и 20K отношений между узлами. Я хочу запросить все кратчайшие пути на графике, а затем отфильтровать самый длинный путь 2. Но в плане запроса есть декартово произведение, а производительность слишком низкая... Мой шифровый запрос выглядит так:

Match p = shortestPath( (a:DOCTOR)-[n:IS_AUTHOR*1..]-(b:DOCTOR) )
with a,b,p,length(p) AS length
order by length(p) DESC limit 3
RETURN nodes(p)

Что я могу сделать, чтобы настроить производительность при использовании глобального запроса графа? Это мой план запроса: план запроса

0 ответов

Другие вопросы по тегам