Graph 灯泡/小精灵/泰坦的关键索引

Graph 灯泡/小精灵/泰坦的关键索引,graph,gremlin,titan,bulbs,tinkerpop,Graph,Gremlin,Titan,Bulbs,Tinkerpop,我正在尝试将我的Neo4J应用程序移植到Titan,我遇到了一些与索引相关的问题。 我知道Titan不支持顶点或边索引,只支持“关键”索引,对吗 我也在使用灯泡型号,例如: class Person(Node): element_type = 'person' facebook_id = String(indexed=True) 在添加Person(facebook_id='111')以检索时,应该可以使用: gremlin> g.getVertices('faceboo

我正在尝试将我的Neo4J应用程序移植到Titan,我遇到了一些与索引相关的问题。 我知道Titan不支持顶点或边索引,只支持“关键”索引,对吗

我也在使用灯泡型号,例如:

class Person(Node):
    element_type = 'person'
    facebook_id = String(indexed=True)
在添加Person(facebook_id='111')以检索时,应该可以使用:

gremlin> g.getVertices('facebook_id', '111')
它不起作用,告诉我在使用它之前需要创建键索引。因此,我放弃了键空间,并在rexster doghouse中手动创建了索引:

gremlin> g.createKeyIndex("facebook_id", Vertex.class);
gremlin> g.getVertices("facebook_id", "111")
之后,用灯泡创建了Person(facebook_id='111'),并尝试在rexster doghouse上检索:

gremlin> g.createKeyIndex("facebook_id", Vertex.class);
gremlin> g.getVertices("facebook_id", "111")
得到了空洞的回应。使用Titan vertex ID进行抓取时,它可以工作,但“facebook_ID”为空,.map()不工作:

gremlin> g.v(4)
==>v[4]
gremlin> g.v(4).name
==>Renato Garcia Pedigoni
gremlin> g.v(4).facebook_id # nothing returned!
gremlin> g.v(4).map()
==>javax.script.ScriptException: java.lang.IllegalArgumentException: The value is already used by another vertex and the key is unique
PS

  • 这是我在删除键空间后创建的第一个顶点
  • 是否可以自动创建密钥索引
有什么建议吗

谢谢


Renato Pedigoni

是的,Titan只支持关键索引,这些索引使用类似的功能替换旧的手动顶点索引,但开销较小

异常表明该属性不仅被索引,而且是唯一的(有关详细信息,请参阅)

您是否尝试过在Gremlin中添加顶点和关键点索引(即没有灯泡)? 另外,James在Titan集成方面对灯泡做了大量工作,因此这个特殊问题可能在最新版本中得到解决