class_docstr: Generates graph with certain number of nodes, edges
  and unique edges.
  
  Example
  -------
  >>> # Construct graph with 20 nodes, 10 edges and 4 unique edges types
  >>> generator = dummyGraphGenerator(20,10,4)
  >>> generator.get()
  {'train': array([['h', 'r', 'p'],
                   ['a', 't', 'd'],
                   ['a', 's', 'j'],
                   ['d', 'y', 'h'],
                   ['e', 'v', 'j'],
                   ['e', 'z', 'l'],
                   ['c', 'x', 'n']], dtype='<U32'),
   'valid': array([['l', 'x', 'j']], dtype='<U32'),
   'test':  array([['k', 's', 'c'],
                   ['i', 'u', 'o']], dtype='<U32')}
class_docstr_tok: ["Generates","graph","with","certain","number","of","nodes",",","edges","and","unique","edges",".","Example","--","--","--","-",">",">",">","#","Construct","graph","with","20","nodes",",","10","edges","and","4","unique","edges","types",">",">",">","generator","=","dummyGraphGenerator","(","20,10,4",")",">",">",">","generator.get","(",")","{","'train","'",":","array","(","[","[","'","h","'",",","'","r","'",",","'","p","'","]",",","[","'","a","'",",","'t","'",",","'d","'","]",",","[","'","a","'",",","'s","'",",","'","j","'","]",",","[","'d","'",",","'","y","'",",","'","h","'","]",",","[","'","e","'",",","'","v","'",",","'","j","'","]",",","[","'","e","'",",","'","z","'",",","'","l","'","]",",","[","'","c","'",",","'","x","'",",","'n","'","]","]",",","dtype=","'","<","U32","'",")",",","'valid","'",":","array","(","[","[","'","l","'",",","'","x","'",",","'","j","'","]","]",",","dtype=","'","<","U32","'",")",",","'test","'",":","array","(","[","[","'","k","'",",","'s","'",",","'","c","'","]",",","[","'","i","'",",","'","u","'",",","'","o","'","]","]",",","dtype=","'","<","U32","'",")","}"]
docstr: Randomly draws subsets of nodes and edges labels to construct graph
  
  Parameters
  ----------
  nodes: list of unique nodes
  edges_labels: list of unique edges labels
  seed: seed for repeatability purposes
  
  Returns
  -------
  data: numpy array of size (n_edges,3) with graph triples (s,p,o)
docstr_tok: ["Randomly","draws","subsets","of","nodes","and","edges","labels","to","construct","graph","Parameters","--","--","--","--","--","nodes",":","list","of","unique","nodes","edges_labels",":","list","of","unique","edges","labels","seed",":","seed","for","repeatability","purposes","Returns","--","--","--","-","data",":","numpy","array","of","size","(","n_edges,3",")","with","graph","triples","(","s",",","p",",","o",")"]
code: def generate_graph(self, nodes, edges_labels, seed=None):
      """Randomly draws subsets of nodes and edges labels to construct graph
  
      Parameters
      ----------
      nodes: list of unique nodes
      edges_labels: list of unique edges labels
      seed: seed for repeatability purposes
  
      Returns
      -------
      data: numpy array of size (n_edges,3) with graph triples (s,p,o)
      """
      assert seed >= 0
      data = np.zeros((self.n_edges, 3)).astype(str)
      if seed is not None:
          np.random.seed([seed * 2, seed + 200, seed + 10])
      data[:, 0] = np.random.choice(nodes, self.n_edges)
      data[:, 1] = np.random.choice(edges_labels, self.n_edges)
      data[:, 2] = np.random.choice(nodes, self.n_edges)
  
      return data
  
imports: import pytest
  from ampligraph.datasets.graph_partitioner import AbstractGraphPartitioner, RandomVerticesGraphPartitioner, RandomEdgesGraphPartitioner, SortedEdgesGraphPartitioner, NaiveGraphPartitioner, DoubleSortedEdgesGraphPartitioner, get_number_of_partitions, PARTITION_ALGO_REGISTRY, GraphDataLoader
  import numpy
  import pandas
  from scipy import special
  from itertools import permutations
  import os
label_desc: Use image node_id 3 for calling the dummyGraphGenerator obj's underlying member method code with example usage: obj.generate_graph(nodes, edges_labels, seed) and returns: data