class_docstr: Inference rule that checks for string typed columns with cardinality below the specified threshold.
  
  It will always produce DIMENSION.CATEGORICAL with HIGH confidence
class_docstr_tok: ["Inference","rule","that","checks","for","string","typed","columns","with","cardinality","below","the","specified","threshold",".","It","will","always","produce","DIMENSION.CATEGORICAL","with","HIGH","confidence"]
docstr: This is a bit of a hack for composing rules by invoking one directly here.
docstr_tok: ["This","is","a","bit","of","a","hack","for","composing","rules","by","invoking","one","directly","here","."]
code: def match_column(self, props: ColumnProperties) -> bool:
      """This is a bit of a hack for composing rules by invoking one directly here."""
      if props.type != InferenceColumnType.STRING:
          return False
      return super().match_column(props=props)
  
imports: from __future__ import annotations
  from typing import List
  from metricflow.inference.context.data_warehouse import ColumnProperties, DataWarehouseInferenceContext, InferenceColumnType
  from metricflow.inference.models import InferenceSignal, InferenceSignalConfidence, InferenceSignalType
  from metricflow.inference.rule.base import InferenceRule
  from metricflow.inference.rule.rules import ColumnMatcherRule, LowCardinalityRatioRule
label_desc: Use image node_id 1 for calling the CategoricalDimensionByStringTypeAndLowCardinalityRule obj's underlying member method code with example usage: obj.match_column(props) and returns: super, False