When there is only 2 nodes in the set , it's relatively easy
MATCH (a:Article {id : "PMID:16009338"}),(c:Article {id: "PMID:21743479"})
WITH a, c
MATCH (a)-[r]-(d)-[r1]-(c)
RETURN d
But a similar attempt with 3 nodes didn't work
MATCH (a:Article {id : "PMID:16009338"}),(c:Article {id: "PMID:21743479"}), (p:Article {id: "PMID:21741956"})
WITH a, c, p
MATCH (a)-[r]-(d)-[r1]-(c)-[r2]-(d)-[r3]-(p)
RETURN d
It looks for a different relation between c and d. r1 and r2. If I change r2 to r1 it says : Cannot use the same relationship variable 'r1' for multiple patterns.
Even If I make this to work it will be impossible for set of 4+ nodes.
==== Attempt with 3 nodes from different types which executes fast enough
MATCH (a:Article {id : "AID:16009338"}),(v:Video {id: "VID:21743479"}), (s:Song {id: "SID:21741956"})
WITH a, v, s
MATCH (a)-[]-(d)
WITH d, v, s
MATCH (v)-[]-(d)
WITH d, s
MATCH (s)-[]-(d)
RETURN d