【问题标题】:How can I use neo4j / Cypher to identify a path that connects from one central node/label to 3+ other node/labels?如何使用 neo4j / Cypher 识别从一个中心节点/标签连接到 3+ 个其他节点/标签的路径?
【发布时间】:2014-08-20 18:05:26
【问题描述】:

我正在尝试使用 neo4j / Cypher 来查询我的 neo4j 数据库中的特定模式,但我不知道该怎么做。

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

我可以轻松地追踪到公司节点和其他两种不同类型的节点,但我不知道如何追踪第三个节点的路径。

对于两个节点,我使用:

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

我尝试过使用 MERGE 和 UNION,但没有让它们工作。如何将其扩展到包括另一条腿?

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    好的,感谢 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:Company)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-30
      • 1970-01-01
      • 1970-01-01
      • 2017-11-13
      • 1970-01-01
      • 2013-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多