当在一组只有2个节点,它是相对容易的一个节点匹配有直接链接到所有节点在一组
MATCH (a:Article {id : "PMID:16009338"}),(c:Article {id: "PMID:21743479"})
WITH a, c
MATCH (a)-[r]-(d)-[r1]-(c)
RETURN d
但随着3个节点类似的尝试没有工作
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
它寻找c和d之间的不同关系。 r1和r2。如果我将r2更改为r1,则表示:不能对多个模式使用相同的关系变量'r1'。
即使如果我做到这一点,它将不可能的4 +节点组。
==== 试图用不同类型的3个节点,其执行速度不够快
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
这实际上是在工作,但我们如果集合中的任何节点具有不同的类型,则不改变文章,但视频或歌曲。 – user732456
从查询的角度来看,最方便的方法是将另一个更通用的标签添加到像Content这样的节点上,并创建一个索引在那。 –