[英]Cypher Query to Aggregate Relationship Properties
我有一个Neo4j图,其中包含PI和Officer节点,以及它们之间的关系(每个节点都具有机构属性)。 我正在尝试为每个PI创建一个inst_list属性,该属性列出了其所有边缘的所有机构属性。 我仍在学习有关Cypher的方法,但对为什么只为每个PI创建一个空数组感到困惑:
MATCH (p:pi:DOE)-[a:award]-(o:officer:DOE)
WITH pi, a, COLLECT(distinct a.instituion) as insts
SET pi.inst_list=insts
好像是COLLECT的问题,因为
MATCH (p:pi:DOE)-[a:award]-(o:officer:DOE)
WITH a.institution AS insts
RETURN insts
返回所有期望值。
您只需要从WITH子句中删除a
。
MATCH (p:pi:DOE)-[a:award]-(o:officer:DOE)
WITH p, COLLECT(distinct a.institution) as insts
SET pi.inst_list=insts
通过包含a
,您没有在为每个p
收集institution
属性,而是在为每个p
和a
收集institution
属性,实际上什么也没做。
我还假设您的意思是p
而不是pi
; 在上面的查询中, p
是标识符, pi
是标签之一。 您还曾在institution
输入过错,这可能是为什么数组为空而不是单个值的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.