【问题标题】:Neo4j cypher query to see whether given nodes are connectedNeo4j 密码查询以查看给定节点是否已连接
【发布时间】:2017-04-18 06:25:04
【问题描述】:

给定以下节点 B、E、F、G、H、J、K。我必须编写一个 neo4j 查询来检查这些节点是如何相互连接的。

例如,假设这是我要显示的模式。

B-H-F 
  |
  G-J-K-E   

显示此图表的查询是什么?我不想显示连接到这些节点的所有其他节点。

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    你需要找到每对源节点之间的路径。

    确保每条路径仅包含源集中包含的那些节点。

    你可以用密码来做到这一点:

    WITH {GIVEN_NODES} as NDS // The source array of node IDs
    UNWIND RANGE(0, size(NDS)-2) as i
    UNWIND RANGE(i+1, size(NDS)-1) as j
    WITH NDS,
         NDS[i] as N1,
         NDS[j] as N2
    MATCH path = (N1)-[*]-(N2) 
          WHERE length(path)+1 <= size(NDS) AND
          ALL(n in nodes(path) WHERE n in NDS)
    RETURN path
    

    【讨论】:

      猜你喜欢
      • 2017-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-29
      • 2017-07-03
      • 1970-01-01
      • 2018-11-17
      • 1970-01-01
      相关资源
      最近更新 更多