Add OWLtoSOLRidWithSelfQueryProcessor for class-connectivity chains#104
Merged
Conversation
OWLERY's /subclasses returns strict subclasses, so leaf classes produce an empty list and any Solr chain that depends on the focus term's own per-class doc (downstream_connectivity_query, upstream_connectivity_query) silently returns zero rows. New processor prepends variable.getId() to the resulting Solr terms-filter list, LinkedHashSet for dedupe. Existing OWLtoSOLRidQueryProcessor is untouched, so chains where self-inclusion would be semantically wrong (SubclassesOf, PartsOf, neurons-in-region queries) keep current behaviour. Companion XMI change wiring this processor into the class-connectivity chains is in VirtualFlyBrain/geppetto-vfb.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
OWLERY's /subclasses returns strict subclasses; leaf classes produce an empty list and the existing chain falls through to
NO_RESULTS_PLACEHOLDER, so any Solr lookup on the focus term's own doc returns zero rows. Reproduced onFBbt_00100246(MBON11) — v3-cached has rows indownstream_connectivity_querybut the live chain never asks for the term's own doc.New processor
OWLtoSOLRidWithSelfQueryProcessor(bean idowleryToSolrIdWithSelfQueryProcessor) mirrorsOWLtoSOLRidQueryProcessorbut prependsvariable.getId()to the result list using aLinkedHashSetfor dedupe.Existing
OWLtoSOLRidQueryProcessoris untouched, so chains likeSubclassesOf/PartsOf/ "neurons-in-region" queries keep correct semantics.Companion XMI change:
VirtualFlyBrain/geppetto-vfbPR introducing the new chain step (fix/connectivity-class-include-self->development). Both must ship together.Test plan: rebuild geppetto-vfb v2-dev with this bundle, smoke MBON11 (leaf, expect rows) and FBbt_00003686 (Kenyon cell, 37 subclasses).