def METHOD_NAME(self):
    """Load and process the data."""
    try:
        import torch
    except ImportError:
        raise ModuleNotFoundError(
            "This dataset requires PyTorch to be the backend."
        )
    # Process node features and labels.
    with open(f"{self.raw_path}/out1_node_feature_label.txt", "r") as f:
        data = [x.split("\t") for x in f.read().split("\n")[1:-1]]
        rows, cols = [], []
        labels = torch.empty(len(data), dtype=torch.long)
        for n_id, col, label in data:
            col = [int(x) for x in col.split(",")]
            rows += [int(n_id)] * len(col)
            cols += col
            labels[int(n_id)] = int(label)
        row, col = torch.tensor(rows), torch.tensor(cols)
        features = torch.zeros(len(data), int(col.max()) + 1)
        features[row, col] = 1.0
        self._num_classes = int(labels.max().item()) + 1
    # Process graph structure.
    with open(f"{self.raw_path}/out1_graph_edges.txt", "r") as f:
        data = f.read().split("\n")[1:-1]
        data = [[int(v) for v in r.split("\t")] for r in data]
    dst, src = torch.tensor(data, dtype=torch.long).t().contiguous()
    self._g = graph((src, dst), num_nodes=features.size(0))
    self._g.ndata["feat"] = features
    self._g.ndata["label"] = labels
    # Process 10 train/val/test node splits.
    train_masks, val_masks, test_masks = [], [], []
    for i in range(10):
        filepath = f"{self.raw_path}/{self.name}_split_0.6_0.2_{i}.npz"
        f = np.load(filepath)
        train_masks += [torch.from_numpy(f["train_mask"])]
        val_masks += [torch.from_numpy(f["val_mask"])]
        test_masks += [torch.from_numpy(f["test_mask"])]
    self._g.ndata["train_mask"] = torch.stack(train_masks, dim=1).bool()
    self._g.ndata["val_mask"] = torch.stack(val_masks, dim=1).bool()
    self._g.ndata["test_mask"] = torch.stack(test_masks, dim=1).bool()