Commit 5d7ed02
committed
Owlery closure + ar.pub[0] walk for transgene + scRNAseq
Two fixes against the legacy XMI Cypher we inherited at migration
time, both verified by direct probe against pdb.
1. Owlery /subclasses closure (semantic correctness):
Audit of the pre-migration XMI (commit 998cc28d9^) showed 12
anatomy-rooted CompoundRefQueries whose first chain step was
dataSources.1 (Owlery /subclasses). Nine are already routed
through Owlery via _owlery_query_to_results
(NeuronsPartHere, NeuronsSynaptic, NeuronsPresynapticHere,
NeuronsPostsynapticHere, TractsNervesInnervatingHere,
ComponentsOf, LineageClonesIn, PartsOf,
NeuronClassesFasciculatingHere) and SubclassesOf IS the closure
itself. Two skipped Owlery during the migration:
get_transgene_expression_here — raw Cypher with direct
INSTANCEOF only. Now resolves the subclass closure via
Owlery /subclasses first (input class always included so
leaves still match), then filters with `anat.short_form IN
$closure`.
get_anatomy_scrnaseq — v1.13.5 added a Cypher SUBCLASSOF*0..
walk which works for primitive class hierarchies but misses
defined-class / equivalentTo inferences. Replaced with
Owlery for consistency with get_instances (v1.12.8) and the
other nine.
Both fall back to the input class alone if Owlery is unreachable
— better to return the leaf result than to fail outright. Same
defensive pattern as get_instances.
2. Pubs walk fix in get_transgene_expression_here (the user-visible
bug behind the empty Reference column on v2-dev):
Legacy XMI dataSources[0]/@queries.7 reads pub identifiers from
`ar.pub[0]` — an array PROPERTY on the overlaps/part_of
RELATIONSHIP — then resolves labels via
OPTIONAL MATCH (pub:pub { short_form: p })
Our v1.10.x rewrite traversed a separate `:has_reference|pub`
EDGE from the Individual, which doesn't exist in the current
Neo4j build. Every row's pubs column came back empty.
Verified locally on pacemaker neuron (FBbt_00006048): the
patched walk now returns
P{GAL4-per.BS}: FlyBase Curators 2017; Kaneko and Hall, 2000
P{GAL4-tim.E}: Helfrich-Forster et al., 2007
P{GSV6}GS10340: Richier et al., 2008
P{cry-GAL4.E}: FlyBase Curators 2017
matching v2 prod's Reference column screenshot exactly.
Note on Template_Space / Imaging_Technique: empty for the same
four pacemaker-neuron EPs is by-data, not a bug. Direct probe of
`(ep)<-[:has_source|SUBCLASSOF|INSTANCEOF*]-(:Individual)` on
VFBexp_FBtp0001321 returns zero hits — those classic-era GAL4
EPs have no aligned-image individuals in pdb. The same walk on
MB364B (VFBexp_FBtp0099464FBtp0117485) correctly resolves to
VFB_00101567 (JRC2018Unisex) / VFB_00017894 (JFRC2). The current
`:Template` label target also works (templates carry both
:Individual and :Template labels), so no walk change needed there.
Minor bump (1.13.x → 1.14.0) to invalidate stale
@with_solr_cache buckets that carry the broken empty-pubs
payloads from the previous walk. The geppetto-vfb XMI is
unchanged.
Reference:
geppetto-vfb@998cc28d9^:model/vfb.xmi
queryChain="//@dataSources.1/@queries.N ..." (Owlery first)
dataSources[0]/@queries.7,10,12 (Neo4j Cypher
with ar.pub[0])1 parent 372d6a1 commit 5d7ed02
2 files changed
Lines changed: 69 additions & 32 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4193 | 4193 | | |
4194 | 4194 | | |
4195 | 4195 | | |
4196 | | - | |
4197 | | - | |
| 4196 | + | |
| 4197 | + | |
4198 | 4198 | | |
4199 | 4199 | | |
4200 | | - | |
4201 | | - | |
4202 | | - | |
4203 | | - | |
4204 | | - | |
4205 | | - | |
| 4200 | + | |
| 4201 | + | |
| 4202 | + | |
| 4203 | + | |
| 4204 | + | |
| 4205 | + | |
| 4206 | + | |
| 4207 | + | |
| 4208 | + | |
| 4209 | + | |
| 4210 | + | |
| 4211 | + | |
| 4212 | + | |
| 4213 | + | |
4206 | 4214 | | |
4207 | | - | |
4208 | | - | |
4209 | | - | |
4210 | | - | |
| 4215 | + | |
| 4216 | + | |
4211 | 4217 | | |
4212 | 4218 | | |
4213 | 4219 | | |
| |||
4216 | 4222 | | |
4217 | 4223 | | |
4218 | 4224 | | |
4219 | | - | |
| 4225 | + | |
| 4226 | + | |
| 4227 | + | |
| 4228 | + | |
4220 | 4229 | | |
4221 | 4230 | | |
4222 | 4231 | | |
4223 | | - | |
4224 | | - | |
| 4232 | + | |
| 4233 | + | |
4225 | 4234 | | |
4226 | 4235 | | |
4227 | 4236 | | |
| |||
5365 | 5374 | | |
5366 | 5375 | | |
5367 | 5376 | | |
5368 | | - | |
5369 | | - | |
5370 | | - | |
5371 | | - | |
5372 | | - | |
5373 | | - | |
| 5377 | + | |
| 5378 | + | |
| 5379 | + | |
| 5380 | + | |
| 5381 | + | |
| 5382 | + | |
| 5383 | + | |
5374 | 5384 | | |
5375 | 5385 | | |
5376 | 5386 | | |
5377 | 5387 | | |
5378 | 5388 | | |
5379 | 5389 | | |
5380 | 5390 | | |
| 5391 | + | |
| 5392 | + | |
| 5393 | + | |
| 5394 | + | |
| 5395 | + | |
| 5396 | + | |
| 5397 | + | |
| 5398 | + | |
| 5399 | + | |
| 5400 | + | |
| 5401 | + | |
| 5402 | + | |
| 5403 | + | |
5381 | 5404 | | |
5382 | 5405 | | |
5383 | | - | |
| 5406 | + | |
5384 | 5407 | | |
5385 | 5408 | | |
5386 | 5409 | | |
| |||
5391 | 5414 | | |
5392 | 5415 | | |
5393 | 5416 | | |
| 5417 | + | |
| 5418 | + | |
| 5419 | + | |
| 5420 | + | |
| 5421 | + | |
| 5422 | + | |
| 5423 | + | |
| 5424 | + | |
5394 | 5425 | | |
5395 | 5426 | | |
5396 | 5427 | | |
5397 | | - | |
5398 | | - | |
| 5428 | + | |
| 5429 | + | |
5399 | 5430 | | |
5400 | 5431 | | |
5401 | 5432 | | |
5402 | | - | |
5403 | | - | |
5404 | | - | |
5405 | | - | |
5406 | | - | |
5407 | | - | |
5408 | | - | |
| 5433 | + | |
| 5434 | + | |
| 5435 | + | |
| 5436 | + | |
| 5437 | + | |
| 5438 | + | |
| 5439 | + | |
| 5440 | + | |
| 5441 | + | |
| 5442 | + | |
| 5443 | + | |
| 5444 | + | |
| 5445 | + | |
5409 | 5446 | | |
5410 | 5447 | | |
5411 | 5448 | | |
| |||
0 commit comments