-
Notifications
You must be signed in to change notification settings - Fork 1
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
Support negation of entire categories #109
Comments
We need to handle negative subqueries in the backend for this kind of feature to work. Right now, for a filter that involve a subquery like (i.e. select * from datasets where id in (select id from datasets join datasets.characteristics c where c.category = 'disease') Using a negative clause (i.e. select * from datasets where id in (select id from datasets join datasets.characteristics c where c.category <> 'disease') But that's not what is being expected: it will return datasets that have at least one characteristic that does not have the URI in question. Instead, we should do something like: select * from datasets where id not in (select id from datasets join datasets.characteristics c where c.category = 'disease') For the syntax, I'm thinking of something like:
|
I would start only with |
The backend now supports quantifiers with the syntax above. It's now possible to implement the requested feature. |
I'm not sure how we would present this to users, we've discussed handling negation better before, but it came up as a use case:
Find all experiments that don't involve a disease i.e. lack a disease annotation.
or
Find data sets that have control samples for a Disease factor
We usually hide annotations like "Reference role" from the browser and I think that is still a good call.
That kind of thing might make sense if you want "normal" samples / data sets, by some definition of "normal".
The text was updated successfully, but these errors were encountered: