class_docstr: The semi-supervised Wikipedia-based dataset from the
  `"Wiki-CS: A Wikipedia-Based Benchmark for Graph Neural Networks"
  <https://arxiv.org/abs/2007.02901>`_ paper, containing 11,701 nodes,
  216,123 edges, 10 classes and 20 different training splits.
  
  Args:
      root (str): Root directory where the dataset should be saved.
      transform (callable, optional): A function/transform that takes in an
          :obj:`torch_geometric.data.Data` object and returns a transformed
          version. The data object will be transformed before every access.
          (default: :obj:`None`)
      pre_transform (callable, optional): A function/transform that takes in
          an :obj:`torch_geometric.data.Data` object and returns a
          transformed version. The data object will be transformed before
          being saved to disk. (default: :obj:`None`)
      is_undirected (bool, optional): Whether the graph is undirected.
          (default: :obj:`True`)
      force_reload (bool, optional): Whether to re-process the dataset.
          (default: :obj:`False`)
code: def process(self) -> None:
      with open(self.raw_paths[0], "r") as f:
          data = json.load(f)
  
      x = torch.tensor(data["features"], dtype=torch.float)
      y = torch.tensor(data["labels"], dtype=torch.long)
  
      edges = [
          [(i, j) for j in js] for i, js in enumerate(data["links"])
      ]
      edges = list(chain(*edges))  # type: ignore
      edge_index = (
          torch.tensor(edges, dtype=torch.long).t().contiguous()
      )
      if self.is_undirected:
          edge_index = to_undirected(edge_index, num_nodes=x.size(0))
  
      train_mask = torch.tensor(data["train_masks"], dtype=torch.bool)
      train_mask = train_mask.t().contiguous()
  
      val_mask = torch.tensor(data["val_masks"], dtype=torch.bool)
      val_mask = val_mask.t().contiguous()
  
      test_mask = torch.tensor(data["test_mask"], dtype=torch.bool)
  
      stopping_mask = torch.tensor(
          data["stopping_masks"], dtype=torch.bool
      )
      stopping_mask = stopping_mask.t().contiguous()
  
      data = Data(
          x=x,
          y=y,
          edge_index=edge_index,
          train_mask=train_mask,
          val_mask=val_mask,
          test_mask=test_mask,
          stopping_mask=stopping_mask,
      )
  
      if self.pre_transform is not None:
          data = self.pre_transform(data)
  
      self.save([data], self.processed_paths[0])
  
file_path: pytorch_geometric/torch_geometric/datasets/wikics.py
imports: import json
  import warnings
  from itertools import chain
  from typing import Callable, List, Optional
  import torch
  from torch_geometric.data import Data, InMemoryDataset, download_url
  from torch_geometric.utils import to_undirected
label_desc: Use image node_id 5 for calling the WikiCS obj's underlying member method code with example usage: obj.process() without return types