2012-11-09 10 views
2

Neo4J 응용 프로그램을 Titan에 이식하려고하는데 색인과 관련된 몇 가지 문제가 있습니다. 타이탄은 버텍스 또는 엣지 인덱스를 지원하지 않고 "키"인덱스 만 지원합니다. 맞습니까?전구/Gremlin/Titan의 핵심 색인

I는 예를 들어, 전구 모델 일하고 :

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

그것은 케이 :하여 검색하는 사람 (facebook_id = '111')에 추가 할 때

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

하는 것이 가능되어야 키 인덱스를 사용하기 전에 키 인덱스를 만들어야한다고 알려줍니다. 그래서 키 스페이스를 떨어 수동 rexster 개집에서 인덱스 생성 : 전구와 그 후

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

(facebook_id = '111') 사람 생성 및 개집 rexster에 검색을 시도 :

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

그리고 빈 반응을 얻었습니다. "() .MAP"빈과 타이탄 정점 작동 ID,하지만 "facebook_id을"제공됩니다 사용하여 가져 오는 경우에는 작동하지 않습니다

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

  • 그것은 내가를 삭제 한 후 만든 첫 번째 정점이다 키 스페이스
  • 키 인덱스를 자동으로 생성 할 수 있습니까?

팁이 있습니까?

감사합니다.

레나토 Pedigoni는

답변

2

예, 타이탄은 비슷한 기능을하지만 적은 오버 헤드로 된 설명서를 정점 인덱스를 대체 키 인덱스를 지원합니다.

예외는 색인 된 속성뿐 아니라 고유 한 속성임을 나타냅니다 (자세한 내용은 Titan Types 참조).

Gremlin에서 정점과 키 인덱스를 추가하려고 했습니까 (예 : 전구가없는 경우)? 또한 James는 Titan 통합과 관련하여 전구에 대한 많은 작업을 수행 했으므로이 특정 문제는 최신 버전에서 해결 될 수 있습니다.