Blazegraph Tinkerpop 3索引

时间:2016-06-02 16:55:33

标签: tinkerpop3 blazegraph

我正在尝试了解Blazegraph。目前,我很困惑如何优化简单的查找。

假设我的所有顶点都有一个属性REGEXP_REPLACE(DebugData, r'[^a-zA-Z], ' ') ,这是唯一的。此属性由用户设置。有没有办法加速找到特定id的顶点,同时仍然坚持使用Tinkerpop API?

搜索API定义here是唯一的方法吗?

我以前的经验是在TitanDB,在Titan的情况下,可以定义一个Tinkerpop API完美整合的索引。有没有办法在不使用Search API的情况下在Blazegraph中获得相同的结果?

1 个答案:

答案 0 :(得分:0)

  

中间遍历V()是否使用索引取决于a)   是否存在合适的索引和b)特定的图形系统   提供商实现了这一功能。

Gremlin(Tinkerpop)未指定how to set indexes,尽管文档提供了like the following

graph.createIndex("username",Vertex.class)

但可以保留给ThinkerGraph implementation,事实上它说

  

每个图形系统都有不同的索引和机制   模式已定义。 TinkerPop3不需要任何一致性   这片区域。在TinkerGraph中,唯一的定义是围绕索引。   与其他图形系统,属性值类型,索引,边缘标签,   可能需要先验地定义数据等   曲线图。

有一个例子for Neo4J

  

TinkerPop3不提供用于定义的方法接口   底层图形系统的模式/索引。因此,为了   创建索引,直接调用Neo4j API非常重要。

但代码非常特定于该插件

graph.cypher("CREATE INDEX ON :person(name)")

请注意,对于BlazeGraph the search uses a built in full-text index