【问题标题】:Titan: has() doesn't work泰坦:has() 不起作用
【发布时间】:2015-10-23 12:44:10
【问题描述】:

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

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

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

另一种做同样事情但永远不会奏效的方法是

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

我正在使用泰坦0.9.0-M2

我做错了吗?

【问题讨论】:

  • Titan 1.0.0 现在可以在 titandb.io 获得,您应该使用它而不是 0.9.0-M2。

标签: titan gremlin


【解决方案1】:

查询应该是:

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

甚至更好:

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-19
相关资源
最近更新 更多