Cosmos DB - Gremlin API 对 .tail() 有奇怪的行为?
Cosmos DB - Gremlin API has weird behavior for .tail()?
我创建了一个在 '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() 到列表末尾 return
奇怪的是,当我 select 只是一个 属性 时,它就像我预期的那样工作:
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) return 是两个变体的最后一个条目..
我错过了什么吗?我很难相信这是一个真正的错误。
编辑: 我设法通过在 .tail()
之前执行 .fold().unfold()
使其工作。仍然不知道这里发生了什么..
我不确定那里的问题是什么,但似乎 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 优化行为不当。
我创建了一个在 '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() 到列表末尾 return
奇怪的是,当我 select 只是一个 属性 时,它就像我预期的那样工作:
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) return 是两个变体的最后一个条目..
我错过了什么吗?我很难相信这是一个真正的错误。
编辑: 我设法通过在 .tail()
之前执行 .fold().unfold()
使其工作。仍然不知道这里发生了什么..
我不确定那里的问题是什么,但似乎 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 优化行为不当。