Gremlin groupCount()仅返回gt 2

时间:2018-06-20 11:34:48

标签: azure-cosmosdb gremlin

我在Azure CosmosDB上运行以下Gremlin遍历,并且我只想返回计数大于1的URL。我不确定如何限制groupCount()的返回。

dbx = Dropbox("DROBOX_ACCESS_TOKEN") response = dbx.files_list_folder(path=DROPBOX_INPUT_PATH) print(response)

2 个答案:

答案 0 :(得分:2)

根据我对Stephen Mallette答案的评论,Azure CosmosDB图形https://docs.microsoft.com/en-us/azure/cosmos-db/gremlin-support不支持 filter 步骤,因此我使用了 where 步骤来实现预期的结果。

g.V().hasLabel('article').groupCount().by('url').unfold().where(select(values).is(gt(1)))

答案 1 :(得分:1)

这是现代玩具图中的一个例子:

gremlin> g = TinkerFactory.createModern().traversal()
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
gremlin> g.V().hasLabel('software').in().
......1>   groupCount().
......2>     by('name').
......3>   unfold().
......4>   filter(select(values).unfold().is(gt(1)))
==>josh=2

因此,您先进行groupCount(),然后对unfold()进行Map,然后对filter()中的values进行Map

在您的情况下,您可能会遇到以下情况:

g.V().hasLabel('article').
  groupCount()
    by('url').
  unfold().
  filter(select(values).unfold().is(gt(1)))