Найдите минимальную и максимальную длину ребер БД связного графа в гремлине

Я хотел минимальную и максимальную длину двух разных узлов подключенных узлов. У меня есть два разных запроса, но оба медленные, я хочу, чтобы это было быстро.

1-й:> Это дает мне правильный ответ.

g.withSack(0).V().hasLabel("People").as("from","to").
                repeat(both().as("to").dedup("from","to").
                sack(sum).by(constant(1))).
                emit(hasLabel("People")).
                sack().dedup().fold().
                project("min", "max").
                by(choose(count(local).is(0), constant(0), min(local))).
                by(choose(count(local).is(0), constant(0), max(local)))

и

2-й:> Это дает мне добавление от узлов к длине (означает min + 1 и max + 1)

g.V().hasLabel("People")
            .as("from" ,"to" )
            .repeat(both().as("to").dedup("from", "to")).emit(hasLabel("People")).hasLabel("People")
            .select(all, "to").count(local).dedup().as("len").fold()
            .project("min", "max")
            .by(choose(count(local).is(0), constant(0), min(local)))
            .by(choose(count(local).is(0), constant(0), max(local)))

Оба запроса занимают одинаковое время для выполнения, но медленные, как это делает шифрованный запрос neo4j. Время выполнения Gremlin в 50 раз больше, чем у шифровального запроса. Вот шифрованный запрос


person Ravindra Gupta    schedule 29.05.2018    source источник
comment
Какой запрос Cypher вы используете для сравнения? Есть ли шанс, что вы можете добавить это к своему вопросу?   -  person Daniel Kuppitz    schedule 01.06.2018
comment
stackoverflow.com/a/49174562/1897935   -  person Ravindra Gupta    schedule 02.06.2018
comment
Ну тогда это вообще не сравнимо. Вы сравниваете чистое решение запроса с хранимой процедурой (или VertexProgram в терминах TinkerPop). VertexProgram может легко превзойти решение, основанное на чистом запросе, поскольку оно может делать вещи намного эффективнее. В настоящее время я работаю над вице-президентом по кратчайшим путям, но, думаю, потребуется еще некоторое время, прежде чем он станет релизом.   -  person Daniel Kuppitz    schedule 02.06.2018