我已经用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
答案 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。