2017-01-02 1 views
0

Моего запроса, чтобы найти максимальную глубину графа, как это:Максимальная длина связи в нескольких реляционных графе

match (n)<-[rel:shares|comments*0..]-(m) where id(n)=69 return max(length(rel)) 

Проблемы с этим она принимает навсегда вернуть глубину. Любое предложение ускорить это?

ответ

1

Насколько плотен ваш узел?

MATCH (n) WHERE id(n) = 69 
RETURN size((n)--()) 

length() функция не распространяются на отношения или сборниках отношений, вы можете использовать его на пути или использовать size() по сбору отношений

MATCH (n) WHERE id(n) = 69 
MATCH p=(n)<-[:shares|:comment*]-(x) 
RETURN max(length(p)) 

или

MATCH (n) WHERE id(n) = 69 
MATCH p=(n)<-[rel:shares|:comment*]-(x) 
RETURN max(size(rel)) 

Было бы неплохо, если бы вы могли поделиться профилем плана запроса.

Обратите внимание, что на больших графиках это может быть операция huuuge и может потребовать хорошей машины для вычисления в разумное время.

 Смежные вопросы

  • Нет связанных вопросов^_^