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

]

]

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • myeclipse jdbc连接mysql数据库_怎样把navicat连接到eclipse

    myeclipse jdbc连接mysql数据库_怎样把navicat连接到eclipse解决Eclipse通过JDBC连接MySQL数据库遇到的问题。包括EstablishingSSLconnectionwithoutserver’sidentityverificationis…警告和Theservertimezonevalueisunrecognized警告

    2025年10月16日
    4
  • 常见外包公司汇总[通俗易懂]

    常见外包公司汇总[通俗易懂]1.博朗软件Bleum(上海)2.中软国际(北京)3.东软集团Neusoft(沈阳)4.博彦科技BeyondSoft(北京)5.中电金信(北京)6.法本信息(深圳)7.浙大网新Insigma(杭州)8.奥博杰天Objectiva(北京)9.浪潮Inspur(济南)10.软通动力iSoftStone(北京)11.福瑞博德Freeborders(深圳)12.信必优Symbio(北京)13.大展科技Achievo(深圳)14.恒生电子hundsun(杭州)15.日电卓越软

    2022年4月29日
    108
  • 某音信息案例_关于信息泄露的案例

    某音信息案例_关于信息泄露的案例抓包。抓到了一个share_url我访问过去看了下,https://www.iesdouyin.com/share/user/102064772608有数据的。那就拿数据。然后发现它的数字做了字符集映射。搞他。下载.ttf的文件,s3a.bytecdn.cn/ies/resource/falcon/douyin_falcon/static/font/iconfont_da2e2…

    2022年9月26日
    3
  • mysql 多行转一列_mysql行转列(多行转一列)

    mysql 多行转一列_mysql行转列(多行转一列)场景比如说一个订单对应多条数据,当状态(status)=1的时候,数量(num)=25,当状态(status)=2的时候,数量(num)=45,现在想用一条sql记录下不同状态对应的数量为多少,如下图所示:期待结果->sql语句示例SELECTtrades_id,MAX(CASEWHENapply_status=1THENpay_changeELSE0END)’nu…

    2022年5月24日
    46
  • 深度图像基础知识(一)

    深度图像基础知识(一)深度图像(depthimage)也被称为距离影像(rangeimage),是指将从图像采集器到场景中各点的距离(深度)作为像素值的图像,它直接反映了景物可见表面的几何形状。深度图像经过坐标转换可以计算为点云数据,有规则及必要信息的点云数据也可以反算为深度图像数据。深度数据流所提供的图像帧中,每一个像素点代表的是在深度感应器的视野中,该特定的(x,y)坐标处物体到离摄像头平面最近的

    2022年4月25日
    32
  • 网络爬虫必备知识之requests库

    1.requests库简介官方中文文档:http://docs.python-requests.org/zh_CN/latest/user/quickstart.htmlRequests是用P

    2021年12月29日
    100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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