没有方法签名:groovy.lang.MissingMethodException.makeKey()

时间:2014-09-26 11:26:48

标签: hadoop groovy hbase gremlin titan

我已经用hbase和elasticsearch支持安装了titan-0.5.0-hadoop2

我已经用

加载了图表
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 个答案:

答案 0 :(得分:1)

我并没有完全遵循你想做的事情。您似乎已将神的图形加载到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