[英]Formatting CosmosDB Gremlin Query
我是Gremlin和CosmosDB的新手。 我一直在關注tinkerpop教程,並且正在使用TinkerFactory.createModern()測試圖。
我正在尋找的是從cosmosdb返回與此類似的graphson對象。
{
"user": {
"name": "Marko",
"age": 29
},
"knows": [
{"name": "josh", "age": 32},
{"name": "vadas", "age": 27}
],
"created": [
{"name": "lop", "lang": "java"}
]
}
我的想法是嘗試
g.V().has('name', 'marko').as('user').out('knows').as('knows').out('created').as('created').select('user', 'knows', 'created')
我真正得到的回報是在下面的圖片中。 我希望擁有單個用戶對象,並帶有一系列已知對象和軟件對象。
如果可以的話,請您說明需要什么步驟來獲取這種格式。
希望我的問題很清楚,並感謝能提供幫助的任何人=)
您應該使用project()
:
gremlin> g.V().has('person','name','marko').
......1> project('user','knows','created').
......2> by(project('name','age').by('name').by('age')).
......3> by(out('knows').project('name','age').by('name').by('age')).
......4> by(out('created').project('name','lang').by('name').by('lang'))
==>[user:[name:marko,age:29],knows:[name:vadas,age:27],created:[name:lop,lang:java]]
該語法應與CosmosDB一起使用。 在TinkerPop 3.4.0中,事情變得更好一些了,因為您可以更有效地使用valueMap()
了(但是我不認為CosmosDB在此回答時還支持該功能):
gremlin> g.V().has('person','name','marko').
......1> project('user','knows','created').
......2> by(valueMap('name','age').by(unfold())).
......3> by(out('knows').valueMap('name','age').by(unfold())).
......4> by(out('created').valueMap('name','lang').by(unfold()))
==>[user:[name:marko,age:29],knows:[name:vadas,age:27],created:[name:lop,lang:java]]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.