如何使用neo4j / Cypher识别从一个中心节点/标签连接到3个以上其他节点/标签的路径?

时间:2014-08-20 18:05:26

标签: neo4j cypher

我试图使用neo4j / Cypher来查询我的neo4j数据库中的特定模式,但我无法弄清楚如何去做。

Graph pattern

我试图在一行输出公司名称属性,组织名称属性,类别节点名称属性的集合(通过collect(tag.name))以及投资金额属性的总和。

我可以轻松地跟踪公司节点和其他两个不同类型的节点,但我无法弄清楚如何跟踪第三个节点的路径。

对于两个节点,我使用:

MATCH (t)<-[]-(c:Company)-[]->(org:Organization)
RETURN org.name, c.name, collect (t.name)

我尝试过使用MERGE和UNION,但还没有让它们起作用。我怎样才能将其扩展到另一条腿?

1 个答案:

答案 0 :(得分:0)

好的,我得知Neo4j GraphGists的指导。

有效的是:

MATCH (t)<-[]-(c:Company)-[]->(org:Organization)
WHERE c.name = "MyCompany"
MATCH (c)<-[]-(f:Funding)
RETURN c.name, org.name, collect(t.name), sum(DISTINCT f.amount)

(特别是在第3行,它需要是(c)而不是(c:公司)