-
Notifications
You must be signed in to change notification settings - Fork 22
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
filtering terms for alphanumeric filter #79
Comments
@gsfk Your first option looks correct per spec ( IMO the correct way (but in conflict w/ the current description) would be
However: I suggest you use an ontology term for I/O and map. |
It would be great if I could map every key-value-operator tuple to an ontology term... that's possible for this simple case but prohibitive or outright impossible elsewhere. I would want / |
@gsfk You're right w/ the numerical etc. values; I don't think we have an expression for a response element here. This would actually make sense to define this key-value-operator concept in a filtering terms response - or provide the values as a range. But for "mappable" enums etc. -> again, mostly doable though I strongly suggest using CURIEs & resolving locally. Our example:
... filtering terms which we use e.g. for front end autocompletes in http://progenetix.org/search/: Sure, this could become unmanageable... But your example of having the options listed is just slightly more compact (and we have e.g. 800 active NCIT diagnostic terms - long list). |
@gsfk ... for numerical values you may want to define sensible classes (e.g.
... as reported filtering options - but those also exist as ontology classes, somewhere, so for the sake of cross-Beacon/aggregator compatibility should be provided as terms. See also the Phenopackets |
@gsfk I have tried to make the documentation a bit clearer for age etc. ... http://docs.genomebeacons.org/filters/#pseudo-numerical-value-queries |
I would suggest another approach :
as you are not actually doing any comparison here, just using a non-ontologized dictionary. @gsfk could you elaborate on why this construct doesn't fit you use case? |
Is the suggestion to use scope to pick out a phenopackets path? That's interesting, although doesn't fit the current spec. Fundamentally all I really wanted was better alignment between |
Tru dat (and on the radar). |
I use "alphanumeric" filters for key/operator/value queries... motivated partly by using phenopackets, where many fields (eg sex) expect values from an enum, not ontology terms.
From what I understand, the goal of the
/filtering_terms
endpoint is to make the data in a particular beacon discoverable, but it's not clear to me what to return in /filtering_terms for these, if in fact I can return anything at all, since the only fields in a filtering terms result are type / id / label.. it seems odd to pack values into the "label" field.For a simplified example, phenopacket sex is an enum of UNKNOWN_SEX, FEMALE, MALE, OTHER_SEX. So do I want four filtering terms? eg:
... and so on for MALE and OTHER_SEX. "label" doesn't really make sense in this context. I would prefer something along the lines of:
... but this seems far from the spec. Possibly the issue is that these kinds of metadata queries are not considered "terms" so weren't really expected here. But I'm puzzled why the spec for filters and the spec for filtering term results are so far apart.
The text was updated successfully, but these errors were encountered: