2

我正在尝试对 gwt 上的 no4j 数据库执行密码查询。

我将一些节点int值存储为属性detail。如果我正确使用 neoclip,我现在注意到,这些值作为String值存储在数据库中。

在我的查询中,我有以下部分不起作用:

START ... 
MATCH node-[:SomeTag]->intnode 
WHERE intnode.detail < 10
RETURN ...

我得到:

不知道怎么比较。左:15;右:10:不知道如何比较:左:15;右:10

所以intnode.detail < 10不起作用。我也试过这个:intnode.detail < STR(10),因为我认为它会比较哈希值或 ascii 值,但我得到了同样的错误。

编辑:

我读到,可以设置@GraphProperty同时存储数据,但我怎样才能在 gwt 中做到这一点?

我的意思是如果我有一个节点,我可以例如写

Object obj = (Object) 10;
node.setProperty("detail", obj);

我现在如何告诉 neo4j,obj 是一个 int?

4

2 回答 2

2

这个答案主要集中在您最初的问题上 - 而不是您在编辑部分添加的问题。我只是在密码查询的 WHERE 部分进行比较时

遇到了类似的问题。我试图做类似的事情

MATCH ...
WHERE value > 1

这导致了与您的错误消息非常相似的错误消息。经过一些测试,如果我添加单引号,我发现查询有效。这是我的解决方案

MATCH ...
WHERE value > '1'

(注意引号)我也注意到,这不适用于双引号

我希望这可以帮助您和/或遇到此问题的任何其他人:)

于 2014-01-08T19:03:12.443 回答
0

我认为 intnode.detail 值存储为 string ,因此您无法与整数值进行比较。

你必须这样做

START ... MATCH node-[:SomeTag]->intnode WHERE intnode.detail < "10" RETURN ...

于 2013-09-18T13:49:45.147 回答