code: def mesh_datapipe() -> IterDataPipe:
      # Download ModelNet10 dataset from Princeton:
      url = "http://vision.princeton.edu/projects/2014/3DShapeNets"
      root_dir = osp.join(
          osp.dirname(osp.realpath(__file__)), "..", "data"
      )
      path = download_url(f"{url}/ModelNet10.zip", root_dir)
      root_dir = osp.join(root_dir, "ModelNet10")
      if not osp.exists(root_dir):
          extract_zip(path, root_dir)
  
      def is_train(path: str) -> bool:
          return "train" in path
  
      datapipe = FileLister([root_dir], masks="*.off", recursive=True)
      datapipe = datapipe.filter(is_train)
      datapipe = datapipe.read_mesh()
      datapipe = (
          datapipe.in_memory_cache()
      )  # Cache graph instances in-memory.
      datapipe = datapipe.sample_points(
          1024
      )  # Use PyG transforms from here.
      datapipe = datapipe.knn_graph(k=8)
  
      return datapipe
  
file_path: pytorch_geometric/examples/datapipe.py
imports: import argparse
  import os.path
  import time
  import torch
  from torchdata.datapipes.iter import FileLister, FileOpener, IterDataPipe
  from torch_geometric.data import Data, download_url, extract_zip
label_desc: Use image node_id 2 for calling a global function with example usage: mesh_datapipe() and returns: datapipe, unknown