获取具有特定边的顶点 - 删除重复项
Get vertex with particular edges - remove duplicates
我需要导出一些连接到它的顶点。没有任何投影 - 就像它一样(就像数据转储)。
我想要实现的是删除结果中的冗余顶点(json 文档)。
假设有一个图结构:
g.V().has('id', '000-000').as('a').out().as('b').out().as('c').select('a','b','c')
==>[a:v[1],b:v[4],c:v[5]]
==>[a:v[1],b:v[4],c:v[3]]
我希望获得格式如下的结果:
==>[a:v[1],b:v[4],[c:v[5], c:v[3]]]
如果会有更多b
或c
个顶点,类似这样:
==>[a:v[1],[b:v[4],b:v[7]],[c:v[5], c:v[3], c:v[9]]]
只是为了让输出数据(在json)更小。
目前我得到的是这样的东西:
[{
"a": {},
"b4": {},
"c5": {}
},
{
"a": {},
"b4": {},
"c3": {}
}]
并希望拥有:
[{
"a": {},
"b": [
{b4},
{b4}
],
"c": [
{c5},
{c3}
]
]}
我应该使用哪些运算符来实现?
执行此操作的最佳方法是使用 Gremlin 中的 project()
步骤。如果您想要每个字段中的值列表,可以使用 fold()
将它们放入列表中。示例:
g.('000-000').project('a','b','c')
.by()
.by(out().fold())
.by(out().out().fold())
我需要导出一些连接到它的顶点。没有任何投影 - 就像它一样(就像数据转储)。 我想要实现的是删除结果中的冗余顶点(json 文档)。 假设有一个图结构:
g.V().has('id', '000-000').as('a').out().as('b').out().as('c').select('a','b','c')
==>[a:v[1],b:v[4],c:v[5]]
==>[a:v[1],b:v[4],c:v[3]]
我希望获得格式如下的结果:
==>[a:v[1],b:v[4],[c:v[5], c:v[3]]]
如果会有更多b
或c
个顶点,类似这样:
==>[a:v[1],[b:v[4],b:v[7]],[c:v[5], c:v[3], c:v[9]]]
只是为了让输出数据(在json)更小。
目前我得到的是这样的东西:
[{
"a": {},
"b4": {},
"c5": {}
},
{
"a": {},
"b4": {},
"c3": {}
}]
并希望拥有:
[{
"a": {},
"b": [
{b4},
{b4}
],
"c": [
{c5},
{c3}
]
]}
我应该使用哪些运算符来实现?
执行此操作的最佳方法是使用 Gremlin 中的 project()
步骤。如果您想要每个字段中的值列表,可以使用 fold()
将它们放入列表中。示例:
g.('000-000').project('a','b','c')
.by()
.by(out().fold())
.by(out().out().fold())