0

我创建了一个在“a”上分区的空图,并使用以下内容作为种子:

g.addV('person').property('a','1').property('name','person 1').property('number',1)
g.addV('person').property('a','1').property('name','person 2').property('number',2)
g.addV('person').property('a','1').property('name','person 3').property('number',3)

g.V().order().by('number')
returns: person 1, person 2, person 3

g.V().order().by('number').tail(1)
returns: person 1

我希望 .tail() 从列表末尾返回

奇怪的是,当我只选择一个属性时,它就像我预期的那样工作:

g.V().order().by('number').properties('name')
returns: person 1, person 2, person 3

g.V().order().by('number').properties('name').tail(1)
returns: person 3

当我在 tinkerpop gremlin 控制台中尝试相同的操作时,tail(1) 返回两个变体的最后一个条目。

我错过了什么吗?我很难相信这是一个真正的错误。

编辑:.fold().unfold()我已经设法通过做一个之前让它工作.tail()..仍然不知道这里发生了什么..

4

1 回答 1

1

我不确定那里有什么问题,但似乎一定有一个错误,因为 TinkerGraph 显示了你想要的行为(显然这是预期的):

gremlin> g.V().order().by('number').tail(1)
==>v[8]
gremlin> g.V().order().by('number').tail(1).values('name')
==>person 3
gremlin> g.V().order().by('number').tail(1).valueMap(true)
==>[id:8,label:person,a:[1],number:[3],name:[person 3]]

产生影响的事实fold().unfold()(这是明智的尝试)似乎表明存在一些行为不端的 CosmosDB 优化。

于 2019-11-19T17:53:18.890 回答