问题描述
我正在尝试使用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
...
解决方法
解压缩似乎出了点问题-我无法告诉您原因,但我也可以使用其他压缩图进行复制。
考虑解压缩图形(例如,在Linux上使用gzip):
gzip -c -d test.xml.gz > test.xml
那么您应该可以加载它
D = loadgraph("test.xml",GraphIO.GraphML.GraphMLFormat())