![](/img/trans.png)
[英]Gremlin Python: Returning vertex IDs and edge properties in a list
[英]Returning edge properties in gremlin using tree function
詢問
g.withSack(0).V().hasLabel('A').has('label_A','A').union(__.emit().repeat(sack(sum).by(constant(1)).in()),emit().repeat(sack(sum).by(constant(-1)).out())).project('level','properties').by(sack()).by(tree().by(valueMap().by(unfold())).unfold().unfold())
Output
[
{
"level": 0,
"properties": {
"key": {
"label_A": "A"
},
"value": {}
}
},
{
"level": 1,
"properties": {
"key": {
"label_A": "A"
},
"value": {
"{label_B="B"}": {}
}
}
},
{
"level": 2,
"properties": {
"key": {
"label_A": "A"
},
"value": {
"{label_B=B}": {
"{label_C=C}": {}
}
}
}
},
查詢僅返回節點的屬性。 請修改查詢,使其分別以樹格式返回節點屬性和關系。
如果你想獲得你需要通過它們的邊的屬性,將out
和in
步驟分成outE().inV()
和inE().outV()
。 然后樹步驟將考慮到它們。
此外,如果您想在邊緣指定返回值,您可以將第二by
調制器添加到樹步驟。
g.withSack(0).V().hasLabel('material').
has('label_A', 'A').union(
__.emit().repeat(sack(sum).
by(constant(1)).
inE().outV()),
emit().repeat(sack(sum).
by(constant(-1)).
outE().inV())
).
project('level', 'properties').by(sack()).
by(tree().
by(valueMap().by(unfold())).
by(valueMap()))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.