2014-09-26 72 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作爲新屬性添加到模式中。如果這是正確的,那麼我認爲你的語法是錯誤的,因爲Titan 0.5 API。管理模式的方法與以前的版本有很大不同。對架構更改通過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 2014-09-26 12:32:19