neo4j 2.0:对when子句的谓词限制

时间:2014-01-11 08:50:53

标签: neo4j cypher

这种查询过去常用于neo4j 2.m06,但在稳定版2.0中返回的错误如“WHEN不是谓词的参数”

MATCH (n), (u)
WHERE id(u)=1 

RETURN 

  n.id AS id , 
  n.prop AS prop,
  CASE
    WHEN (u)-[:loves]->(n) THEN 1
    ELSE 0
  END AS loving

ORDER BY id DESC

我该如何表达这种情况?

非常感谢你

1 个答案:

答案 0 :(得分:1)

我认为您发现了一个错误,请在http://github.com/neo4j/neo4j/issues

报告问题

以下是针对您的解决方法:

MATCH (n), (u)
WHERE id(u)=1 

RETURN 

  n.id AS id , 
  n.prop AS prop,
  CASE
    WHEN size((u)-[:loves]->(n)) > 0 THEN 1
    ELSE 0
  END AS loving

ORDER BY id DESC

虽然要匹配grpah中n的所有节点,但可能很昂贵。