如何在Neo4j中为关系添加属性?将计算距离赋值给distance关系
解决方案
你只需要在原有查询的基础上,添加SET子句来更新distance关系的属性即可,完整的Cypher语句如下:
MATCH (u:me)-[d:distance]->(n:Hotels) WITH u, n, d, point({longitude: u.longitude, latitude: u.latitude}) AS trainPoint, point({longitude: n.longitude, latitude: n.latitude}) AS officePoint, round(point.distance(trainPoint, officePoint)) AS travelDistance SET d.travelDistance = travelDistance RETURN u.name, n.name, d.travelDistance
关键说明:
- 保留原有的
MATCH和距离计算逻辑,新增SET d.travelDistance = travelDistance将计算出的距离值赋值给distance关系的travelDistance属性(你可以根据需求修改属性名,比如改成distanceValue) WITH子句中需要把d(目标关系)包含进来,这样后续才能对它进行更新操作- 最后的
RETURN语句用于验证更新结果,确认距离值已成功写入关系属性
内容的提问来源于stack exchange,提问作者Zayd Elbassri
相关产品推荐
相关产品推荐

