Releases: VirtualFlyBrain/VFBquery
Release list
v1.22.16
What's Changed
- Match legacy class->instance query inheritance in term_info by @Robbie1977 in #63
Full Changelog: v1.22.15...v1.22.16
v1.22.15
v1.22.14
v1.22.13
Add NeuronsCapableOf query: neurons capable of a neurotransmitter-secretion GO term, gated on GO_0007269 parent
Full Changelog: v1.22.12...v1.22.13
v1.22.12
term_info: restore relationship confidence and reference linkout
Full Changelog: v1.22.11...v1.22.12
v1.22.10
What's Changed
- Carousel multi-template query images + collapse multi-dataset rows by @Robbie1977 in #61
Query-result rows previously returned a single image thumbnail per row, and for image terms aligned to more than one template (e.g. DNc02 VFB_jrmc37oj — brain JRC2018U + VNC JRCVNC2018U) that single thumbnail was an arbitrary alignment that didn't follow the loaded template. Separately, get_instances (ListAllAvailableImages) multiplied rows for images sourced from several datasets, producing duplicate/triple rows for the same image.
This PR makes every affected query function emit all alignments' thumbnails as a ; -joined carousel (each item tagged template,imageId), and collapses the multi-dataset rows into one row per image. The frontend (geppetto-vfb slideshowImageComponent) then brings the loaded template's thumbnail to the front of the carousel.
Changes
get_instances / ListAllAvailableImages
The registration + has_source MATCH yields one row per (instance, template, dataset). Collapse to one row per instance via groupby('id'):
thumbnails join into a DISTINCT '; ' carousel (a template's thumbnail repeats across datasets, so dedupe);
datasets join into a distinct ', ' list (fixes the duplicate/triple rows for images sourced from several datasets, e.g. larval mushroom body output neuron).
get_neuron_neuron_connectivity, get_similar_neurons, get_individual_neuron_inputs
Previously used LIMIT 1 to a single alignment. Now use collect + apoc.text.join (with collect(DISTINCT …) where the INSTANCEOF type/technique cross-product would otherwise duplicate entries) so multi-template neurons return all alignments' thumbnails as a carousel. A representative template/technique is kept for the non-image columns.
Validation
All Cypher changes validated against pdb.virtualflybrain.org (read-only):
multi-template neurons return nThumbs == nTemplates (no duplicates, none dropped);
multi-dataset instances collapse to one row with every dataset listed (confirmed against a known 4-dataset instance).
Downstream / no Java change needed
The multi-valued dataset cell (ds1, ds2, …) passes straight through VFBqueryJsonProcessor.formatGenericCell and renders via MarkdownLinkComponent, whose label regex is global — so every dataset renders as its own clickable chip regardless of separator. The thumbnail carousel cell is handled by the existing separator-agnostic imageMarkdownToVariableJson path.
Scope
Backend (VFBquery) only. The frontend carousel-reorder-by-loaded-template lives in geppetto-client (slideshowImageComponent) / geppetto-vfb and is tracked separately. The larger per-template geometry and downloads work (lazy ImportType per template + frontend select/promote) is also separate and not in this PR.
Full Changelog: v1.22.9...v1.22.10
v1.22.9
What's Changed
- Attach ListAllAvailableImages only to anatomy Class terms by @Robbie1977 in #60
Full Changelog: v1.22.8...v1.22.9
v1.22.7
What's Changed
- Link author-year citations in description/comment; flag missing references by @Robbie1977 in #58
Full Changelog: v1.22.6...v1.22.7
v1.22.6
What's Changed
- Exempt internal pod network (10.42.0.0/16) from the scanner-probe block by @Robbie1977 in #57
Full Changelog: v1.22.5...v1.22.6
v1.22.5
What's Changed
- Honour force_refresh on the get_term_info endpoint by @Robbie1977 in #56
Full Changelog: v1.22.4...v1.22.5