code: def query_data_synthetic_reward(
      self,
      input_table_spec: TableSpec,
      discrete_action_names: Optional[List[str]] = None,
      sample_range: Optional[Tuple[float, float]] = None,
      max_seq_len: Optional[int] = 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 2 for calling the DataFetcher obj's underlying member method code with example usage: obj.query_data_synthetic_reward(input_table_spec, discrete_action_names, sample_range, max_seq_len) without return types