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

Data Model Clarification & Clear Deprecation of QueryComponent #226

Merged
merged 2 commits into from
Oct 24, 2021

Conversation

silvanheller
Copy link
Member

@silvanheller silvanheller commented Oct 22, 2021

This PR should remove confusion about the data model used by Cineast and its frontend (joint work with @Spiess)

Specifically, it does so by renaming QueryContainer to AbstractQueryTermContainer, with corresponding updates to all implementing classes. This should reduce confusion between frontend naming (where a QueryContainer corresponds to a StagedSimilarityQuery) and backend naming, where a QueryContainer corresponded to a QueryTerm.

Additionally, it removes Q_SIM from the Websocket API since it is superseded by Q_TEMPORAL and not used by any implementation anymore. Q_SIM used the legacy implementation which used QueryComponents, which are deprecated in Cineast.

Since this PR contains minor API changes, it bumps the version number to v3.3.0

…ding updates to all implementing classes. This should reduce confusion between frontend naming (where a QueryContainer corresponds to a StagedSimilarityQuery) and backend naming, where a QueryContainer corresponded to a QueryTerm.

Additionally, removing Q_SIM from the Websocket API since it is superseded by Q_TEMPORAL and not used by any implementation anymore.
@silvanheller silvanheller self-assigned this Oct 22, 2021
Copy link
Member

@lucaro lucaro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, only one comment: I'd call the AbstractQueryTermContainer just QueryTermContainer since, while it is an abstract class, it doesn't define any abstract methods.

@silvanheller
Copy link
Member Author

I understand the argument, @Spiess and I are after discussion both in favor of leaving the Abstract in since it is - well - an abstract class which can't be instantiated.

@silvanheller silvanheller merged commit 947a071 into master Oct 24, 2021
@lucaro
Copy link
Member

lucaro commented Oct 24, 2021

While it is implemented as an abstract class, I don't see why it would need to be one. What is the reasoning behind this? There is, as far as I can tell, nothing that would prevent you from actually instantiating it. It would compile and work correctly during runtime, just not containing any actual information. So it might just as well be a regular class, maybe with a protected constructor.

@silvanheller silvanheller deleted the data-model-refactoring branch October 24, 2021 19:10
silvanheller added a commit that referenced this pull request Jun 10, 2022
Data Model Clarification & Clear Deprecation of QueryComponent

Former-commit-id: 947a071
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants