Gremlin 如何利用受限于顶点标签的复合索引?

Gremlin 如何利用受限于顶点标签的复合索引?,gremlin,titan,Gremlin,Titan,假设我定义了一个复合索引和顶点标签,如下所示: mgmt = g.getManagementSystem() name = mgmt.makePropertyKey('name').dataType(String.class).make() god = mgmt.getVertexLabel('god') mgmt.buildIndex('byName',Vertex.class).addKey(name).indexOnly(god).buildCompositeIndex() mgmt.co

假设我定义了一个复合索引和顶点标签,如下所示:

mgmt = g.getManagementSystem()
name = mgmt.makePropertyKey('name').dataType(String.class).make()
god = mgmt.getVertexLabel('god')
mgmt.buildIndex('byName',Vertex.class).addKey(name).indexOnly(god).buildCompositeIndex()
mgmt.commit()
如何利用Gremlin中的此索引

假设它有点像g.V‘标签’、‘上帝’。有‘名字’、‘宙斯’,哪个更有效

g、 V'label','god'。有'name','zeus' g、 V'name','zeus',有'label','god'
传统上,我们会选择2,因为名称比标签更具选择性,但顶点标签有什么特殊之处使得这一点不真实吗?

它在TP2中还不起作用,但将在TP3 Titan 0.9/下一版本中起作用。目前,您可以执行以下操作:

g、 query.has'label','god'。has'name','zeus'

仍然不知道性能配置文件


它在TP2中还不起作用,但将在TP3 Titan 0.9/下一版本中起作用。目前,您可以执行以下操作:

g、 query.has'label','god'。has'name','zeus'

仍然不知道性能配置文件


好的,您已经发现,它目前在Gremlin中是不可能的,并且只能通过查询API提供。关于性能:你的两种方法不会有什么不同;在引擎盖下,两个查询生成相同的Cassandra/HBase查询或您正在使用的任何存储后端

干杯,
Daniel

好的,您已经发现,它目前在Gremlin中是不可能的,只能通过查询API提供。关于性能:你的两种方法不会有什么不同;在引擎盖下,两个查询生成相同的Cassandra/HBase查询或您正在使用的任何存储后端

干杯,
Daniel

嗨,Daniel,你能确认你的意思是小精灵查询没有索引吗?确认。Gremlin2不使用索引,Gremlin3将使用它。目前唯一能绕过这一限制的方法是使用查询API。嗨,丹尼尔,你能确认你的意思是没有为Gremlin查询编制索引吗?已确认。Gremlin2不使用索引,Gremlin3将使用它。目前绕过此限制的唯一方法是使用查询API。