class_docstr: BlogCatalog dataset implementation.
  
  Args:
  
      symmetry_edges (bool): Whether to create symmetry edges.
  
      self_loop (bool):  Whether to contain self loop edges.
  
  Attributes:
  
      graph (pgl.Graph): The :code:`Graph` data object.
  
      num_groups (int): Number of classes.
  
      train_index (numpy.ndarray): The index for nodes in training set.
  
      test_index (numpy.ndarray): The index for nodes in validation set.
class_docstr_tok: ["BlogCatalog","dataset","implementation",".","Args",":","symmetry_edges","(","bool",")",":","Whether","to","create","symmetry","edges",".","self_loop","(","bool",")",":","Whether","to","contain","self","loop","edges",".","Attributes",":","graph","(","pgl.Graph",")",":","The",":","code",":","`","Graph","`","data","object",".","num_groups","(","int",")",":","Number","of","classes",".","train_index","(","numpy.ndarray",")",":","The","index","for","nodes","in","training","set",".","test_index","(","numpy.ndarray",")",":","The","index","for","nodes","in","validation","set","."]
code: def __init__(self, symmetry_edges=True, self_loop=False):
      self.path = get_default_data_dir("BlogCatalog")
      self.num_groups = 39
      self.symmetry_edges = symmetry_edges
      self.self_loop = self_loop
      self._load_data()
  
imports: import os
  import io
  import sys
  import numpy
  import pickle
  from pgl.graph import Graph
label_desc: Use image node_id 1 to create a new BlogCatalogDataset object from inherited base classes: object with example: obj = BlogCatalogDataset(symmetry_edges, _loop)