class_docstr: Duck-typed version of PyG's GraphStore and FeatureStore.
class_docstr_tok: ["Duck-typed","version","of","PyG","'s","GraphStore","and","FeatureStore","."]
docstr: Synchronously gets an edge_index tensor from the materialized
  graph.
  
  Args:
      **attr(EdgeAttr): the edge attributes.
  
  Returns:
      EdgeTensorType: an edge_index tensor corresonding to the provided
      attributes, or None if there is no such tensor.
  
  Raises:
      KeyError: if the edge index corresponding to attr was not found.
docstr_tok: ["Synchronously","gets","an","edge_index","tensor","from","the","materialized","graph",".","Args",":","*","*","attr","(","EdgeAttr",")",":","the","edge","attributes",".","Returns",":","EdgeTensorType",":","an","edge_index","tensor","corresonding","to","the","provided","attributes",",","or","None","if","there","is","no","such","tensor",".","Raises",":","KeyError",":","if","the","edge","index","corresponding","to","attr","was","not","found","."]
code: def get_edge_index(
      self, *args, **kwargs
  ) -> Tuple[TensorType, TensorType]:
      """
      Synchronously gets an edge_index tensor from the materialized
      graph.
  
      Args:
          **attr(EdgeAttr): the edge attributes.
  
      Returns:
          EdgeTensorType: an edge_index tensor corresonding to the provided
          attributes, or None if there is no such tensor.
  
      Raises:
          KeyError: if the edge index corresponding to attr was not found.
      """
  
      edge_attr = self._edge_attr_cls.cast(*args, **kwargs)
      edge_attr.layout = EdgeLayout(edge_attr.layout)
      # Override is_sorted for CSC and CSR:
      # TODO treat is_sorted specially in this function, where is_sorted=True
      # returns an edge index sorted by column.
      edge_attr.is_sorted = edge_attr.is_sorted or (
          edge_attr.layout in [EdgeLayout.CSC, EdgeLayout.CSR]
      )
      edge_index = self._get_edge_index(edge_attr)
      if edge_index is None:
          raise KeyError(
              f"An edge corresponding to '{edge_attr}' was not "
              f"found"
          )
      return edge_index
  
imports: from typing import Optional, Tuple, Any, Union, List, Dict
  from enum import Enum, auto
  from dataclasses import dataclass
  from collections import defaultdict
  from itertools import chain
  from functools import cached_property
  import numpy
  import cupy
  import pandas
  import cudf
  import cugraph
  import warnings
  import dask.array
  import dask.dataframe
  import dask.distributed
  import dask_cudf
  from cugraph.utilities.utils import import_optional, MissingModule
label_desc: Use image node_id 19 for calling the CuGraphStore obj's underlying member method code with example usage: obj.get_edge_index() and returns: edge_index