微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用LightGraphs在Julia中加载图形xml.gz时出错

如何解决使用LightGraphs在Julia中加载图形xml.gz时出错

我正在尝试使用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())

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。