# dgl.transforms¶

Transform for structures and features

 BaseTransform An abstract class for writing transforms. Compose Create a transform composed of multiple transforms in sequence. AddSelfLoop Add self-loops for each node in the graph and return a new graph. RemoveSelfLoop Remove self-loops for each node in the graph and return a new graph. AddReverse Add a reverse edge $$(i,j)$$ for each edge $$(j,i)$$ in the input graph and return a new graph. ToSimple Convert a graph to a simple graph without parallel edges and return a new graph. LineGraph Return the line graph of the input graph. KHopGraph Return the graph whose edges connect the $$k$$-hop neighbors of the original graph. AddMetaPaths Add new edges to an input graph based on given metapaths, as described in Heterogeneous Graph Attention Network. GCNNorm Apply symmetric adjacency normalization to an input graph and save the result edge weights, as described in Semi-Supervised Classification with Graph Convolutional Networks. PPR Apply personalized PageRank (PPR) to an input graph for diffusion, as introduced in The pagerank citation ranking: Bringing order to the web. HeatKernel Apply heat kernel to an input graph for diffusion, as introduced in Diffusion kernels on graphs and other discrete structures. GDC Apply graph diffusion convolution (GDC) to an input graph, as introduced in Diffusion Improves Graph Learning. NodeShuffle Randomly shuffle the nodes. DropNode Randomly drop nodes, as described in Graph Contrastive Learning with Augmentations. DropEdge Randomly drop edges, as described in DropEdge: Towards Deep Graph Convolutional Networks on Node Classification and Graph Contrastive Learning with Augmentations. AddEdge Randomly add edges, as described in Graph Contrastive Learning with Augmentations. RandomWalkPE Random Walk Positional Encoding, as introduced in Graph Neural Networks with Learnable Structural and Positional Representations LaplacianPE Laplacian Positional Encoding, as introduced in Benchmarking Graph Neural Networks FeatMask Randomly mask columns of the node and edge feature tensors, as described in Graph Contrastive Learning with Augmentations. RowFeatNormalizer Row-normalizes the features given in node_feat_names and edge_feat_names. SIGNDiffusion The diffusion operator from SIGN: Scalable Inception Graph Neural Networks ToLevi This function transforms the original graph to its heterogeneous Levi graph, by converting edges to intermediate nodes, only support homogeneous directed graph.