【发布时间】:2013-10-19 17:19:25
【问题描述】:
以以下场景为例:
一个医院节点与许多医生节点相关。医生节点与其他医生相关,代表他们何时将患者转诊给另一位医生。这些转诊可以是不同医院的医生。医生之间的关系有一个名为 count 的属性,表示该医生将其患者转诊给第二位医生的次数。
我想做的是从医院层面看待这些转诊关系。我的查询目前如下所示:
START hospital1 = Node:Hospitals("*:*")
MATCH (hospital1)-[:CHILD_DOCTOR]->(doctor1)-[referral:REFERRED]-(doctor2)<-[:CHILD_DOCTOR]-(hospital2)
WHERE hospital1 <> hospital2
RETURN DISTINCT hospital1, hospital2, referral.count
这听起来很复杂,但查询非常简单。这是唯一的问题。假设医院 A 的两名医生将一名患者转介给医院 B 的两名医生,我最终会得到两条记录,其中医院 1 = 医院 A,医院 2 = 医院 B。我想将这些结果组合在一起并添加referral.count属性在一起。有没有办法用 Cypher 做到这一点?
【问题讨论】:
标签: neo4j cypher node-neo4j