code: def test_init_es_with_relationships(pd_df):
      second_df = pd.DataFrame(
          {"id": [0, 1, 2, 3], "first_table_id": [1, 2, 2, 1]}
      )
  
      pd_df.ww.init(name="first_table", index="id")
      second_df.ww.init(name="second_table", index="id")
  
      es = EntitySet(
          "es",
          dataframes={
              "first_table": (pd_df,),
              "second_table": (second_df,),
          },
          relationships=[
              ("first_table", "id", "second_table", "first_table_id")
          ],
      )
  
      assert len(es.relationships) == 1
  
      forward_dataframes = [
          name for name, _ in es.get_forward_dataframes("second_table")
      ]
      assert forward_dataframes[0] == "first_table"
  
      relationship = es.relationships[0]
      assert "foreign_key" in relationship.child_column.ww.semantic_tags
      assert "index" in relationship.parent_column.ww.semantic_tags
  
imports: from datetime import datetime
  import numpy
  import pandas
  import pytest
  from woodwork.exceptions import TypeConversionError
  from woodwork.logical_types import Boolean, Categorical, Datetime, Double, Integer, NaturalLanguage
  from featuretools.entityset.entityset import LTI_COLUMN_NAME, EntitySet
  from featuretools.tests.testing_utils import to_pandas
  from featuretools.utils.gen_utils import Library, import_or_none, is_instance
label_desc: Use image node_id 13 for calling a global function with example usage: test_init_es_with_relationships(pd_df) without return types