You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向Stellargraph加载的Cora数据集添加新的边?

解答

Stellargraph 内置的StellarGraph图实例默认是不可变的,没有提供类似 NetworkX 中add_edges_from的原地加边方法,你可以通过「转NetworkX加边后再转回StellarGraph」的方式实现需求,完整示例如下:

import stellargraph as sg
import networkx as nx

# 加载Cora数据集,得到原始StellarGraph对象
dataset = sg.datasets.Cora()
G_original, node_labels = dataset.load()

# 将StellarGraph转成NetworkX格式
nx_g = G_original.to_networkx()

# 定义你要添加的额外边列表,注意节点ID要和原图的节点ID完全匹配
extra_edges = [
    (31336, 1061127),
    (1061127, 1106406)
]
# 如果边需要带属性,可使用 [(u, v, {"weight": 1, "type": "extra"})] 格式
nx_g.add_edges_from(extra_edges)

# 将加边后的NetworkX图转回StellarGraph格式
# node_features参数指定节点特征在NetworkX中的存储属性名,默认转存时用的是"feature"
G_new = sg.StellarGraph.from_networkx(nx_g, node_features="feature")

注意事项

  • 额外边的节点ID必须和原图的节点ID格式、取值完全一致,否则NetworkX会自动创建不存在的新节点,这类新节点没有预定义特征,后续图计算/训练时会报错
  • 如果添加的边包含自定义属性,转回StellarGraph时可通过edge_weight_attr、edge_type_attr参数指定对应属性名,完成属性的映射

内容的提问来源于stack exchange,提问作者csperson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 11:27:04