2016-11-27 6 views

ответ

3

То, что возвращается последним шагом count(), является обходом, который предоставляет интерфейс итератора, который может использоваться для извлечения результатов.

Если ваша цель состоит в том, чтобы сосчитать все затраченные края всех вершин в графе, возвращает этот один номер, и сравнить, что на 0, это будет работать:

gremlin> g.V().out().count().next()==0 
==>false 

Если ваша цель состоит в том, чтобы сделать сравнение с 0 в пределах языка Gremlin, то есть() шаг может быть использован для проверки числа на равенство:

gremlin> g.V().out().count().is(0) 
==>v[2] 
==>v[3] 
==>v[5] 

Если вы хотите напечатать булевы результаты:

gremlin> g.V().choose(out().count().is(0), constant(true), constant(false)) 
==>false 
==>true 
==>true 
==>false 
==>true 
==>false 

Или, может быть, вернуть карты с каждой вершиной и ее результатом?

gremlin> g.V().as('a').choose(out().count().is(0), constant(true), constant(false)).as('b').select('a','b') 
==>[a:v[1],b:false] 
==>[a:v[2],b:true] 
==>[a:v[3],b:true] 
==>[a:v[4],b:false] 
==>[a:v[5],b:true] 
==>[a:v[6],b:false] 
0

Вы можете просто цепь .hasNext() вам Traversal, так как это итератор.

Начиная с пустого графа:

gremlin> graph = TinkerGraph.open() 
==>tinkergraph[vertices: 0 edges:0] 
gremlin> g = graph.traversal() 
==>graphtraversalsource[tinkergraph[vertices: 0 edges:0], standard] 
gremlin> g.V().hasNext() 
==>false 

Давайте добавим одну вершину

gremlin> g.addV('name', 'Alice') 
==>v[0] 
gremlin> g.V().out().hasNext() 
==>false 
gremlin> g.V().hasNext() 
==>true 

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

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