`Vertex Centric Indices`查询与简单的`has()`之间有什么区别?

时间:2014-05-30 14:10:02

标签: titan

Vertex Centric Indices查询与简单has()查询之间有何区别。

我有一个顶点,有像targetGender(男性,女性),isAvailable(是,否),materialType(玻璃,塑料,..)

现在我应该能够使用所有这些属性进行查询。这是一个有效的查询:

`g.query().has("materialType",glass);`

v.query().direction(Direction.IN)
                   .labels(edgeLabel.toString()).has("materialType", glass);

1 个答案:

答案 0 :(得分:1)

我不确定是否存在差异"因为它们不是可比较的东西,所以它们是相关的东西。如果你没有定义一个以顶点为中心的索引,并发出一个基于has的查询,你可以在其中点击一些具有几十万个边的顶点,你会得到一个答案,但你会迭代所有的边来做它。如果您执行相同的has查询并定义了以顶点为中心的索引,那么Titan将利用这些索引来过滤这些边缘,从而在查询上节省大量时间。

无论你选择做什么,has都会起作用 - 以顶点为中心的索引只会提高效率。