Эффективный запрос гремлина для поиска цикла в графе

У меня есть большой TinkerGraph (~80 000 вершин, ~160 000 ребер), и мне нужно определить, есть ли в нем цикл, используя язык запросов Apache TinkerPop/Gremlin. Если есть, я хотел бы получить вершины одного из циклов.

Есть ли способ написать запрос O(|V| + |E|) gremlin, чтобы найти циклический путь в графе?

Я попытался использовать запросы из здесь и здесь, но они слишком медленные и время ожидания истекло. Я подозреваю, что они не O(|V| + |E|), но я все еще изучаю TinkerPop и не могу оценить сложность памяти/времени реализации TinkerGraph.


person Federico    schedule 14.03.2017    source источник
comment
Я считаю, что это аналогичный вопрос. Может быть, это может вдохновить на решение вашей проблемы?   -  person Filipe Teixeira    schedule 14.03.2017
comment
Я работаю над этим, спасибо. В этом ответе используются несколько новых для меня функций гремлина (например, select(all, ...))   -  person Federico    schedule 14.03.2017
comment
Этот конкретный ответ также более подробно описан здесь   -  person stephen mallette    schedule 14.03.2017
comment
Ой ну спасибо! Я смотрел на старую версию 3.2.1   -  person Federico    schedule 14.03.2017