code: def example_graph(
      feature_size=None,
      node_label="default",
      edge_label="default",
      feature_name="feature",
      is_directed=False,
      edge_feature_size=None,
      edge_weights=False,
  ):
      elist = pd.DataFrame(
          [(1, 2), (2, 3), (1, 4), (4, 2)], columns=["source", "target"]
      )
      if edge_feature_size is not None:
          edge_features = repeated_features(
              -elist.index, edge_feature_size
          )
          elist = elist.join(pd.DataFrame(edge_features))
      if edge_weights:
          elist["weight"] = [0.1, 1.0, 20.0, 1.3]
  
      nodes = [1, 2, 3, 4]
      node_features = repeated_features(nodes, feature_size)
  
      nodes = IndexedArray(node_features, index=nodes)
  
      cls = StellarDiGraph if is_directed else StellarGraph
      return cls(nodes={node_label: nodes}, edges={edge_label: elist})
  
imports: from stellargraph import StellarGraph, StellarDiGraph, IndexedArray
  import networkx
  import pandas
  import numpy
  import random
  import pytest
label_desc: Use image node_id 5 for calling a global function with example usage: example_graph(feature_size, node_label, edge_label, feature_name, is_directed, edge_feature_size, edge_weights) and returns: cls