泰坦:has()不起作用

时间:2015-10-23 12:44:10

标签: titan gremlin

我一直在尝试使用此查询查询我的图表

graph()
   .traversal()
   .V()
   .has(Tokens.FIRSTNAME)
   .filter(vt ->
        vt.get().property(Tokens.FIRSTNAME).equals("Hank")
   );

这总是没有结果。当我调试代码时,我注意到比较发生在AbstractElement#equals()并且它返回false,因为传递的值(String)不是VertexEdgeVertexProperty

另一种做同样事情但从不运作的方法是

graph()
    .traversal()
    .V()
    .has(Tokens.FIRSTNAME, "Hank")

我正在使用泰坦0.9.0-M2

我做错了吗?

1 个答案:

答案 0 :(得分:3)

查询应为:

graph()
   .traversal()
   .V()
   .has(Tokens.FIRSTNAME)
   .filter(vt ->
        vt.get().value(Tokens.FIRSTNAME).equals("Hank")
   );

甚至更好:

graph()
   .traversal()
   .V()
   .has(Tokens.FIRSTNAME, "Hank")