【发布时间】:2014-03-17 16:27:44
【问题描述】:
我正在尝试将两个不同的关系属性设置为一个计数,其中一个案例构造取决于另一个关系属性的值。 http://console.neo4j.org/?id=rt1ld5有一个控制台
cnt 列包含 r.value 出现的次数。控制台中初始查询的前两行表明术语“汽车”链接到一个被认为相关的文档,以及两个被认为不相关的文档。
我想用两个属性在 (user) 和 (term) 之间的 [:INTEREST] 关系上设置一个属性,指示兴趣链接到被认为相关的文档的次数。所以对于 (John)-[r:INTEREST]->(Car) 我想要 r.poscnt=1 和 r.negcnt=2
我正在为 CASE 构造而苦苦挣扎。我尝试了各种方法,这是我得到的最接近的方法。
MATCH (u:user)-[int:INTEREST]->(t:term)<-[:ISABOUT]-(d:doc)<- [r:RELEVANCE]-(u)
WITH int, t.name, r.value, count(*) AS cnt
CASE
WHEN r.value=1 THEN SET int.poscnt=cnt
WHEN r.value=-1 THEN SET int.negcnt=cnt
END
但它返回一个错误
Error: Invalid input 'A': expected 'r/R' (line 3, column 2)
"CASE"
^
【问题讨论】:
-
对于任何好奇的人,若要解决上述错误,请在“cnt”后加逗号。查询中还有其他错误,但希望这会让您更接近解决其他错误。