Skip to content

Releases: VirtualFlyBrain/VFBquery

v1.20.0 - TermsForPub expression refs + Reference type column

09 Jun 07:20

Choose a tag to compare

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

08 Jun 14:27
3a2bfc8

Choose a tag to compare

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

06 Jun 08:39

Choose a tag to compare

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

04 Jun 20:43

Choose a tag to compare

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 [![alt](url 'title')](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

04 Jun 18:45

Choose a tag to compare

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

04 Jun 16:08

Choose a tag to compare

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

04 Jun 14:34

Choose a tag to compare

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)

04 Jun 11:15

Choose a tag to compare

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 [![alt](url 'alt')](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

04 Jun 06:14

Choose a tag to compare

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

04 Jun 05:51

Choose a tag to compare

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_BASE constant plus vfb_report_url() and
    vfb_term_link() helpers; all term-link construction routes through these.
  • The 9 Cypher name-column queries interpolate VFB_REPORT_BASE.
  • Painted-domain and ROI-tree summaries build links via vfb_term_link()
    (also normalised http:// to https://).
  • Fixes the AllDatasets name column, 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 of https://v2.virtualflybrain.org/data/,
    matching the term-link host.

Unchanged

  • _short_form_to_iri() still returns the canonical http://virtualflybrain.org/reports/<id>
    term IRI (an ontology identifier, not a display link).

Compatibility

  • Requires the geppetto-vfb MarkdownLinkComponent that resolves
    /reports/<id> self-links (already on development).