-
Notifications
You must be signed in to change notification settings - Fork 0
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
Query modes #17
Comments
Right now, Normal mode is implemented and used for non-empty queries.
|
Closed
It is necessary to think through how query modes should handle inverted tags as well. |
3 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The app uses "tags selector" to specify tags, i.e. it outputs some set of tags.
But there are multiple ways to interpret a selection into subset of resources.
Of the following 1, 2 and 5 seem to be most natural and modes 3, 4 might be useful sometimes.
Normal mode (intersection)
Every resource which is marked with all of specified tags is displayed.
I.e. resources which contain extra tags are also displayed.
Focus mode
This mode is stricter: only those resources which are marked with all
of specified tags and none of non-specified tags are displayed.
I.e. resources which contain extra tags are filtered-out.
Extra mode
This mode is derived from 1 and 2: we apply Normal mode
and filter-out all resources from Focus mode.
I.e. resources which are marked with all of specified tags
and at least one of non-specified tags are displayed.
We can also, on the opposite, define Focus mode via Extra mode.
Inversion mode
This mode is inverted Normal mode: we take the whole
collection and filter resources which are marked with all of specified tags out.
I.e. we display only those resources which are not marked with any of specified tags.
Union mode
We display all resources marked with at least one of specified tags.
To illustrate these modes, let's take some collection of resources:
Examples of queries on this collection:
Empty query (beginning of user's interaction)
Normal mode outputs 1, 2, 3, 4, 5, 6, 7, 8
Focus mode outputs 8
Extra mode outputs 1, 2, 3, 4, 5, 6, 7
Inversion mode outputs nothing
Union mode outputs nothing
Single tag query, e.g. {a}
Normal mode outputs 1, 4, 6, 7
Focus mode outputs 1
Extra mode outputs 4, 6, 7
Inversion mode outputs 2, 3, 5, 8
Union mode outputs 1, 4, 6, 7
Two tags query, e.g. {a, b}
Normal mode outputs 4, 7
Focus mode outputs 4
Extra mode outputs 7
Inversion mode outputs 1, 2, 3, 5, 6, 8
Union mode outputs 1, 2, 4, 5, 6, 7
Three tags query, e.g. {a, b, c}
Normal mode outputs 7
Focus mode outputs 7
Extra mode outputs nothing
Inversion mode outputs 1, 2, 3, 4, 5, 6, 8
Union mode outputs 1, 2, 3, 4, 5, 6, 7
The text was updated successfully, but these errors were encountered: