MetaGraphs загрузить и сохранить - PullRequest
0 голосов
/ 07 мая 2018

Как я могу сохранить и загрузить объект MetaGraph из LightGraphs и MetaGraphs, чтобы, если я загружу метаграф, у меня остались метаданные? Прямо сейчас у меня есть метаграф mg, который я сохраняю, используя:

LightGraphs.savegraph("net.lg", mg)

Но пытаясь перезагрузить его:

reloaded = LightGraphs.loadgraph("net.lg")

дает мне следующее:

BoundsError: attempt to access 2-element Array{SubString{String},1} at index [3]

Есть ли в любом случае, чтобы прочитать в мета-графах в пакете MetaGaphs?

1 Ответ

0 голосов
/ 07 мая 2018

Мы поддерживаем постоянство MetaGraphs, используя формат JLD, предоставленный JLD2.jl:

using LightGraphs, MetaGraphs
julia> g = Graph(10,20)
{10, 20} undirected simple Int64 graph

julia> mg = MetaGraph(g)
{10, 20} undirected Int64 metagraph with Float64 weights defined by :weight (default weight 1.0)

julia> savegraph("foo.mg", mg)
1

julia> mg2 = loadgraph("foo.mg", MGFormat())
{10, 20} undirected Int64 metagraph with Float64 weights defined by :weight (default weight 1.0)

julia> mg2 == mg
true

Обратите внимание, что вам нужно указать MGFormat() в loadgraph, иначе LightGraphs не будет знать, какой тип графика вы пытаетесь загрузить.

...