neo4j cypher查询无法使用属性

时间:2016-07-25 05:39:36

标签: neo4j

我用neo4j构建了一个图表。当我使用以下cypher查询进行搜索时,它没有产生结果。

MATCH (n:node) 
where n.prop='pro1' 
RETURN n
LIMIT 25

我确定n.prop='pro1'存在。查询有效。

MATCH (n:node) 
where exists(n.prop) 
RETURN n 
LIMIT 25 

为什么第二个查询返回结果但第一个不返回?

1 个答案:

答案 0 :(得分:0)

您可能需要进行一些健全性检查,在这些情况下,通常的罪魁祸首是错别字,案例不匹配或类似情况。听起来你已经经历过这些了,但回去验证每一个都没有坏处。

但如果按照你说的那样,你的比赛中的标签是正确的,那么道具键的大小写和拼写是正确的,那么它必须与属性本身的值有关。

要寻找的一些事情......

  • 纠正拼写+案例
  • 值中可能导致匹配失败的任何额外空格
  • 验证末尾的字符是“one”还是小写字母“l”

如果一切看起来还不错,请在neo4j中再次测试...您可能需要尝试在STARTS WITH子句中使用WHERE

作为最后的手段,尝试使用:MERGE做一个带有prop的节点,你可以使用ON CREATE在新节点上设置一些额外的标志,如果它被创建了(正如一个完整性检查,因此您将有一些东西可以帮助您区分现有节点和将要创建的任何新节点。)