You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Neo4j查询结果中添加交易的from/to节点contact_id

解决Cypher查询返回关系时获取from/to节点contact_id的问题

你可以利用Cypher的STARTNODE()和ENDNODE()函数直接从关系对象中获取两端节点,再提取contact_id属性,修改后的查询如下:

MATCH path = (:Contact {contact_id: '111'})-[t:TRANSACTION*1..3]-()
UNWIND relationships(path) as rel
WITH DISTINCT rel
RETURN 
  rel,
  STARTNODE(rel).contact_id as from_contact_id,
  ENDNODE(rel).contact_id as to_contact_id

说明:

  • STARTNODE(rel)返回该交易关系的起始节点,ENDNODE(rel)返回结束节点
  • 通过.contact_id直接提取节点的contact_id属性,和原关系对象一起返回
  • 保留了原查询的DISTINCT去重逻辑,确保每条交易关系只返回一次

如果不需要完整的关系对象,只想展示核心交易信息,也可以指定返回关系的具体属性(比如金额),示例:

MATCH path = (:Contact {contact_id: '111'})-[t:TRANSACTION*1..3]-()
UNWIND relationships(path) as rel
WITH DISTINCT rel
RETURN 
  STARTNODE(rel).contact_id as from_id,
  ENDNODE(rel).contact_id as to_id,
  rel.amount as transaction_amount

内容的提问来源于stack exchange,提问作者Diego Fernandez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 01:07:32