2017-01-23 91 views
0

上下文: 我正在开展一项校友项目,以了解捐赠和参与之间的区别。 (参与=参加,出席活动,志愿服务等)工作中的价值将来自于理解行为伙伴所获得的洞察力。如何将节点|类型按类型合并为单个节点类型?

在下面的查询中,我一直在有效地带回“最大的消费者”,但是我想列出(n)校友和(a,b)礼品的名称。有30种礼品类型适合(a,b)。

请让我知道你的想法... Innosoljim

>//Who are Alumni that give the most? 
>>MATCH (n:Alumni)-[r:Supportfin]->(b) 
>>MATCH (n:Alumni)-[t:Gavefin]->(a) 
>>RETURN n,b,a LIMIT 1500 

感谢您的回答 - 让我重申目标,为清晰:我想整合(到n.Alumni)许多关系 - [给予|支持] - >独特的节点(各种礼物),以便我可以获得校友活动的报告(给予,支持,通过n.name图形模型将校友节点放在每个独特行为的中心,支持,graddate,地址,学位,希腊生活等....)这有帮助吗?

MATCH (a:Alumni)-[r:Supportfin|Gavefin]->(gift) 
RETURN a.name, collect(gift) 
ORDER BY (a)-[r:Supportfin|Gavefin]-> count(*) DESC 

像这样的事情,也许虽然这是不工作(的SyntaxError)

+0

目前还不完全清楚你想要什么。也许你可以提供给定子图的期望输出的例子? – InverseFalcon

回答

0

匹配校友的礼物既关系类型和返回:

MATCH (a:Alumni)-[r:r:Supportfin|Gavefin]->(gift) 
RETURN a.name, collect(gift) 

或者通过不同类型的关系,把它分解:

MATCH (a:Alumni) 
OPTIONAL MATCH (s)-[:Supportfin]->(sup_gift) 
OPTIONAL MATCH (a)-[:Gavefin]->(gave_gift) 
RETURN a.name, collect(DISTINCT sup_gift), collect(DISTINCT gave_gift) 

没有适当的描述你的图形模型和问题,这个问题很难回答。