Releases: VirtualFlyBrain/VFBquery
v1.20.0 - TermsForPub expression refs + Reference type column
1.20.0 — TermsForPub: expression-cited terms + Reference type column
TermsForPub only followed has_reference edges, so a publication cited solely
via the overlaps/part_of relationship pub property (the AnatomyExpressedIn /
TransgeneExpressionHere model) returned nothing — e.g. FBrf0232433 (VT-GAL4
expression data) is cited on ~63k expression edges covering ~5.9k patterns but
has zero has_reference edges.
TermsForPub now lists terms from both mechanisms, deduplicated per term, and
adds a Reference type column: Reference for has_reference sources,
Expression for overlaps/part_of expression patterns (joined if a term is
cited both ways).
The minor bump from 1.19 rotates the major.minor solr_result_cache key.
Validated read-only against prod pdb: FBrf0232433 -> expression patterns (was
empty); FBrf0242477 -> Reference datasets + Expression GAL4 lines.
v1.19.0 - cache all handler-reachable queries
1.19.0 - cache all handler-reachable queries
Completes the persistent SOLR result-cache coverage: every query-result
function reachable from the HA API handlers is now cached, instead of only a
subset. Adds composite-key persistence for the cross-dataset
query_connectivity, and moves the cache to the dedicated query-cache Solr
(vfbquerycache.virtualflybrain.org:80) with a VFBQUERY_SOLR_URL override.
Coverage sweep: 12 uncached handler entry points -> 0. Cache-hit proofs show
46x-2790x cold->warm speed-ups across the newly-cached query types. The minor
bump rotates the major.minor cache key.
v1.18.0 - clusterExpression Function column
1.18.0 — clusterExpression Function column
The migrated "Genes expressed in " (clusterExpression) query did not
surface the gene Function column that v2 prod shows. Gene molecular-function
categories (e.g. Enzyme, Small_molecule_binding) are Neo4j labels on the Gene
node, so Function is now derived from labels(g), excluding the structural and
availability labels (Entity, Class, Individual, Gene, Feature and any has*
facet) and sorted. Added alongside the existing columns; the reverse
expressionCluster query is unchanged.
The minor bump from 1.17 rotates the major.minor solr_result_cache key,
flushing cached clusterExpression results so the Function column appears.
Validated read-only against prod pdb: 128up -> "Enzyme; Small_molecule_binding".
v1.17.0 - carousel up to 5 example images
1.17.0 — carousel up to 5 example images for class/dataset rows
AlignedDatasets, AllDatasets, AnatomyExpressedIn and TransgeneExpressionHere
each bound a single representative example image (LIMIT 1) into the Images
cell, so a class/dataset row showed only one thumbnail even when it has many
examples. These four queries aggregate one-to-many example individuals into a
single row, so they now collect up to 5 examples and emit them as a
' | '-joined [](ref) list -- the carousel shape the V2
imageMarkdownToVariableJson splits into a SlideshowImageComponent.
Per-individual queries (instances, templates, NBLAST similarity, connectivity
partners, dataset image listings, terms-for-pub) are one-image-per-row by
design and are unchanged.
The minor bump from 1.16 rotates the major.minor solr_result_cache key,
flushing the single-image cells cached under 1.16.0.
Validated read-only against prod pdb: AlignedDatasets=5, medulla=4, EP=2.
v1.16.0 - rotate cache version to flush stale entries
1.16.0 — rotate cache version to flush stale entries
Minor-version bump from 1.15.x. The solr_result_cache key is keyed on the
major.minor package version, so moving 1.15 -> 1.16 invalidates every cached
query result. This forces fresh output that includes the accumulated 1.15.x
query-output fixes:
- Dataset Reference column linked to publications (FBrf / DOI)
- Term labels for all link columns (template keeps symbol)
- Per-class Images carousel (all example images)
- /reports permalinks, Template anatomy fix, Type-column links, Gene names
No code change beyond the version.
v1.15.4 - Link dataset Reference column to publications
Link dataset Reference column to publications
AlignedDatasets and AllDatasets emitted the Reference column as a plain
"; "-joined list of publication labels, so the citations were not clickable.
The shared dataset enrichment Cypher now emits per-pub [label](short_form)
markdown, so each reference links to its publication (FBrf) -- matching how the
other queries surface publications.
Includes everything in 1.15.3 (term labels for all link columns), 1.15.2
(per-class Images carousel) and 1.15.1 (term-link permalinks, Template anatomy
fix, Type-column links).
v1.15.3 - Term labels for all link columns
Term labels for all link columns (template keeps symbol)
All term-link columns (name, type, dataset, license, source, gene, image/neuron
labels, thumbnail alt text) now use the term label rather than the symbol,
per the team decision that labels are the consistent default and many terms have
no symbol.
Why it matters: COALESCE(symbol, label) returned the empty string when a symbol
field was present-but-empty (COALESCE only catches null), which blanked the Gene
names in the "Genes expressed in" (clusterExpression) query, where gene symbols
are empty.
The Template column keeps the symbol (short and useful, e.g. JRC2018U) but only
when non-empty: CASE WHEN symbol[0] <> '' THEN symbol[0] ELSE label END.
Includes everything in 1.15.2 (per-class Images carousel) and 1.15.1
(term-link permalinks, Template anatomy fix, Type-column links).
v1.15.2 - All example images per class (Images carousel)
All example images per class (Images carousel)
Class queries (PartsOf, SubclassesOf, and the other owlery-backed class queries)
previously showed a single thumbnail per row because _owlery_query_to_results
used only the first example image. It now emits every example image as a
; -joined list of [](ref) items, so the V2 Images column
renders a carousel.
Pairs with uk.ac.vfb.geppetto v2.2.4.18: VFBqueryJsonProcessor.imageMarkdownToVariableJson
now builds a multi-image Variable from such list cells, and SlideshowImageComponent
already carousels when the image array has more than one element. Template_Space
and Imaging_Technique stay single (representative first image).
Includes everything in v1.15.1 (term links -> /reports permalinks, data host,
Template anatomy fix, Type-column links).
v1.15.1 - Template column anatomy fix + Type column links
Template column anatomy fix + Type column links
Template column
DatasetImages built the Template column (and the thumbnail "aligned to" text
and click ref) from the registration-target channel node (VFBc_…, _c
label, no symbol) instead of the template anatomy, so it showed the channel
label. It now uses the template anatomy node, which carries the symbol, so the
Template column shows COALESCE(symbol, label) of the anatomy (e.g. JRC2018U).
The thumbnail image URL still comes from the in_register_with edge between the
channel nodes (irw.thumbnail). All other queries already used the anatomy node.
Type column
The Type column is now a markdown link to the class in every query that emits it
(single-class and multi-class ; -joined collects), matching the Template
column, instead of plain text.
v1.15.0 - Standardise VFB term links to /reports permalinks
Standardise VFB term links to /reports permalinks
VFBquery now emits every VFB term link as the environment-independent permalink
https://virtualflybrain.org/reports/<id> instead of the hard-coded
https://v2.virtualflybrain.org/org.geppetto.frontend/geppetto?id=<id> app URL.
Why
The v2 app URL pinned query output to a single deployment. The /reports/<id>
permalink resolves to the term's report page outside the app and is recognised
as an internal link by the v2 query-results table (MarkdownLinkComponent parses
the short_form out of the path), so the same output works everywhere.
Changes
- One source of truth:
VFB_REPORT_BASEconstant plusvfb_report_url()and
vfb_term_link()helpers; all term-link construction routes through these. - The 9 Cypher
name-column queries interpolateVFB_REPORT_BASE. - Painted-domain and ROI-tree summaries build links via
vfb_term_link()
(also normalisedhttp://tohttps://). - Fixes the
AllDatasetsnamecolumn, which previously emitted the v2 app URL. - Data URLs:
get_secure_data_v2_url()now rewrites the www data host to
https://virtualflybrain.org/data/instead ofhttps://v2.virtualflybrain.org/data/,
matching the term-link host.
Unchanged
_short_form_to_iri()still returns the canonicalhttp://virtualflybrain.org/reports/<id>
term IRI (an ontology identifier, not a display link).
Compatibility
- Requires the geppetto-vfb
MarkdownLinkComponentthat resolves
/reports/<id>self-links (already ondevelopment).