Neo4JアプリケーションをTitanに移植しようとしていますが、インデックスに関連する問題がいくつかあります。Titanは頂点インデックスまたはエッジインデックスをサポートしておらず、「キー」インデックスのみをサポートしていることを理解しています。
たとえば、Bulbsモデルも使用しています。
class Person(Node):
element_type = 'person'
facebook_id = String(indexed=True)
Person(facebook_id = '111')を追加すると、次を使用して取得できるはずです。
gremlin> g.getVertices('facebook_id', '111')
それは機能せず、使用する前にキーインデックスを作成する必要があることを教えてくれます。そこで、キースペースを削除して、rexsterdoghouseに手動でインデックスを作成しました。
gremlin> g.createKeyIndex("facebook_id", Vertex.class);
その後、BulbsでPerson(facebook_id = '111')を作成し、rexsterdoghouseで取得しようとしました。
gremlin> g.getVertices("facebook_id", "111")
そして、空の応答を得ました。Titan頂点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
- これは、キースペースを削除した後に作成した最初の頂点です。
- キーインデックスを自動的に作成することは可能ですか?
任意のヒント?
ありがとう!
レナート・ペディゴーニ