code: def chain_graph():
      return (
          CGFull()
          .edges(
              pd.DataFrame(
                  {"s": ["a", "b", "c"], "d": ["b", "c", "d"]}
              ),
              "s",
              "d",
          )
          .nodes(pd.DataFrame({"n": ["a", "b", "c", "d"]}), "n")
      )
  
imports: from functools import lru_cache
  from typing import Dict, List
  import logging
  import pandas
  from common import NoAuthTestCase
  from graphistry.compute.ast import n, e_forward, e_reverse, e_undirected, is_in
  from graphistry.tests.test_compute import CGFull
  from graphistry.tests.test_compute_hops import hops_graph
  from graphistry.util import setup_logger
label_desc: Use image node_id 1 for calling a global function with example usage: chain_graph() and returns: CGFull