如何在Neo4j中按关系匹配2个节点?

如何在Neo4j中按关系匹配2个节点?,neo4j,cypher,bioinformatics,cypher-3.1,Neo4j,Cypher,Bioinformatics,Cypher 3.1,给出一个(比如说4)MicroRNA列表和一个关系列表(pictar,rna22,…), 返回所有关系中所有MicroRNA共有的目标基因列表 我正试图用这种方式做,但它不起作用 MATCH (n:microRNA)-[r]->(n:Target) WHERE r.name='RNA22v2' OR r.name='PicTar' RETURN n 但它并没有给我任何结果。这可能是也可能不是实际问题,但不是 MATCH (n:microRNA)-[r]->(n:Target

给出一个(比如说4)MicroRNA列表和一个关系列表(pictar,rna22,…), 返回所有关系中所有MicroRNA共有的目标基因列表

我正试图用这种方式做,但它不起作用

MATCH (n:microRNA)-[r]->(n:Target) 
WHERE r.name='RNA22v2' 
OR r.name='PicTar' 
RETURN n 

但它并没有给我任何结果。

这可能是也可能不是实际问题,但不是

MATCH (n:microRNA)-[r]->(n:Target) 
WHERE r.name='RNA22v2' 
OR r.name='PicTar' 
RETURN n 
你不应该吗

MATCH (m:microRNA)-[r]->(t:Target) 
WHERE r.name='RNA22v2' 
OR r.name='PicTar' 
RETURN m,t
对两个不同的节点使用相同的变量n,可能会造成混淆

希望这有帮助,
Tom

您的密码有合法的语法,如果您的实际数据与之一致,则应该可以使用。检查您是否没有任何打字错误(拼写和大小写都很重要),并且您的数据模型与代码一致。例如,你的问题提到了“TargetGenes”,但是你的代码使用了标签“Target”…实际上节点是-microRNA和Target,但是代码仍然不起作用。我认为在查询中一切正常,但我有一个结果-(没有记录)。有什么想法吗?你能给你的问题添加几行样本数据吗?