1

我正在尝试使用 GraphIO 在 Julia 中以 xml.gz 格式加载网络。代码如下:

using LightGraphs
using GraphIO
D = loadgraphs("test.xml.gz", GraphMLFormat())

我收到以下错误:

┌ Warning: `GraphIO.GraphMLFormat`  has been moved to submodule `GraphIO.GraphML` and needs `EzXML.jl` to be imported first. I.e. use
│     using EzXML
│     GraphIO.GraphML.GraphMLFormat()
│   caller = top-level scope at test.jl:3
└ @ Core ~/File/Code/test_graph/test.jl:3
ERROR: LoadError: UndefVarError: GraphML not defined

然后我尝试导入 EzXML 并执行以下操作:

using LightGraphs
using GraphIO
using EzXML
r = GraphIO.GraphML.GraphMLFormat()
D = loadgraphs("test.xml.gz", r)

我收到以下错误,我不知道如何解决

┌ Warning: `GraphIO.GraphMLFormat`  has been moved to submodule `GraphIO.GraphML` and needs `EzXML.jl` to be imported first. I.e. use
│     using EzXML
│     GraphIO.GraphML.GraphMLFormat()
│   caller = top-level scope at test.jl:5
└ @ Core ~/File/Code/test_graph/test.jl:5
ERROR: LoadError: MethodError: no method matching bytesavailable(::Inflate.InflateGzipStream)
Closest candidates are:
  bytesavailable(!Matched::Base.SecretBuffer) at secretbuffer.jl:153
  bytesavailable(!Matched::Base.Filesystem.File) at filesystem.jl:198
  bytesavailable(!Matched::Base.BufferStream) at stream.jl:1243
  ...
4

1 回答 1

1

解压缩似乎有问题 - 我不能告诉你为什么,但我也可以用其他压缩图重现。

考虑解压缩图形(例如在 linux 上使用 gzip):

gzip -c -d test.xml.gz  > test.xml

然后你应该能够加载它

D = loadgraph("test.xml", GraphIO.GraphML.GraphMLFormat())
于 2020-10-11T14:02:36.637 回答