Gremlin 关于repeat()功能的查询。直到()为止

Gremlin 关于repeat()功能的查询。直到()为止,gremlin,Gremlin,数据: 查询: gremlin> g.V(1).repeat(both()).until(hasLabel("person")).path().by("name") ==>[marko,vadas] ==>[marko,josh] ==>[marko,lop,marko] ==>[marko,lop,josh] ==>[marko,lop,peter] 怎么说: …如果until()位于repeat()之后,则为do/while循环。如果直到() 在repe

数据:

查询:

gremlin> g.V(1).repeat(both()).until(hasLabel("person")).path().by("name")
==>[marko,vadas]
==>[marko,josh]
==>[marko,lop,marko]
==>[marko,lop,josh]
==>[marko,lop,peter]
怎么说:

…如果until()位于repeat()之后,则为do/while循环。如果直到() 在repeat()之前,它是while/do循环

怀疑


在第一次匹配后,直到终止查询,
marko vadas
?还是我遗漏了什么?

它会终止此路径上的遍历器,否则您将得到
[marko,vadas,marko]
下一步。其他路径由其他遍历器找到。如果只关心第一条路径,请添加
.limit(1)


它将终止此路径上的遍历器,否则您将获得下一个
[marko,vadas,marko]
。其他路径由其他遍历器找到。如果只关心第一条路径,请添加
.limit(1)

gremlin> g.V(1).repeat(both()).until(hasLabel("person")).limit(1).path().by("name")
==>[marko,vadas]