我有一个非常奇特的图形数据库结构:我的节点可以根据日期在彼此之间建立多个关系。例如" John"可以有一种关系"谈论"用"杰克"物业日期= 2016/02/12,物业长度= 12,物业日期= 2016/02/23,物业长度= 23的其他关系。
("John") - [:talked {date:"2016/02/12",legnth:12}] - ("Jack")
("John") - [:talked {date:"2016/02/23",legnth:23}] - ("Jack")
我想返回一个长度属性(长度= 35)和最早日期之和的关系:
("John") - [:talked {date:"2016/02/12",legnth:35}] - ("Jack")
如何在Cypher中实现这一目标?
答案 0 :(得分:1)
当然可以。只需匹配它们并返回聚合。
match (p1:Person {name: 'John'} )-[r:TALKED]-(p2:Person {name: 'Jack'})
return p1
, p2
, sum(r.length) as total_length
, min(r.date) as first_date