图的操作
对图的操作主要有两类,即对节点邻居的采样操作和对节点和边的属性查询操作。
采样
对邻居的采样是最常用到的操作,当然,某些情况下我们需要获取节点的所有邻居(如gcn算法),然而考虑到性能,大多数情况下使用采样更为合适。包括获取所有邻居的操作在内,Euler对节点邻居的采样操作共有以下几种:
GetFullNeighbor: 获取节点所有符合指定的边类型的邻居
GetSortedFullNeighbor: 获取节点所有符合指定的边类型的邻居,并按照节点ID排序
GetTopKNeighbor: 获取节点所有符合指定的边类型的邻居中边权重最大的topk个节点
SampleNeighbor: 在节点所有符合指定的边类型的邻居中采样N个节点
除直接采样外,某些时候还需要对某个节点采样出指定长度的路径,即Randomwalk。此类操作在Euler中也有支持。
属性查询
属性查询操作的类型和前文提到的属性的类型一一对应,主要为一下几种:
GetSparseFeature: 获取Uint64类型的属性
GetDenseFeature: 获取Float类型的属性
GetBinaryFeature: 获取Binary类型的属性
属性查询操作主要在需要用到图卷积的算法中使用,如gcn,graphsage等。
网友评论