Cypher查询不返回它应该返回的节点

时间:2015-11-05 10:09:15

标签: neo4j cypher

我有两个属于两个标签之一的节点:Class或Method,在这两个图像中用黄色环绕。 cypher查询以查找 Method 标记的节点在所有情况下都正常工作。但是,非常奇怪的是,当使用属性选择某些节点时,cypher查询返回 Class 标记的节点会给出空结果。 enter image description here

在上图中,可以看到查询 匹配(n:类{Cycles:&#34; 52888&#34;})返回n < / strong>被环绕为红色,什么也没有,尽管这样的节点存在于绿色环绕中。需要注意的是,在不使用属性的情况下查询 Class 节点运行正常。 当类似的查询对 Method 标记的节点完全正确地工作时,即使使用属性来选择某些节点,这个问题变得更加令人困惑,如下图所示。 enter image description here 任何人都可以解释为什么Cypher查询与 Class 标记的节点的行为不同,以及解决问题的方法是什么。

2 个答案:

答案 0 :(得分:1)

也许在号码之前或之后有空格?

尝试

MATCH (n:Class) WHERE trim(n.Cycles) = "52888" RETURN n

答案 1 :(得分:0)

如果Cycles的属性为Long,请使用Query

&#13;
&#13;
MATCH (n:Class) WHERE n.Cycles = 52888 RETURN n
&#13;
&#13;
&#13;

如果Cycles的属性是String,请使用Query

&#13;
&#13;
MATCH (n:Class) WHERE n.Cycles = "52888" RETURN n
&#13;
&#13;
&#13;