Match (n:Class { label: 'EB-PB 1 glomerulus-D/Vgall neuron'}),
(m:Class{ label:'EBw.AMP.s-Dga-s.b neuron'})
MATCH path=(n)-[:SUBCLASSOF*0..3]->(MRCA)<-[:SUBCLASSOF*0..3]-(m)
return collect(MRCA.label)
returning graph
WITH ['EBw.AMP.s-Dga-s.b neuron',
'EB-PB 1 glomerulus-D/Vgall neuron',
'EB-PB glomerulus 6-Vgall neuron',
'EB-PB 1 glomerulus-D/Vgall neuron',
'EB-PB 1 glomerulus-D/Vgall neuron'] as fu
MATCH (n:Class), (m:Class)
WHERE n.label in fu and m.label in fu
MATCH path=(n)-[:SUBCLASSOF*0..3]->(MRCA)<-[:SUBCLASSOF*0..3]-(m)
return distinct path
LCA would be better, but not sure possible
returning graph