我有两个集合,一个包含节点,另一个包含rels和节点(参见http://console.neo4j.org/?id=ijoqaa)
我尝试实现的是更新rel属性,具体取决于一个集合中的节点是否也存在于另一个集合中。下面的代码说明了这一点(希望如此),尽管它不是有效的密码。
FOREACH (iterm in iterms|
CASE
WHEN NOT (iterm[1] IN iaterms) THEN
REMOVE iterms[0].pos,iterms[0].neg
SET iterm[0].explicit=1
END
)
问题:在密码中执行此操作的方法是什么?
答案 0 :(得分:1)
查看控制台上的内容,我认为您的查询非常简单。没有必要使用foreach
构造进行迭代。
MATCH (u:user)-[r:RELEVANCE]->()-[ia:ISABOUT]->(t:term)
WITH u, collect(t) AS terms
MATCH (u)-[i:INTEREST]->(t2:term)
WHERE NONE(t IN terms WHERE t = t2)
REMOVE i.pos, i.neg
SET i.explicit = 1
答案 1 :(得分:0)
这有用吗?
MATCH (u:user)-[i:INTEREST]->(t)
WHERE NOT u-[:RELEVANCE]->()-[:ISABOUT]->t
REMOVE i.neg, i.pos
SET i.explicit = 1