【问题标题】:Cypher query to match multiple Destination nodes密码查询以匹配多个目标节点
【发布时间】:2020-05-10 06:45:30
【问题描述】:

我有一个要求,我想在我的路径中包含多个目标节点。

我的要求:

我想查找特定产品的所有供应商以及与供应商相关的风险。

查询以返回产品的所有供应商。

match path =(p:Product{name:"Product2"}) <-[*..10] -(:Supplier)
return path

此查询返回特定产品的所有供应商

查询退回受产品风险影响的供应商

match path =(p:Product{name:"Product2"}) <-[*..10] -(:Supplier)-[:AFFECTEDBY]-(:RISK)
return path

如您所见,上图中未检索到 2 个供应商(名称:“SupplierN+1”)

您能否帮我查询一下,以检索与特定产品相关的 BOTH 供应商(3 个供应商)和 RISK。

谢谢

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:
    MATCH p:Product{name:"Product2"}) <-[*..10] -(s:Supplier)
    OPTIONAL MATCH s-[:AFFECTED_BY]-(r:RISK)
    RETURN s, r, p
    

    OPTIONAL MATCH 类似于 SQL 的 OUTER JOIN。它可以选择匹配 :SUPPLIER 的 :RISK 节点。它将返回所有与 :RISK 节点有或没有关系的 :SUPPLIER 节点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多