Datastax Enterprise Graph GroupCount Order

时间:2017-05-24 13:08:49

标签: datastax-enterprise datastax-enterprise-graph

我有多个文件 我有多个用户 用户阅读文档

我想获得用户Stefan阅读的文档。

g.V().
has('user','name','Stefan').
out('read').
hasLabel('document')

其他用户阅读了同一文档。那些用户Stefan没有阅读的其他文件是什么:

g.V().
has('user','name','Stefan').
out('read').
hasLabel('document').
in('read').
has('user','name',neq('Stefan')).
out('read').
match(
    __.as('d').hasLabel('document'),
    __.not(__.as('d').hasLabel('document').in('read').has('user','name','Stefan'))
).
select('d').valueMap('docId','title')

现在我想按用户数量对用groupCount读取文档的内容进行排序。

g.V().
has('user','name','Stefan').
out('read').
hasLabel('document').
in('read').
has('user','name',neq('Stefan')).
out('read').
match(
    __.as('d').hasLabel('document'),
    __.not(__.as('d').hasLabel('document').in('read').has('user','name','Stefan'))
).
select('d').valueMap('docId','title').
groupCount().by().
order(local).by(values,decr)

这样可行,但结果不是我想要的:

{
  "{docId=[33975], title=[Doc1 - 5 - 1]}": 3,
  "{docId=[33379], title=[Doc2 - 5]}": 2,
  "{docId=[32474], title=[Doc3 - 5]}": 2,
  "{docId=[31150], title=[Doc4 2-2013]}": 1,
  "{docId=[107944], title=[Doc5]}": 1
}

钥匙折叠起来。我希望在结果中有3列:

  1. 的DocID
  2. 标题
  3. GroupCount值。
  4. 我该怎么做?

0 个答案:

没有答案