Ключевой указатель лампочек / гремлинов / титанов

Я пытаюсь перенести свое приложение Neo4J на Titan, и у меня возникли некоторые проблемы, связанные с индексами. Я так понимаю, что Титан не поддерживает индексы вершин и ребер, а только "ключевые" индексы, верно?

Я также работаю с моделями лампочек, например:

class Person(Node):
    element_type = 'person'
    facebook_id = String(indexed=True)

При добавлении Person(facebook_id='111') должно быть возможно получить, используя:

gremlin> g.getVertices('facebook_id', '111')

Это не работает и говорит мне, что мне нужно создать ключевой индекс перед его использованием. Поэтому я удалил пространство ключей и вручную создал индекс в собачьей конуре rexster:

gremlin> g.createKeyIndex("facebook_id", Vertex.class);

После этого создал Person(facebook_id='111') с Bulbs и попытался получить на rexster doghouse:

gremlin> g.getVertices("facebook_id", "111")

И получил пустой ответ. При извлечении с использованием идентификатора вершины Titan это работает, но «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

  • Это первая вершина, которую я создал после удаления пространства ключей.
  • Можно ли автоматически создавать индексы ключей?

Какие-нибудь советы?

Спасибо!

Ренато Педигони


person rpedigoni    schedule 09.11.2012    source источник


Ответы (1)