使用Neo4j。
我想在我以这种方式调用的几个关系的属性中已经存在的值中添加一个整数:
MATCH x=(()-[y]->(s:SOL{PRB:"Taking time"})) SET y.points=+2
但它没有添加任何内容,只需将我想要增加的值替换为2。
答案 0 :(得分:1)
实现此目的
SET y.points = y.points + 2
从您的原始问题看起来您似乎尝试使用存在于许多语言中的Addition Assignment运算符(例如python,type / javascript,C#等)。但是,在cypher +=
中有一点不同,它的设计方式允许您根据映射向添加或更新整个节点或关系的属性。< / p>
如果您有如下所示的参数(将其复制到neo4j浏览器中以创建参数)。
:param someMapping: {a:1, b:2}
下面的查询将在节点上创建值为2的属性b,并将该节点上的属性a的值设置为1.
MATCH (n:SomeLabel) WHERE n.a = 0
SET n+= $someMapping
RETURN n