К сожалению, это немного сбивает с толку. take()
не является шагом Гремлин. Вместо этого это функция Groovy, которая применяется к концу обхода (который сам по себе является Iterator
). Почти так же, как вы можете использовать take()
в конце обхода, вы можете использовать другие функции Groovy:
gremlin> g.V().take(1)
==>v[1]
gremlin> g.V().collect{it.value('name')}
==>marko
==>vadas
==>lop
==>josh
==>ripple
==>peter
Конечно, если вы используете функцию Groovy для обработки конвейера, вы не сможете вернуться к шагам Gremlin:
gremlin> g.V().take(1).out()
No signature of method: org.codehaus.groovy.runtime.DefaultGroovyMethods$TakeIterator.out() is applicable for argument types: () values: []
Possible solutions: sum(), sort(), sort(groovy.lang.Closure), sort(java.util.Comparator), count(java.lang.Object), count(groovy.lang.Closure)
Type ':help' or ':h' for help.
Display stack trace? [yN]
, поэтому вы бы предпочли limit(1)
:
gremlin> g.V().limit(1).out()
==>v[3]
==>v[2]
==>v[4]
Конечно, если вы не используете Groovy и программируете в среде Java, тогда будет очевидно, что take()
и другие подобные функции не будут вам доступны.