Python 用于GraphSage算法的json格式的多个图形的networkx数据集

Python 用于GraphSage算法的json格式的多个图形的networkx数据集,python,networkx,Python,Networkx,我正在尝试以json格式创建多个networkx图形的数据集。我的目标是使用这个带有标签的数据集对我的网络进行监督培训。Networkx可以为单个图形转储json格式。但是,我不知道如何在同一个json文件中处理多个图形 GraphSage文档声称at的示例有多个图形 example_data子目录包含一个蛋白质-蛋白质相互作用数据的小示例,其中包括3个训练图+一个验证图和一个测试图 然而,当我将示例数据toy-ppi-G.json导入python时,我无法区分不同的图,或者只有一个图。来自js

我正在尝试以json格式创建多个networkx图形的数据集。我的目标是使用这个带有标签的数据集对我的网络进行监督培训。Networkx可以为单个图形转储json格式。但是,我不知道如何在同一个json文件中处理多个图形

GraphSage文档声称at的示例有多个图形

example_data子目录包含一个蛋白质-蛋白质相互作用数据的小示例,其中包括3个训练图+一个验证图和一个测试图

然而,当我将示例数据toy-ppi-G.json导入python时,我无法区分不同的图,或者只有一个图。来自json的数据具有以下键:

import json

with open('toy-ppi-G.json') as f:
    data = json.load(f)

data.keys()

# result:
dict_keys(['directed', 'graph', 'nodes', 'links', 'multigraph'])

我的目标是了解多个图形的json格式,这样我就可以创建自己的数据集并将其用于培训目的。

总体思路是,可以将多个图形表示为一个大图的不相交组件。这就是他们在GraphSAGE存储库中所做的,您也可以这样做

您可以将多个图形存储在同一个json文件中:只要两个不同的图形之间没有边,GNN也会“看到”它们是分开的

我在的文档中对此进行了解释,这里是邻接和节点特征矩阵的表示,其中颜色表示不同的图形:


因此,要回答您的问题,只需在图中按顺序枚举节点,并将它们添加到json文件中。保持相同的索引以添加边。

总体思路是,您可以将多个图形表示为一个大图的不相交部分。这就是他们在GraphSAGE存储库中所做的,您也可以这样做

您可以将多个图形存储在同一个json文件中:只要两个不同的图形之间没有边,GNN也会“看到”它们是分开的

我在的文档中对此进行了解释,这里是邻接和节点特征矩阵的表示,其中颜色表示不同的图形:

因此,要回答您的问题,只需在图中按顺序枚举节点,并将它们添加到json文件中。保持相同的索引以添加边