code: def is_symmetric(dataset):
      # undirected graphs are symmetric
      if not dataset.metadata["is_directed"]:
          return True
      else:
          df = dataset.get_edgelist(download=True)
          df_a = df.sort_values("src")
  
          # create df with swapped src/dst columns
          df_b = None
          if "wgt" in df_a.columns:
              df_b = df_a[["dst", "src", "wgt"]]
          else:
              df_b = df_a[["dst", "src"]]
          df_b.rename(
              columns={"dst": "src", "src": "dst"}, inplace=True
          )
          # created a df by appending the two
          res = cudf.concat([df_a, df_b])
          # sort/unique
          res = res.drop_duplicates().sort_values("src")
  
          return len(df_a) == len(res)
  
imports: import os
  import gc
  from pathlib import Path
  from tempfile import TemporaryDirectory
  import pandas
  import pytest
  import cudf
  import dask_cudf
  from cugraph.structure import Graph
  from cugraph.testing import RAPIDS_DATASET_ROOT_DIR_PATH, ALL_DATASETS, WEIGHTED_DATASETS, SMALL_DATASETS, BENCHMARKING_DATASETS
  from cugraph import datasets
  from cugraph.dask.common.mg_utils import is_single_gpu
label_desc: Use image node_id 4 for calling a global function with example usage: is_symmetric(dataset) and returns: True, unknown