密码:比较的问题



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

我在某些节点中存储int值作为属性detail。如果我正确使用 neoclipe,我现在注意到,这些值作为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 是一个整数?

这个答案主要集中在你最初的问题上,而不是你在编辑部分添加的问题。

我刚刚在密码查询的 WHERE 部分内进行比较时遇到了类似的问题。 我试图做类似的事情

MATCH ...
WHERE value > 1

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

MATCH ...
WHERE value > '1'

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

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

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

你必须这样做

开始。。。MATCH node-[:SomeTag]->intnodeWHERE intnode.detail <"10"返回。。。

最新更新