2014-09-26 3 views
2

Я установил ТИТАН-0.5.0-hadoop2 с HBase и elasticsearch поддержкиНет подписи метода: groovy.lang.MissingMethodException.makeKey()

Я загрузил граф с

g = TitanFactory.open('conf/titan-hbase-es.properties') 
==>titangraph[hbase:[127.0.0.1]] 

и затем я загрузил тестовое приложение

GraphOfTheGodsFactory.load(g) 

Теперь, когда я пытаюсь создать новый индексный ключ с:

g.makeKey('userId').dataType(String.class).indexed(Vertex.class).unique().make() 

и я получил эту ошибку:

No signature of method: groovy.lang.MissingMethodException.makeKey() is applicable for argument types:() values: [] 
Possible solutions: every(), any() 
Display stack trace? [yN] 

Может кто-то помочь мне с этим?

, когда я хочу увидеть индексированные ключи я вижу этот

g.getIndexedKeys(Vertex.class) 
==>reason 
==>age 
==>name 
==>place 

ответ

1

Я не полностью после того, что вы пытаетесь сделать. Похоже, что вы загрузили Graph of the Gods в g, а затем хотите добавить userId в качестве нового свойства схемы. Если это так, то я думаю, что ваш синтаксис неверен, учитывая API Titan 0.5. Метод управления схемой сильно отличается от предыдущих версий. Изменения в схеме осуществляется через интерфейс ManagementSystem который вы можете получить экземпляр посредством:

mgmt = g.getManagementSystem() 

Синтаксис для добавления свойства, то выглядит примерно так:

birthDate = mgmt.makePropertyKey('birthDate').dataType(Long.class).cardinality(Cardinality.SINGLE).make() 
mgmt.commit() 

Обратите внимание, что g.getIndexKeys(Class) не соответствующий способ получения информации о схеме. Вы также должны использовать ManagementSystem.

Для получения дополнительной информации см. Документацию here.

+0

Я нашел это прямо сейчас http://s3.thinkaurelius.com/docs/titan/0.5.0/indexes.html#graph-indexes – CristiC

Смежные вопросы