alteryx / alteryx/featuretools

Refactor Relationship Creation

未关闭
#1,397 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
refactor
主要语言
Python
星标
7.7k
派生
915
PR 合并指标
30 天内没有已合并 PR

描述

### Refactor Relationship Creation

PRs #1370 and #1277 are updating the way relationships are creating, by passing an entityset along with strings identifying the parent dataframe, parent column, child dataframe and child column in place of supplying two `Variable` objects.

The current implementation of `Relationship` stores a reference to the entityset to which it belongs. This was previously obtained through the `Variable` object, but without passing a `Variable`, the entityset had to be passed directly. Even after passing the entityset during `Relationship` object creation, it is still necessary to add the relationship to the EntitySet via `add_relationship` before it can be used. This flow is a bit strange, but is caused by EntitySet needing to store a list of relationships and a Relationship needing to know what EntitySet it belongs to.

We should investigate if we can refactor the way relationship works to clean this up. Some items to consider and look into:
- Can we update Relationship so that it no longer needs a reference to the EntitySet?
- After replacing `Entity` with a Woodwork DataFrame, should we pass a DataFrame object in place of the `parent_dataframe_id` and `child_dataframe_id` strings?

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。