【问题标题】:Neo4j+Gremlin : Trouble with T.gte and floating point node attributesNeo4j+Gremlin:T.gte 和浮点节点属性的问题
【发布时间】:2012-11-27 05:01:28
【问题描述】:

对于我图中的一种节点,属性(名为“some_count”)的属性值要么缺失,要么是整数或浮点数。我正在尝试编写 gremlin 以根据此属性的最小值过滤这些节点。

我首先通过触发以下 gremlin 来验证这些值确实存在

g.v(XXX)._().in('category').hasNot('some_count', T.eq, null).back(1).some_count

接下来,

我尝试按确切值进行过滤,并且可以向我显示匹配的节点,或者如果没有匹配则给出一个空数组

g.v(XXX)._().in('category').hasNot('some_count', T.eq, null).back(1).has('some_count', T.eq, 120000.0d)

但以下使用“大于或等于”比较器的查询不起作用。

g.v(XXX)._().in('category').hasNot('some_count', T.eq, null).back(1).has('some_count', T.gte, 1.0d) 这将返回 nil(我正在使用 Neo4j AR Adapter 通过 ruby​​/rails 进行查询)

它不是返回一个空数组来表示不匹配,而是返回一个 nil,这告诉我查询本身可能有问题。我正在运行 neo4j 社区服务器 1.8。

有没有办法让 Neo4j 记录错误/查询,看看可能出了什么问题?

【问题讨论】:

  • 您不能直接从 Neo4j Webadmin 对数据库执行查询,启动 Neo4j 服务器吗? vimeo.com/53867161 一个关于如何做的小教程(你也可以调整 neo4j-server.properties)

标签: graph neo4j gremlin


【解决方案1】:

令牌。添加到您的 T.gte。

g.v(XXX)._().in('category').hasNot('some_count', Tokens.T.eq, null)
  .back(1).has('some_count', Tokens.T.gte, 1.0d)

【讨论】:

  • 为什么会修复它?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多