java .gml格式_NetworkX之输入文件GML「建议收藏」

java .gml格式_NetworkX之输入文件GML「建议收藏」之前看过networkx,igraph都说支持GML格式文件输入形式,直到今天想再Nepidemixload进文件进行分析,发现Nepidemix 对load输入文件要求是GML和gpickle,其余的不支持。所以查阅了下GML究竟是什么。GML(GraphModellingLanguage):Therearemanydifferentprogramsthatworkwith…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

之前看过networkx,igraph都说支持GML格式文件输入形式,直到今天想再Nepidemix load进文件进行分析,发现Nepidemix 对load输入文件要求是GML和gpickle,其余的不支持。所以查阅了下GML究竟是什么。

GML(Graph Modelling Language):

There are many different programs that work with graphs but almost all of them use their own file format. As a consequence, exchanging graphs between different programs is almost impossible. Simple tasks like exchange of data, externally reproducible results or a common benchmark suite are much harder than neccessary.

Therefore, we have developed a new file format for the Graphlet system: GML. GML supports attaching arbitrary information to graphs, nodes and edges, and is therefore able to emulate almost every other format.

原文链接 可以看出GML 是网络数据的一个统一标准,相当于度量衡的作用。GML支持关于图,点,边的任意数据的附加,因此可以仿真任意格式的数据。

networkx 提供了函数 可以读GML格式的数据 或者将你load进去的普通网络转换成GML格式的文件。链接请click

read_gml(path,[,encoding, relabel]) 读GML

write_gml(G,path)写网络G进GML文件

parse_gml(lines[,relael]) 从字符串中解析GML图

generate_gml(G) Generate a single entry of the graph G in GML format

举个栗子:

我的原始数据是这样,存在一个GML.txt里

a 1

a 2

b 1

c 2

d 3

b 3

这样构成了一个二分网络,我想提取出第二列网络,即投影。然后将第二列数据的投影网络,用GML数据保0ea2d77b7003a03a4598fa069bde8c5a.png

代码:

G = nx.Graph()

f = open(‘GML.txt’)

i = 0

for line in f:

i = i+1

print i

cell = line.split()

G.add_edge(cell[0],cell[1])

f.close()

NSet = nx.bipartite.sets(G)

User = nx.project(G,NSet[1])

nx.write_gml(User,’Project_Gml’)

结果:投影的GML文件是这样:

graph [

node [

id 0

label “1”

]

node [

id 1

label “3”

]

node [

id 2

label “2”

]

edge [

source 0

target 1

]

edge [

source 0

target 2

]

]

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/219286.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • ubuntu ettercap

    ubuntu ettercapettercapMITM中间人1,系统版本2,安装ettercap3,ettercap1,系统版本#cat/etc/issueUbuntu18.04.2LTS\n\l2,安装ettercap安装图形界面#apt-cachesearchettercap#apt-getinstall-yettercap-graphical3,ettercap…

  • matlab中imfilter函数是什么意思_matlab中bwlabel函数

    matlab中imfilter函数是什么意思_matlab中bwlabel函数Matlab函数imfill简介函数功能:该函数用于填充图像区域和“空洞”。语法格式:BW2=imfill(BW)这种格式将一张二值图像显示在屏幕上,允许用户使用鼠标在图像上点几个点,这几个点围成的区域即要填充的区域。要以这种交互方式操作,BW必须是一个二维的图像。用户可以通过按Backspace键或者Delete键来取消之前选择的区域;通过shift+鼠标左键单击或者鼠…

  • 依赖关系(“使用”关系)

    依赖关系(“使用”关系)依赖关系,可以理解成“USE-A”关系即使用关系。依赖关系是一种使用关系,如果A类中的某个方法使用了B类对象,那么就可以说A类依赖B类。A类方法的形式参数是B类类型。也就是说A类对象如果要使用方法

  • ViewStub总结

    ViewStub总结ViewStub是一个不可见的,大小为0的View,最佳用途就是实现View的延迟加载,避免资源浪费,在需要的时候才加载View;其特性如下:1、调用其inflate()的时候,其布局属性android:layout=”@layout/布局”将会替换这个ViewStub标签,这个时候我们使用findViewById将获取这个ViewStub对象为空,所以是可以被替换这一点的;2、infla

  • sublime phpcs

    sublime phpcs

  • 判断入射满射c语言编码,例4,判断下列函数是否是满射、单射、双射。.PDF

    判断入射满射c语言编码,例4,判断下列函数是否是满射、单射、双射。.PDF例4,判断下列函数是否是满射、单射、双射。4,判断下列函数是否是满射、单射、双射。(1)f:N→Z,F(n)=小于n的完全平方数的个数f(n)={<0、0>,<1,1>,<2,2>,<3,2>,<4,2>,<5、2>}:f(48)=7f(49)=7f(50)=8,不是单射,48,49的像均是7,不…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号