GraphLab Create API 中文文档 - 数据工程 - graphlab.SGraph

class graphlab.SGraph(vertices=None, edges=None, vid_field='__id', src_field='__src_id', dst_field='__dst_id')


一个可拓展的图像数据结构。SGraph数据结构允许在角和边上有任意的词典类参数,以供灵活的边和角点查询函数,并可以和SFrame无缝转换。

有若干方法可以构建SGraph。最简单的方法是建立一个空的SGraph,然后向其中添加角点和边,使用的方法是 add_vertices() 和 add_edges() 。SGraph也可以从保存在SFrame中的角点和边的表来构建。这些SFrame中的非ID列被认为是角点和边的参数。

获取更多关于构建和使用SGraph的细节,请阅读User Guide

参数:

vertices : SFrame, 可选参数

顶点数据。必须包含一个vid_field指定名称的ID列。附加的其它列被认为是角点参数。

edges : SFrame, 可选参数

边数据。必须包含由src_field 和dst_field.指定的源和目的ID列。附加的其它列被认为是边参数。

vid_field : str, 可选参数

SFrame中顶点信息中角点ID的名称。

src_field : str, 可选参数

SFrame中边信息中源ID列的名称。

dst_field : str, 可选参数

SFrame中边信息中目标ID列的名称。


注意:

  • SGraph是不可变的。在下面的示例中, add_vertices() 和 add_edges() 命令都返回一个新的图像,旧图像收集在垃圾堆中。

示例:

>>> from graphlab import SGraph, Vertex, Edge
>>> g = SGraph()
>>> verts = [Vertex(0, attr={'breed': 'labrador'}),
             Vertex(1, attr={'breed': 'labrador'}),
             Vertex(2, attr={'breed': 'vizsla'})]
>>> g = g.add_vertices(verts)
>>> g = g.add_edges(Edge(1, 2))

方法

SGraph.add_edges(edges[, src_field, dst_field]) 在SGraph中新增边。
SGraph.add_vertices(vertices[, vid_field]) 在SGraph中新增顶点。
SGraph.copy() 返回SGraph的一个副本。
SGraph.get_edge_fields() 返回图像中边参数列表。
SGraph.get_edges(self[, src_ids, dst_ids, ...]) 返回所有边和它们的参数。
SGraph.get_fields() 返回区域中边和角点的参数。
SGraph.get_neighborhood(ids[, radius, ...]) 返回一个角点集相邻元素,不考虑边的方向。
SGraph.get_vertex_fields() 返回区域中SGraph的角点参数的列表。
SGraph.get_vertices(self[, ids, fields, format]) 返回所有角点及它们的参数。
SGraph.save(filename[, format]) 保存SGraph到磁盘。
SGraph.select_fields(fields) 作为一个新的图形返回选中区域的图形。
SGraph.show([vlabel, vlabel_hover, vcolor, ...]) 使用 canvas 查看图像。
SGraph.summary() 使用词典类返回角点和边的数目。
SGraph.triple_apply(triple_apply_fn, ...[, ...]) 并行地对每一个边和它对应的源和目的角点使用一个转换函数。

属性

SGraph.edges SGraph的SFrame格式边。
SGraph.vertices SGraph的SFrame格式角点。

猜你喜欢

转载自blog.csdn.net/u010657489/article/details/51132298