需要优化gremlin查询

时间:2014-09-15 10:14:15

标签: gremlin titan

我是Gremlin的新手。看到Answer from stephen mallette,这是来自同一答案的代码

g.v('u1','u2').out('like').groupCount().cap.next().sort{-it.value}

如何改进此查询以根据喜欢对具有type=Camera的产品进行排序。考虑每页10条记录的分页。用大量产品显示分类结果是否是一种有效的解决方案?

1 个答案:

答案 0 :(得分:0)

您真的需要应用过滤器来获取所需的产品类型:

g.v('u1','u2').out('like').has('type','camera').groupCount().cap.next().sort{-it.value}

以这种方式进行排序/分页可能有效也可能没有效率。我想这取决于你正在处理多少喜欢。成千上万可能不是什么大不了的事,但成千上万可能比你能承受的要少。

当你使用Titan时,你有比大多数图形更多的选项来解决这个问题(如果它实际上是一个问题 - 我建议你生成测试数据并写一些查询以确定)。您可以做的一件事是将“类型”属性反规范化为“喜欢”边缘,以便您可以在outE上应用“类型”过滤器,而不是强制遍历out,如上所示(强制遍历意味着Titan需要在边缘的另一端找到顶点,这增加了Titan需要检索的数据量。您可以阅读有关这些选项的更多信息here