class_docstr: SpanRangeStrategy resolves artifacts based on "span" property.
  
  Note that this ResolverStrategy is experimental and is subject to change in
  terms of both interface and implementation.
  
  Don't construct SpanRangeStrategy directly, example usage:
  ```
    examples_resolver = Resolver(
        strategy_class=SpanRangeStrategy,
        config={'range_config': range_config},
        examples=Channel(type=Examples, producer_component_id=example_gen.id),
    ).with_id('span_resolver')
    examples_resolver.outputs['examples']
  ```
class_docstr_tok: ["SpanRangeStrategy","resolves","artifacts","based","on","``","span","''","property",".","Note","that","this","ResolverStrategy","is","experimental","and","is","subject","to","change","in","terms","of","both","interface","and","implementation",".","Do","n't","construct","SpanRangeStrategy","directly",",","example","usage",":","``","`","examples_resolver","=","Resolver","(","strategy_class=SpanRangeStrategy",",","config=","{","'range_config","'",":","range_config","}",",","examples=Channel","(","type=Examples",",","producer_component_id=example_gen.id",")",",",")",".with_id","(","'span_resolver","'",")","examples_resolver.outputs","[","'examples","'","]","``","`"]
docstr: Resolves artifacts from channels by querying MLMD.
  
  Args:
    store: An MLMD MetadataStore object.
    input_dict: The input_dict to resolve from.
  
  Returns:
    If `min_count` for every input is met, returns a
    Dict[Text, List[Artifact]]. Otherwise, return None.
  
  Raises:
    RuntimeError: if input_dict contains artifact without span property.
docstr_tok: ["Resolves","artifacts","from","channels","by","querying","MLMD",".","Args",":","store",":","An","MLMD","MetadataStore","object",".","input_dict",":","The","input_dict","to","resolve","from",".","Returns",":","If","`","min_count","`","for","every","input","is","met",",","returns","a","Dict","[","Text",",","List","[","Artifact","]","]",".","Otherwise",",","return","None",".","Raises",":","RuntimeError",":","if","input_dict","contains","artifact","without","span","property","."]
code: def resolve_artifacts(
      self,
      store: mlmd.MetadataStore,
      input_dict: Dict[str, List[types.Artifact]],
  ) -> Optional[Dict[str, List[types.Artifact]]]:
      """Resolves artifacts from channels by querying MLMD.
  
      Args:
        store: An MLMD MetadataStore object.
        input_dict: The input_dict to resolve from.
  
      Returns:
        If `min_count` for every input is met, returns a
        Dict[Text, List[Artifact]]. Otherwise, return None.
  
      Raises:
        RuntimeError: if input_dict contains artifact without span property.
      """
      resolved_dict = self._resolve(input_dict)
      all_min_count_met = all(
          bool(artifact_list)
          for artifact_list in resolved_dict.values()
      )
      return resolved_dict if all_min_count_met else None
  
file_path: tfx/tfx/dsl/input_resolution/strategies/span_range_strategy.py
imports: from typing import Dict, List, Optional, Any
  from tfx import types
  from tfx.dsl.components.common import resolver
  from tfx.utils import doc_controls
  import ml_metadata
label_desc: Use image node_id 3 for calling the SpanRangeStrategy obj's underlying member method code with example usage: obj.resolve_artifacts(store, input_dict) and returns: unknown