Несколько команд gremlin объединены в одну
Я использую nodejs
, neo4j
с node-neo4j
и пытается поставить несколько gremlin
командовать вместе
и я застрял с этой проблемой
если я выполняю команды одну за другой, как
x = [] as Set
y = [] as Set
g.v(id1).both('friend').aggregate(x)
g.v(id2).both('friend').aggregate(y)
x.retainAll(y);
x
все работает нормально и возвращается список узлов
с другой стороны, если я напишу это как
x = [] as Set;y = [] as Set;g.v(id1).both('friend').aggregate(x);g.v(id2).both(
'friend').aggregate(y);x.retainAll(y);x
ничего не возвращается
прочитайте ответ здесь, который говорит, что
если ваша последняя команда не является итератором, вам придется вручную выполнить итерацию последовательности
но не знаю, как применить это в моем случае.
1 ответ
Решение
Упс!
мне не хватало очень простой вещи .iterate()
эта команда сейчас работает
x = [] as Set;y = [] as Set;g.v(id1).both('friend').aggregate(x).iterate();g.v(id2).both('friend').aggregate(y).iterate();x.retainAll(y);x