class_docstr: Class which stores vertex and edge properties that can be used to construct
  Graphs from individual property selections and used later to annotate graph
  algorithm results with corresponding properties.
class_docstr_tok: ["Class","which","stores","vertex","and","edge","properties","that","can","be","used","to","construct","Graphs","from","individual","property","selections","and","used","later","to","annotate","graph","algorithm","results","with","corresponding","properties","."]
docstr: Parameters
  ----------
  df : dataframe
      Containing edge data
  
  Returns
  -------
  bool
      True if df has one or more edges with the same source, destination pair
  
  Examples
  --------
  >>> import cugraph
  >>> import cudf
  >>> from cugraph.experimental import PropertyGraph
  >>> pG = PropertyGraph()
  >>> df = cudf.DataFrame(columns=["src", "dst", "edge_ids", "some_property"],
  ...                     data=[(99, 22, 3, "a"),
  ...                           (98, 34, 5, "b"),
  ...                           (98, 34, 7, "c"),
  ...                           (96, 88, 11, "d"),
  ...                          ])
  >>> pG.add_edge_data(df, type_name="etype",
  ...                  vertex_col_names=("src", "dst"),
  ...                  edge_id_col_name="edge_ids")
  >>> pG.is_multigraph(pG.get_edge_data())
  True
code: def is_multigraph(cls, df):
      """
      Parameters
      ----------
      df : dataframe
          Containing edge data
  
      Returns
      -------
      bool
          True if df has one or more edges with the same source, destination pair
  
      Examples
      --------
      >>> import cugraph
      >>> import cudf
      >>> from cugraph.experimental import PropertyGraph
      >>> pG = PropertyGraph()
      >>> df = cudf.DataFrame(columns=["src", "dst", "edge_ids", "some_property"],
      ...                     data=[(99, 22, 3, "a"),
      ...                           (98, 34, 5, "b"),
      ...                           (98, 34, 7, "c"),
      ...                           (96, 88, 11, "d"),
      ...                          ])
      >>> pG.add_edge_data(df, type_name="etype",
      ...                  vertex_col_names=("src", "dst"),
      ...                  edge_id_col_name="edge_ids")
      >>> pG.is_multigraph(pG.get_edge_data())
      True
      """
      return cls._has_duplicates(
          df, [cls.src_col_name, cls.dst_col_name]
      )
  
imports: import cudf
  import numpy
  import cugraph
  from cugraph.utilities.utils import import_optional, MissingModule, create_list_series_from_2d_ar
  from typing import Union
label_desc: Use image node_id 38 for calling the EXPERIMENTAL__PropertyGraph obj's underlying member method code with example usage: obj.is_multigraph(cls, df) and returns: cls