Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose join_on_key in the UI #2215

Closed
jfoster17 opened this issue Aug 3, 2021 · 2 comments
Closed

Expose join_on_key in the UI #2215

jfoster17 opened this issue Aug 3, 2021 · 2 comments

Comments

@jfoster17
Copy link
Member

Is your feature request related to a problem? Please describe it:
The very useful join_on_key functionality is currently only available through the terminal or scripting. Several past responses (#2050 #1917) suggest that there are plans to expose it through the UI, but I'm opening this as a specific issue for this feature.

Describe the solution you'd like:
join_on_key should be available through the UI to allow linking different datasets by a common key/ID. I propose that this should be as part of the existing linking UI and that join_on_key links should be visualized with a different connection type (dashed line rather than solid?).

Describe alternatives you've considered:
Alternatively, a separate window could enable the join_on_key functionality, since this is fundamentally a very different kind of linking operation.

@astrofrog
Copy link
Member

astrofrog commented Jul 28, 2022

Short-term, the easiest is probably to list it as another link type in the existing list, so maybe e.g. 'join' or something similar instead of 'identity', as it is similar to a database join. I do wonder if we couldn't generalize the linking class hierarchy to include these kinds of linking and avoid having to have a lot of hard-coding for join_on_key as is the case right now.

In the long term I think we want to re-think a bit the UI, and have yet more kinds of linking such as nearest-neighbour linking and so on. I think that we probably want a single visualization for all links with different line types for different conceptual kinds of linking. See also #798 which was to keep track of the more general refactor.

@jfoster17
Copy link
Member Author

Ok -- I'm working on a PR doing the short-term/easy thing of just adding another link type == "join" in the current UI with a different line type. The basic idea was to use a special dummy superclass of ComponentLink (called KeyLink) to represent the join_on_key links in the UI and enable deleting them.

I agree that generalizing the linking class hierarchy makes sense if we end up adding more linking types ala nearest-neighbor -- but generalizing for n=2 does not seem worthwhile right now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants