【问题标题】:Represent node relationship using Python NetworkX使用 Python NetworkX 表示节点关系
【发布时间】:2011-08-06 18:44:26
【问题描述】:

我有大约 20 万个节点,它们在 XML 文件中的关系如下:

node_A - node_B 直接,node_A - node_G 反向,node_A - node_H 直接,node_A - node_X 反向,node_A - node_Y 直接

我需要使用 Python NetworkX 图数据结构对 XML 文件中的节点及其关系进行建模,并根据用户输入(例如 node_A up)找到节点之间的关系并输出节点如下:

输出:node_B - 向上, node_G - 向下, node_H - 向上, node_X - 向下, node_Y - 向上

这里的意思是应用程序应该根据节点关系对节点进行排序/过滤。例如,如果 node_A 与 node_B 的关系是直接的,而 node_A 与 node_X 的关系是反向的,则输出将是 node_B - up 和 node_X - down,如上面的输出示例所示。

请帮助我建议我应该使用哪种 NetworkX 图形数据结构。举个例子会很有帮助。

提前致谢 普拉卡什

【问题讨论】:

    标签: python networkx


    【解决方案1】:

    您需要一个解析器来执行此操作。看看pyparsing

    【讨论】:

    • 感谢您的建议。我通过了 pyparsing 模块,但它只是一个解析器,而不是一个图形数据结构,我正在寻找它来表示节点并找到问题中描述的节点之间的关系。
    • 你没有抓住重点。由于您在 xml 中有数据,并且只有您知道 xml 结构。您可以将 pyparse 它添加到您自己的用户定义对象中,然后使用 G.add_node()G.add_edge 方法将它们添加到 networkx 中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    • 2019-03-29
    • 2021-04-30
    • 1970-01-01
    • 2015-07-29
    • 2020-10-08
    相关资源
    最近更新 更多