-
Notifications
You must be signed in to change notification settings - Fork 3
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
Curate sort order of facet terms #233
Comments
I think it is defaulting to sort by an internal numerical id which is essentially a proxy for an insertion order, which isn't particularly meaningful. We could configure a preferred sort for each vocabulary table, e.g. lexicographic sort by term name. We could also consider augmenting a vocabulary table with a "rank" column to add an integer (or floating point!) ordinal value to use as the sort order. This would thn require a process for populating the rank:
I'm not sure where your idea of an assessment would fit into this. Is it my second option (something we can code into the catalog building process) or does it imply a new async workflow to allow an external process (or human) to run assessments of input data and supply an extra mapping of term-rank values that would be incorporated into the catalog build... I hope not the latter, as it sounds too cumbersome in practice. |
For completeness, I should add that we have a third concept in Chaise but it is only supported for scalar facets (which we aren't using much), and I think it is also inadvisable due to our scalability concerns... That is to dynamically compute a number-of-occurrences for each value and sort the facet choices to show the most frequently used values on top. This adapts on the fly to the currently matching result set. But, it makes more expensive queries against the service to do so, which will scale poorly with the table size. |
I'm wondering if it makes sense to use the slim terms as a structure around which to hang the non-slim terms. We could order the non-slim terms based on slim category first, then alphabetically. This would work now for uberon. |
One concern would be the DAG aspects, where a term maps to more than
one slim term. You'd have to pick one primary category under which the
fine-grained terms would sort.
|
Yes, forgot about those. |
No, the UI is querying an API to return a _set_ of terms connected to
the results...
|
What I meant by assessment was mostly an order I pick for some reason, that we update maybe quarterly, to specifically not try to have it dynamically reorder by query |
Sure, that would be covered by the same mechanism as the term ranks
assigned by ontologists.
The hard part would be getting a human workflow where you participate
in the ontology-wg to get a specific ranking assigned each quarter.
The easy part would be where I modify the catalog build process to
load these updated ranks, and deal with corner cases like a submission
providing terms not known by the central term file w/ assigned ranks.
|
Summary
We could allow the CFDE-CC to curate the presentation order of values in a facet by adding a rank value to the vocabulary tables.
For each affected vocabulary:
rank
(integer or float?) to the vocab tracking table in the registryThis would allow for an out-of-band process by a CFDE-CC member to curate the ranks in the registry, affecting the ordering behavior for new catalogs built after those registry updates.
Original issue text
This is for sure not a thing I am asking you to do for Q1
The text was updated successfully, but these errors were encountered: