code: def get_base_class(dataset_name, pipeline_name):
      if pipeline_name == "linkpred":
  
          class EdgeBase(DGLBaseModel):
              name: Literal[dataset_name]
              split_ratio: Optional[Tuple[float, float, float]] = None
              neg_ratio: Optional[int] = None
  
          return EdgeBase
      else:
  
          class NodeBase(DGLBaseModel):
              name: Literal[dataset_name]
              split_ratio: Optional[Tuple[float, float, float]] = None
  
          return NodeBase
  
imports: import enum
  import inspect
  import logging
  from abc import ABC, abstractmethod, abstractstaticmethod
  from pathlib import Path
  from typing import Callable, Dict, List, Optional, Tuple, Union
  import yaml
  from dgl.dataloading.negative_sampler import GlobalUniform, PerSourceUniform
  from numpydoc import docscrape
  from pydantic import create_model, create_model_from_typeddict, Field
  from typing_extensions import Literal
  from .base_model import DGLBaseModel
label_desc: Use image node_id 13 for calling the DataFactoryClass obj's underlying member method code with example usage: obj.get_base_class(dataset_name, pipeline_name) and returns: EdgeBase, NodeBase