code: def query_data(
      self,
      input_table_spec: TableSpec,
      discrete_action: bool,
      actions: Optional[List[str]] = None,
      include_possible_actions=True,
      custom_reward_expression: Optional[str] = None,
      sample_range: Optional[Tuple[float, float]] = None,
      multi_steps: Optional[int] = None,
      gamma: Optional[float] = None,
  ) -> Dataset:
      raise NotImplementedError()
  
imports: import logging
  from typing import List, Optional, Tuple
  from reagent.workflow.types import Dataset, TableSpec
label_desc: Use image node_id 1 for calling the DataFetcher obj's underlying member method code with example usage: obj.query_data(input_table_spec, discrete_action, actions, include_possible_actions, custom_reward_expression, sample_range, multi_steps, gamma) without return types