【问题标题】:How to extract all subgraph from neo4j如何从neo4j中提取所有子图
【发布时间】:2017-04-11 06:06:22
【问题描述】:

我正在使用 neo4j,我构建了一个包含很多子图的大图。例如,在下图中有 4 个子图。

那么如何通过密码查询获得 4 组节点?

我正在使用 neo4j 3.0

【问题讨论】:

    标签: neo4j py2neo


    【解决方案1】:

    您可以在 Neo4j 的 Graph 数据科学库 (GDS - https://github.com/neo4j/graph-data-science) 中使用强连通分量算法。 该文档位于 -https://neo4j.com/docs/graph-data-science/current/algorithms/strongly-connected-components/ 您可以使用节点投影或文档中提供的其他方法创建子图,顾名思义,该算法将通过使用强连接组件逻辑 (https://en.wikipedia.org/wiki/Strongly_connected_component) 在您的图中创建单独的社区,您将拥有节点按照你的意愿分开。

    【讨论】:

      【解决方案2】:

      如果您想显示所有节点以及所有关系,您可以使用快速简便的密码查询。假设没有适用于您的帐户的限制:

      MATCH (n) RETURN n
      

      【讨论】:

      • 不,我要返回 [node1, node2, node3], [node4, node5], [node6, node7, node8] ,每个列表代表一个子图
      • 试试这样的东西,不是很优化,但它可能会工作MATCH (a)-[:synonyms*]->(b) WITH collect(distinct(b)) as islands RETURN distinct(islands)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多