class_docstr: Represents a path in the group-by-item resolution DAG.
class_docstr_tok: ["Represents","a","path","in","the","group-by-item","resolution","DAG","."]
code: def ui_description(self) -> str:  # noqa: D
      if len(self.resolution_path_nodes) == 0:
          return "[Empty Path]"
      descriptions = tuple(
          f"[Resolve {path_node.ui_description}]"
          for path_node in self.resolution_path_nodes
      )
      output = descriptions[0]
  
      for i, description in enumerate(descriptions[1:]):
          output += "\n"
          output += indent("-> " + description, indent_level=i + 1)
  
      return output
  
file_path: metricflow/metricflow/query/group_by_item/resolution_path.py
imports: from __future__ import annotations
  from dataclasses import dataclass
  from typing import Tuple
  from typing_extensions import override
  from metricflow.mf_logging.formatting import indent
  from metricflow.query.group_by_item.path_prefixable import PathPrefixable
  from metricflow.query.group_by_item.resolution_dag.resolution_nodes.base_node import GroupByItemResolutionNode
label_desc: Use image node_id 3 for calling the MetricFlowQueryResolutionPath obj's underlying member method code with example usage: obj.ui_description() and returns: output, str