Saving/Retrieving igraph 图属性

Saving/Retrieving igraph Graph attributes

我正在尝试保存并检索具有图形属性的 igraph 图形。具体来说,我有一个双端图,我将源和汇存储为图属性,以便我可以在恒定时间内检索它们。请注意,顶点没有任何特定顺序(例如,第一个顶点是源,最后一个是汇)。

我搜索了文档,但看不到任何格式支持 storing/retrieving 图形属性。我错过了什么吗?

我的后备方案是使用布尔 source/sink 顶点属性,但这需要更多 space 并且需要线性时间来检索正确的顶点。

GraphML 支持可以附加到整个图形、单个顶点或单个边缘的数字和字符串属性(实际上,它支持更复杂的属性,但 igraph 的 GraphML 实现仅限于数字和字符串属性)。因此,您可以使用 Graph.write_graphml()Graph.Read_GraphML()。此外,您可以使用 Python 的 pickle 模块(即使用 pickle.dump()pickle.load())简单地保存 igraph 图,您将获得所有 graph/vertex/edge 属性返回(甚至是复杂的 Python 对象)——唯一的问题是 pickle 格式不能与 Python 世界之外的其他工具互操作。