code: def get_data_dependent_node_ids(node: base_node.BaseNode) -> Set[str]:
      """Get data dependent nodes based on the node's input channels."""
      result = set()
      for chan in node.inputs.values():
          result.update(chan.get_data_dependent_node_ids())
      return result
  
imports: from typing import cast, List, Optional, Sequence, Tuple, Type, Union, Dict, Any, Set
  from tfx import types
  from tfx.dsl.compiler import constants
  from tfx.dsl.components.base import base_node
  from tfx.dsl.components.common import importer
  from tfx.dsl.components.common import resolver
  from tfx.dsl.context_managers import dsl_context_registry
  from tfx.dsl.placeholder import placeholder
  from tfx.orchestration import data_types_utils
  from tfx.orchestration import pipeline
  from tfx.proto.orchestration import pipeline_pb2
  from tfx.types import channel
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 7 for calling a global function with example usage: get_data_dependent_node_ids(node) and returns: result