defp parse_relationships(map) do
builders = %{
"group_contains_group" => {GroupContainsGroup, :build, :group_contains_group},
"group_owns_product" => {GroupOwnsProduct, :build, :group_owns_product}
}
Map.keys(map)
|> Enum.reduce(%{}, fn key, acc ->
case Map.get(builders, key, nil) do
{module, method, name} ->
relationships = get_in(map, [key, "left"]) || []
children = Enum.map(relationships, fn %{"data" => %{"left" => left, "right" => right}} ->